Git
Integrates with
Git, 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