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:
@@ -201,6 +201,21 @@ func TestMCPRoundTrip(t *testing.T) {
|
||||
if !res.IsError {
|
||||
t.Fatalf("expected IsError acking with no pending switch")
|
||||
}
|
||||
|
||||
// --- git_commit via MCP (adapter wiring) --------------------------------
|
||||
if err := os.WriteFile(filepath.Join(repoPath, "extra.txt"), []byte("x\n"), 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
res, err = cs.CallTool(ctx, &mcpsdk.CallToolParams{
|
||||
Name: "git_commit",
|
||||
Arguments: map[string]any{"path": repoPath, "message": "add extra via mcp"},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("git_commit: %v", err)
|
||||
}
|
||||
if res.IsError {
|
||||
t.Fatalf("git_commit tool error: %+v", res.Content)
|
||||
}
|
||||
}
|
||||
|
||||
// decodeResult unmarshals the JSON text content of a tool result into v.
|
||||
|
||||
Reference in New Issue
Block a user