Git MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GIT_TOKEN | Yes | Personal Access Token (e.g., ghp_... for GitHub or glpat-... for GitLab) | |
| LOG_LEVEL | No | Log level: debug, info, warn, error | info |
| GIT_API_URL | No | API URL (auto-detected from provider). Use for GitHub Enterprise or Self-Hosted GitLab. | |
| GIT_PROVIDER | No | Provider type: gitlab or github | gitlab |
| GIT_AUTH_TYPE | No | Auth type: bearer or private-token | bearer |
| GIT_READ_ONLY | No | Disable write operations | false |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_file_contentsB | Get the contents of a file or directory from a repository |
| get_repository_treeC | List files and directories in a repository. Use recursive=true to get full tree. |
| push_filesA | Push multiple files to a repository in a single commit. Supports create, update, delete, and move actions. |
| create_branchA | Create a new branch in the repository. Use this before making code changes to work on a separate branch. |
| list_branchesB | List branches in a repository. Optionally search for specific branches. |
| list_commitsC | List commits in a repository. Filter by branch, path, date range, or author. |
| search_codeB | Search for code in a repository. Returns matching files and lines. |
| get_issueC | Get details of a specific issue in a project |
| list_issuesC | List issues in a project with optional filters |
| create_issueC | Create a new issue in a project |
| update_issueC | Update an existing issue in a project |
| get_pull_requestB | Get details of a pull request (merge request in GitLab) |
| get_pull_request_diffsC | Get the changes/diffs of a pull request to see what files were modified |
| list_pull_requestsC | List pull requests (merge requests in GitLab) with optional filters |
| create_pull_requestC | Create a new pull request (merge request in GitLab) |
| merge_pull_requestC | Merge a pull request (merge request in GitLab) |
| get_pipelineC | Get details of a specific CI/CD pipeline (workflow run in GitHub) |
| list_pipelinesB | List CI/CD pipelines (workflow runs in GitHub) with optional filters |
| list_pipeline_jobsC | List all jobs in a CI/CD pipeline to see results |
| get_job_logC | Get the log/trace output of a CI/CD job |
| create_commentC | Add a comment to an issue or pull request |
| list_commentsC | List all comments on an issue or pull request |
| get_meB | Get information about the currently authenticated user. |
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 23 tools
Most tools have distinct purposes targeting specific resources and actions, but some potential overlap exists between get_file_contents and get_repository_tree for file/directory listing, and between create_comment and list_comments for comment-related operations. Descriptions help clarify boundaries, but an agent might occasionally need to choose between similar tools.
All tool names follow a consistent verb_noun pattern with clear, descriptive names. The naming convention is uniform throughout the set, using snake_case consistently and predictable verb choices like create, get, list, update, merge, push, and search.
With 23 tools, the count is on the higher side for a Git server, bordering on heavy. While the tools cover a broad range of Git and CI/CD operations, some might be considered specialized or redundant, making the surface feel slightly bloated compared to a more minimal set.
The tool set provides comprehensive coverage for Git operations, including repository management, branching, issues, pull requests, CI/CD pipelines, and file operations. It supports full CRUD/lifecycle workflows for key resources like issues and pull requests, with no obvious gaps that would hinder agent functionality.