git-insights-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GIT_INSIGHTS_REPOS | Yes | Required. Comma-separated alias=path pairs configuring the repositories the server may read. | |
| GIT_INSIGHTS_TOKEN | No | Bearer token. Required when running with --transport streamable-http; not used for stdio. | |
| GIT_INSIGHTS_ISSUER_URL | No | Authorization server advertised to HTTP clients. Stand-in only; this server does not issue tokens. | http://localhost |
| GIT_INSIGHTS_GIT_TIMEOUT | No | Seconds one git call may run before it is killed. | 10 |
| GIT_INSIGHTS_ALLOWED_HOSTS | No | Accepted Host headers over HTTP, e.g. git-insights:8000 or myhost:*. | |
| GIT_INSIGHTS_MAX_OUTPUT_BYTES | No | Largest output one git call may produce. | 5000000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| repo_summaryA | Overview of a repository: checked-out branch, commit count, first and last commit dates, authors by commit count, and the file-extension distribution of HEAD. |
| hotspotsB | Files ranked by how often they changed in the period, then by churn (added + deleted lines). Frequently changed, high-churn files are where risk and maintenance cost concentrate. |
| author_activityA | Commits and added/deleted lines per author in the period (merge commits excluded), ranked by commits. |
| file_historyA | Most recent commits that changed a file, newest first, with the lines each commit added to and deleted from it. Works for deleted files too. |
| coupled_filesA | Files that change in the same commits as the given file, with how often (co_changes) and the share of the file's commits (ratio). High ratios reveal hidden coupling. |
| draft_changelogB | Commits in from_ref..to_ref grouped by conventional-commit type (feat, fix, docs, ...), with an 'other' section for subjects that do not follow the convention. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| onboarding | Get oriented in an unfamiliar repository. |
| release_notes | Draft release notes between two refs. |
| risk_review | Find the riskiest files and explain why. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| repos | Aliases of the repositories this server may read |
TDQS
Scored across 6 tools
Each tool targets a distinct analytical dimension: repo_summary (overview), hotspots (file churn ranking), author_activity (per-author stats), file_history (commits for one file), coupled_files (co-change relationships), and draft_changelog (commit categorization). Overlap is minimal; even where author commit counts appear in both repo_summary and author_activity, the scope and depth are clearly different.
All names use consistent snake_case and are highly readable. The slight inconsistency is that most are compound noun phrases (repo_summary, author_activity, file_history, coupled_files) while 'hotspots' is a single word and 'draft_changelog' uses a verb+noun pattern, but the overall style remains predictable.
Six tools is well-scoped for a git insights server, covering the core analytics without redundancy. Each tool earns its place and the count sits comfortably within the typical 3-15 range.
The surface covers repository overview, file risk, author activity, file history, coupling, and changelog generation, which addresses the main insights domain. Minor gaps exist: there is no tool to fetch full details of a single commit (e.g., message and diff) or to search commits by message, but these are workaroundable and not core to the stated purpose.