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
Better GitLab MCP Server
An improved GitLab MCP server with bug fixes, providing access to GitLab projects, issues, and merge requests.
GitLab CLI MCP Server
Seamlessly integrate AI assistants with GitLab using the glab CLI tool.
GitHub Repos Manager MCP Server
Token-based GitHub automation management. No Docker, Flexible configuration, 80+ tools with direct API integration.
GitHub MCP Server
Seamlessly integrate with GitHub APIs for development automation and interaction.
GitLab MR MCP
An MCP server for interacting with GitLab merge requests and issues.
GitHub MCP Server
Integrates with GitHub APIs for advanced automation and interaction, supporting both remote and local deployments.
MCP PR Messages Generator
Generates Pull Request messages based on Git commits and changes.
Radicle + GitHub
Interact with Radicle (peer-to-peer code collaboration) and GitHub through a unified interface.
GitHub MCP Server
Interact with GitHub repositories, issues, pull requests, and more. Requires a GitHub personal access token.
GitHub GraphQL API
Query and interact with the GitHub GraphQL API. Requires a personal access token.