Git MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | Yes | Personal Access Token for GitHub API authentication |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get-git-diffB | Get all difference in files and show the differences line by line. It can focus on a specific file according to willingness |
| get_git_logB | List recent commits of the project |
| get_git_statusC | Get all changes in directory by calling git command (git status) |
| get_repo_structureB | Returns the directory and file structure of the git repository. Useful for architectural documentation. |
| read_local_file_chunkA | Reads a specific line range from a large file. Use startLine and endLine to fetch only the section you need, reducing memory usage and context size. |
| read_local_fileA | Reads the entire content of a specific small sized file. Crucial for understanding the full context of the code before writing documentation. |
| create_and_board_issueA | Creates a new issue in a GitHub repository and automatically assigns it to the project board with a specific priority. Use this when identifying bugs, technical debt, or documentation gaps that need tracking. |
| get_issue_commentsC | Retrieves the all comments of the given issue based on its comment_url datafield which is given in the parameter of the function |
| fetch_all_issuesB | Get all issues from the specified remote repo and list them |
| fetch_merged_prsB | Retrieves a list of Pull Requests from the specified GitHub repository. Crucial for generating automated release notes, writing changelogs, or summarizing the latest features and bug fixes added to the project. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Most tools target clearly distinct resources or actions: log, status, diff, structure, file reading, issues, and PRs. Slight overlap exists between get_git_diff and get_git_status, but descriptions clarify the summary vs line-by-line difference. read_local_file and read_local_file_chunk are intentionally paired for whole vs chunk access.
The majority follow a verb_noun snake_case pattern (get_git_log, read_local_file, fetch_all_issues), but get-git-diff breaks the pattern with hyphens. Verbs also vary between get, read, fetch, and create, reducing predictability slightly.
Ten tools is well-scoped for a Git-oriented server, covering repository inspection, file reading, issues, and PRs without unnecessary bloat. Each tool has a clear role, and the count feels appropriate for the described workflows.
The server covers common read-heavy operations well (log, status, diff, structure, files) and includes issue listing/creation and merged PR fetching. However, notable gaps exist for a full Git workflow: no single-issue retrieval, no issue update/close, no PR creation, and no branch or commit detail tools. Minor workarounds are possible for documentation tasks, but some dead ends occur.