feat: add read-only gitea_whoami authenticated-user lookup (#11) #20
Reference in New Issue
Block a user
Delete Branch "feature/11-gitea-authenticated-user-lookup"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #11
Roadmap parent: #10
What
Adds a read-only MCP tool
gitea_whoamithat calls Gitea's authenticated-user endpoint (GET /api/v1/user) with the configured token and returns safe identity metadata only:username(login)display_name(full name, if available)user_idemail(only as already exposed by the Gitea API for the authenticated user)server(base URL)remoteWhy
This is the blocker discovered during PR #8 dogfooding: review/merge workflows could inspect Gitea state but could not prove which account the MCP server is authenticated as, so self-review/self-merge could not be safely detected.
gitea_whoamiprovides that identity so future eligibility checks (#14) can compare authenticated user vs PR author.Safety
loginin the response).GET /api/v1/user; no mutation.Scope
Three files, additions only (+96):
mcp_server.py— newgitea_whoamitooltests/test_mcp_server.py— 4 new testsREADME.md— one tool-table rowValidation
pytest tests/test_mcp_server.py→ 30 passed (incl. 4 new: identity mapping, secret-redaction assertion, fail-closed on missing login, unknown-remote rejection).ast.parsecompile check onmcp_server.py→ OK.authvariable passed into the API call..codex/and prior WIP left untracked/stashed, not included).Scoped to #11 only. Does not touch #12–#19. Do not merge — awaiting independent review.
Independent review for issue #11 is held due reviewer eligibility.
Validation performed:
master.jcwalker3, which matches the PR author, so I cannot approve this PR from this account.03e28c1.mcp_server.py,tests/test_mcp_server.py,README.md.git diff --check prgs/master...prgs/feature/11-gitea-authenticated-user-lookuppassed.pytest tests/test_mcp_server.pypassed: 30 passed.python3 -m py_compile mcp_server.py tests/test_mcp_server.pypassed.Manual review notes:
gitea_whoamiis read-only and usesGET /api/v1/user.Blocker: reviewer is ineligible from the current authenticated Gitea account (
jcwalker3). A different reviewer account is required to approve.