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
GitViz
Visualize Git history and commit logs with animations, making Git operations intuitive and easy to understand.
Better GitLab MCP Server
An improved GitLab MCP server with bug fixes and enhancements for accessing GitLab resources.
GitHub MCP Server
Integrate with GitHub APIs for automation and interaction.
Ares DevOps
Perform Git operations on Azure DevOps repositories using a Personal Access Token (PAT).
GitHub
Interact with the GitHub API for repository management, file operations, and search.
GitHub Explorer MCP
Explore GitHub repositories, including file content, directory structure, and other metadata.
GitLab MR MCP
An MCP server for interacting with GitLab merge requests and issues.
Gitee
Gitee API integration, repository, issue, and pull request management, and more.
Git
Tools to read, search, and manipulate Git repositories
GitHub Repository Manager
An MCP server that allows AI assistants to create and delete GitHub repositories. Requires a GITHUB_TOKEN for authentication.