A Git MCP server that provides tools for querying Git repository information including commit history, file changes, diffs, and blame information.
Four read-only Git tools with basic descriptions and partial schemas. Tool names follow verb_noun pattern (git-log, git-changed-files, git-file-diff, git-file-history), which is good. However, descriptions are minimal (34-72 chars, below the 194-char baseline), lacking context on WHEN to use each tool or dependencies between them. Input schemas are present with type declarations (number, string) and descriptions, but output schemas are completely undocumented, LLMs cannot predict what fields to expect from responses. Error handling returns text-wrapped errors but lacks recovery guidance or categorization. No parameter validation constraints (e.g., commits_back must be positive). All tools are read-only (safe), but this is not explicitly documented in descriptions.
List files changed between HEAD and a specified number of commits back.
Show the diff of a specific file between HEAD and N commits back.
Show the commit history for a specific file.
Display git commit history with commit hash, author, date, and message.
Output schemas completely undocumented. LLMs cannot predict response structure (fields, types, nesting). Code returns text-wrapped JSON but no schema is declared in tool definitions.
Descriptions are too brief (34 - 72 chars vs. 194-char baseline). They state WHAT but not WHEN to use or how tools relate. E.g., 'git-changed-files' doesn't explain when to call it vs. 'git-file-diff'.
No input validation constraints. 'commits_back' and 'limit' accept any number; no min/max bounds. Code defaults 'commits_back' to 10 if 0, but this is not documented in the parameter description.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
Error responses lack recovery guidance. Errors like 'Error opening repository' or 'reached root commit' do not tell the LLM what to do next or whether the error is retryable.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only and idempotent, but this is not declared in the tool metadata.