Slice 7: expose git commands as MCP tools
Add git_fetch/git_pull/git_push/git_commit/git_discard_changes MCP tools as thin adapters over the service (actor=claude), completing 1.7 symmetry so Claude can run the same commands as the right-click menu. git_discard_changes is flagged destructive (confirm first, 1.4). Extended the MCP test with a git_commit round-trip; synced AGENT.md 8.1 tool list. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -365,8 +365,9 @@ obeys the safety rules (§1.4).
|
||||
the tool handlers (§1.7). Expected tools (grow as features land):
|
||||
- Read: `list_repos`, `get_repo`, `get_active_project`, `get_activity`,
|
||||
`get_pending_switch`, `list_prs`.
|
||||
- Act: `git_status/checkout/commit/push/pull/create_branch`,
|
||||
`create_pr`, `merge_and_cleanup_pr`, `set_active_project`, `ack_switch`.
|
||||
- Act: `git_fetch`, `git_pull`, `git_push`, `git_commit`,
|
||||
`git_discard_changes`, `merge_and_cleanup_pr`, `set_active_project`,
|
||||
`ack_switch`. (More — `git_checkout`, `create_branch`, `create_pr` — as they land.)
|
||||
- **A tool's result type must be a struct, never a bare slice/map/scalar.** The
|
||||
go-sdk infers each tool's `outputSchema` from its handler's result type, and MCP
|
||||
structured output must be a JSON **object** (`type: "object"`). A handler that
|
||||
|
||||
Reference in New Issue
Block a user