HTTP-based MCP server for Git PR analysis and summary generation
The server provides 6 git-focused tools with reasonable naming and parameter schemas. All tools have descriptions and input schemas are visible with proper type definitions. However, there are significant gaps: output schemas are not documented, error handling lacks guidance for LLMs, parameter descriptions are often generic, and no tool annotations (readOnlyHint, idempotentHint) are present despite all tools being read-only. The server follows basic patterns but misses production-grade refinements in response structure documentation and error recovery guidance.
Analyze commits between two git references and return detailed information about changes
Generate a comprehensive PR summary from commit analysis including description, changes, impact and recommendations
Get list of files changed between two git references with change statistics
Get detailed information about a specific commit including changes, diffs and metadata
Get diff for a specific file between two git references
List all branches in a git repository with optional filtering
Output schemas not documented. No specification of what fields each tool returns, their types, or structure. LLMs cannot plan downstream tool chains or extract required data without knowing response shape.
No tool annotations present. All 6 tools are read-only (READ_ONLY risk level documented in spec), but readOnlyHint annotations are not present in tool definitions. This prevents agents from understanding idempotency and side-effect safety.
Parameter descriptions lack actionable constraints. For example, 'max_count' and 'max_commits' parameters state a default and max but descriptions do not explain the impact of different values on performance or response size. Validation rules ('must be 1-100') are enforced in code but not documented in descriptions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 64 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Error handling provides no recovery guidance. Custom exceptions (InvalidBranchError, GitOperationError, etc.) are defined but no tool documentation explains what the agent should do when these errors occur. Should it retry? Call a different tool? Ask the user?
Parameter 'pattern' in list_branches lacks specificity. Description states 'Optional branch name pattern filter' but does not clarify whether it accepts glob patterns, regex, or simple substring matching. This ambiguity forces LLMs to guess.
No pagination support documented or visible in tools returning lists (list_branches, analyze_commits). Large repositories could return hundreds of branches or commits, exceeding context windows, but no limit parameter or cursor-based pagination is evident.