feat(mcp): expand MCP toolset (read tools + git write tools with merge threshold)#45
Open
guoyongchang wants to merge 12 commits into
Open
feat(mcp): expand MCP toolset (read tools + git write tools with merge threshold)#45guoyongchang wants to merge 12 commits into
guoyongchang wants to merge 12 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Expands the MCP server toolset and fixes two P0 framework bugs.
CallTooldispatcher with an aggregated handler map; capability level is now read frommcp.json(defaultdetailsinstead ofcore).get_active_workspace,list_projects,get_branch_statussync_base,pull,push,commit_and_push,merge_to_test,merge_to_basemerge_to_test/merge_to_baseare guarded by an ahead-count threshold (evaluateMergeGate), with hardened input validation anderrorResulthandling.start_mcp_servernow preserves an existing user-setcapability_level(defaulting todetails) instead of overwriting it withcore.packages/**(MCP usesnode:test, not vitest).Trust boundary
The MCP HTTP server binds to
127.0.0.1:42819only and has no token auth — the trust boundary is loopback-only (any local process can call it). Documented inpackages/mcp/README.md.Verification
cargo check✓,cargo clippy -- -D warnings✓cd packages/mcp && npm test✓ (9 passed)npm run build✓,node scripts/check-i18n.mjs✓ (798 keys),npm run contracts✓ (in sync),npx vitest run✓ (74 passed)Known pre-existing bug (not introduced here)
git_switch_branchpayload shape does not match the backend handler — out of scope for this PR.Plan
docs/superpowers/plans/2026-06-20-mcp-expand-tools.md