A Model Context Protocol (MCP) server that offers several commands to generate prompts based on the Git repository's content.
Server provides 4 read-only Git tools with basic structure. Tool naming follows verb_noun pattern (get_*, git-*) and is reasonably clear. Descriptions are minimal but present (10-50 chars, below the 194 baseline median). Input schemas are partially defined: two tools have no parameters, two have a single 'ancestor' string param with description. Output schemas are not documented in the visible code, only internal formatting functions exist. No error handling guidance for LLMs. Missing parameter constraints (enums, ranges, format specs). No tool annotations (readOnlyHint present via Risk field but not in MCP schema). The server is functional but falls short of production-grade tool design. Common issue: descriptions too brief to guide LLM selection (e.g., 'Get diff results...' does not explain WHEN to use this vs. git-unstaged-diff).
Get diff results of staged changes (between HEAD and index)
Get commit messages between a specified ancestor and HEAD
Get diff results between a specified ancestor commit and HEAD
Get diff results of unstaged changes (index vs working tree)
Tool descriptions are too brief (<50 chars) to adequately guide LLM selection. E.g., 'Get diff results between a specified ancestor commit and HEAD' does not explain when to use git-diff vs git-cached-diff vs git-unstaged-diff, or what the output structure is.
Output schemas are not documented. Code shows internal formatting functions (_format_diff_results_as_plain_text, _format_commit_history_as_json_obj) but tool definitions do not declare what fields agents should expect. LLMs cannot plan downstream operations without knowing the response structure.
git-cached-diff and git-unstaged-diff have zero input parameters but descriptions do not clarify that they operate on HEAD or the index without requiring arguments. Missing description context makes these tools harder to distinguish.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 37 | - | v1 |
No error handling guidance in tool descriptions. Code shows ValueError and GitCommandError can be raised (e.g., 'Error executing Git command: {str(e)}') but LLM is not told how to recover. Missing recovery hints like 'If the ancestor commit is not found, try listing recent commits with git-log.'
Tool annotations missing from MCP schema. Source code marks all tools as READ_ONLY risk, but MCP tool definitions do not include readOnlyHint annotation. Agents cannot auto-detect safety properties without this.