Make Gitea MCP profile activation and runtime identity state explicit #131
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
Problem
Different LLM hosts are behaving differently when asked to use Gitea MCP author/reviewer profiles. Some sessions have separate author/reviewer MCP namespaces, while others expose only one connected MCP server launched as
prgs-author. Prompts currently say "switch to prgs-reviewer," but the tool does not clearly tell the LLM whether profile switching is supported in the active runtime, whether the current profile is fixed at server launch, or whether a separate reviewer namespace is required.This causes repeated failed attempts and confusion (observed most recently in the PR #130 review flow, where reviewer actions had to fall back to a CLI path because the connected server was launched as
prgs-author). The tool should make runtime identity/profile state explicit and provide deterministic next steps.Requirements
1. Read-only runtime context tool
Proposed name:
gitea_get_runtime_contextIt must return:
2. Safe profile listing tool
Proposed name:
gitea_list_profilesIt must return redacted profile metadata:
GITEA_MCP_REVEAL_ENDPOINTS=1) is enabledIt must clearly distinguish "profile exists in config" from "profile is active in this connected MCP server."
3. Decide and document the official profile activation model
Preferred safe model — dual MCP namespaces for high-risk actions:
gitea-authorgitea-reviewerOptional dynamic model:
gitea_activate_profileonly if runtime switching is explicitly enabled in configwhoami/ profile verification after switching4. Improve review/merge failure messages
When review or merge eligibility fails, return:
5. Update docs and operator guide
Document:
Update the #128 operator guide (
mcp_get_control_plane_guide) and skill registry (profile-switchingskill) to reflect the decided model.6. Tests
Acceptance criteria
Non-goals / hard stops
Related