Git MCP Server
An MCP server for performing Git operations and integrating with GitHub.
Git MCP Server
A Model Context Protocol (MCP) server that provides enhanced Git operations through a standardized interface. This server integrates with the MCP ecosystem to provide Git functionality to AI assistants.
Features
- Core Git Operations: init, clone, status, add, commit, push, pull
- Branch Management: list, create, delete, checkout
- Tag Operations: list, create, delete
- Remote Management: list, add, remove
- Stash Operations: list, save, pop
- Bulk Actions: Execute multiple Git operations in sequence
- GitHub Integration: Built-in GitHub support via Personal Access Token
- Path Resolution: Smart path handling with optional default path configuration
- Error Handling: Comprehensive error handling with custom error types
- Repository Caching: Efficient repository state management
- Performance Monitoring: Built-in performance tracking
Installation
- Clone the repository:
git clone https://github.com/yourusername/git-mcp-v2.git
cd git-mcp-v2
- Install dependencies:
npm install
- Build the project:
npm run build
Configuration
Add to your MCP settings file:
{
"mcpServers": {
"git-v2": {
"command": "node",
"args": ["path/to/git-mcp-v2/build/index.js"],
"env": {
"GIT_DEFAULT_PATH": "/path/to/default/git/directory",
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-github-pat"
}
}
}
}
Environment Variables
GIT_DEFAULT_PATH: (Optional) Default path for Git operationsGITHUB_PERSONAL_ACCESS_TOKEN: (Optional) GitHub Personal Access Token for GitHub operations
Available Tools
Basic Operations
init: Initialize a new Git repositoryclone: Clone a repositorystatus: Get repository statusadd: Stage filescommit: Create a commitpush: Push commits to remotepull: Pull changes from remote
Branch Operations
branch_list: List all branchesbranch_create: Create a new branchbranch_delete: Delete a branchcheckout: Switch branches or restore working tree files
Tag Operations
tag_list: List tagstag_create: Create a tagtag_delete: Delete a tag
Remote Operations
remote_list: List remotesremote_add: Add a remoteremote_remove: Remove a remote
Stash Operations
stash_list: List stashesstash_save: Save changes to stashstash_pop: Apply and remove a stash
Bulk Operations
bulk_action: Execute multiple Git operations in sequence
Development
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Run linter
npm run lint
# Format code
npm run format
License
MIT
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Related Servers
GitHub Webhooks MCP Server
A simple MCP server that manages GitHub webhooks and lets MCP compatible LLMs interact with the GitHub API.
GitHub
Interact with the GitHub API for file operations, repository management, and search.
GitLab MR MCP
An MCP server for interacting with GitLab merge requests and issues.
Radicle + GitHub
Interact with Radicle (peer-to-peer code collaboration) and GitHub through a unified interface.
Git TS MCP
Execute Git commands safely through AI assistants like Claude.
Personal Bitbucket MCP Server
Bitbucket MCP Server Build on Top of Quarkus Framework
GitLab
Interact with GitLab repositories, issues, and merge requests through an MCP-compliant server.
Better GitLab MCP Server
An improved GitLab MCP server with bug fixes, providing access to GitLab projects, issues, and merge requests.
Forgejo MCP Server
Manage Forgejo repositories and execute commands through an MCP-compatible chat interface.
GitLab
Manage GitLab projects, files, and repositories using the GitLab API.