MCP server for local Git repository intelligence — commit summaries, changelogs, blame analysis, branch health, and semantic diffs
Six well-named, read-only Git tools with clear descriptions (avg 156 chars, within baseline 194). All tools have Zod schemas with type definitions and parameter descriptions. However, output schemas are NOT documented, responses are JSON.stringify'd without explicit field definitions. Error handling is minimal (no recovery guidance, no categorization). No tool annotations (readOnlyHint present but not declared). Parameter descriptions are adequate but lack format constraints (e.g., 'range' accepts free-form strings like 'main..feature' without validation examples). No pagination support despite tools returning potentially large result sets (git_search, git_changelog). Missing per-tool output schema documentation blocks the LLM from planning downstream operations.
Analyze who wrote each line of a file, when, and in which commit. Get top contributors and ownership breakdown. Optionally limit to a line range.
Analyze all local branches: find stale branches, merged branches ready for cleanup, and branches that are ahead/behind. Helps keep your repo tidy.
Auto-generate a changelog from Git commits. Groups commits by type (feat, fix, docs, etc.) using conventional commit format. Specify a range or get the full log.
Get a summary of changes in a commit range: what files changed, who changed them, and a diff stat. Useful for understanding what happened between two points in history.
Search through Git history for commits matching a query. Searches both commit messages and code changes (pickaxe search). Find when a change was introduced or a bug was created.
Get a structured overview of a Git repository: current branch, recent commits, contributors, and repo stats. Works on any local Git repo.
Output schemas not documented. Tools return JSON.stringify'd objects without explicit field definitions. LLMs cannot plan downstream operations or extract specific fields reliably.
No pagination support. Tools like git_search (max_results=20) and git_changelog return potentially large result sets without limit/offset or cursor parameters. Large results risk context window exhaustion.
Minimal error handling. No recovery guidance (e.g., 'Directory does not exist' error does not suggest alternatives). Errors are not categorized as retryable vs. fatal. LLMs cannot determine next steps on failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Parameter format constraints missing. 'range' parameter (git_changes) accepts free-form strings but lacks validation examples or regex patterns. 'query' (git_search) has no length limits or character restrictions documented.
No tool annotations. Tools are read-only but lack readOnlyHint declarations. This prevents clients from optimizing caching or safety policies.