Git + MCP Protocol Implementation - AI-native Git workflow with Model Context Protocol integration
Three tools with basic descriptions and partial schemas. git-status has empty input schema ({}), git-branch uses Zod enum without full JSON Schema conversion, and git-log mixes Zod and raw JSON Schema. All descriptions are present but generic (10-50 chars), lacking context on WHEN to use each tool or what downstream operations they enable. No output schemas documented. No error recovery guidance. Parameter descriptions missing for git-log's 'limit' and 'format' fields in the actual schema object (only present in Zod definition, not in the registered inputSchema). Tool names follow verb_noun pattern (positive), but descriptions do not explain state changes, prerequisites, or composition with other tools.
List all Git branches or get current branch info
Get recent commit history with customizable options
Get the current status of the Git repository
git-status has empty input schema ({}). Tool is read-only and stateless, but schema should explicitly document this.
All three tool descriptions are under 50 characters and lack context. Current descriptions are generic placeholders.
No output schemas documented. LLMs cannot plan downstream calls or extract fields without knowing the response structure. git-log returns JSON with 'hash' and 'message' fields, but this is not declared in the tool definition.
Error handling returns raw error.message without recovery guidance. Per pattern:recovery-guide, errors should suggest next steps: 'Repository not found. Ensure you are in a Git directory.' or 'Try git-status first to verify repository state.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
git-branch and git-log parameter descriptions exist in Zod definitions but are not reflected in the registered inputSchema objects passed to server.registerTool(). The actual schema seen by the MCP client lacks parameter descriptions.