Git MCP Server
An MCP server for performing Git operations.
Git MCP Server
A Model Context Protocol (MCP) server for Git operations that provides comprehensive Git functionality to MCP clients like Claude Desktop.
Features
- Context-aware: Automatically detects the current project based on working directory
- Comprehensive Git operations: status, branches, diffs, logs, file contents, commits, and more
- Multi-project support: Works seamlessly across different project directories
- Error handling: Proper MCP error responses
- Branch management: Create, switch, and manage branches
- Remote operations: Push, pull, and fetch from remote repositories
Installation
Option 1: Global Installation (Recommended)
npm install -g git-mcp-server
Option 2: Local Development Setup
-
Clone and install:
git clone https://github.com/yourusername/git-mcp-server.git cd git-mcp-server npm install -
Build the project:
npm run build
Configuration
Claude Desktop
Add this server to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"git": {
"command": "git-mcp-server",
"args": []
}
}
}
Other MCP Clients
For other MCP clients, use the server binary directly:
git-mcp-server
The server will automatically use the current working directory as the Git repository context.
Usage
Once configured, you can use Git operations through your MCP client. The server automatically detects the Git repository in your current working directory.
Example Commands
Ask your MCP client (like Claude) to perform Git operations:
- "What's the current git status?"
- "Show me the diff with the main branch"
- "Create a new branch called feature/new-feature"
- "Commit these changes with message 'Fix bug in parser'"
- "Push the current branch to origin"
Testing the Server
You can test the server manually from any Git repository:
cd /path/to/your/git/repo
git-mcp-server
Available Tools
Repository Information
git_status- Get current git statusgit_current_branch- Get current branch namegit_staged_changes- Get staged changesgit_working_directory- Get current working directory info
File and History Operations
git_diff- Show diff between branches/commitsgit_log- Get commit historygit_show_file- Show file contents at specific commit
Branch Operations
git_branches- List all branchesgit_checkout- Switch to different branch or create new branch
Staging and Commit Operations
git_add- Add files to staging areagit_commit- Create commits with message and files
Remote Operations
git_pull- Pull changes from remote repositorygit_fetch- Fetch changes from remote without merging
Repository Management
git_init- Initialize a new git repository
Prerequisites
- Node.js 18+
- npm or yarn
- Git installed on your system
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
Project Structure
git-mcp-server/
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── src/
│ └── index.ts # Main server implementation
├── build/
│ └── index.js # Compiled JavaScript (generated)
└── README.md # This file
Development
npm run build- Build the TypeScript codenpm run dev- Watch mode for developmentnpm start- Run the built server
संबंधित सर्वर
Bitbucket
Manage Bitbucket repositories, pull requests, and pipelines via the Bitbucket API for both Cloud and Server.
GitHub MCP Server
Interact with the GitHub API for file operations, repository management, and search.
GitLab
Manage GitLab projects, files, and repositories using the GitLab API.
GitHub MCP Server
Seamlessly integrate with GitHub APIs for development automation and interaction.
Radicle + GitHub
Interact with Radicle (peer-to-peer code collaboration) and GitHub through a unified interface.
SVN MCP Server
An MCP server for integrating with and managing Subversion (SVN) repositories, enabling AI agents to perform version control tasks.
GitHub Mapper
Provides tools for mapping and analyzing GitHub repositories using a Personal Access Token for authentication.
Custom GitLab
A custom GitLab server for interacting with repositories, issues, and merge requests. Requires a GitLab Personal Access Token.
GitMCP
Transforms any GitHub project into a documentation hub, enabling AI tools to access up-to-date documentation and code.
GitLab CLI MCP Server
Seamlessly integrate AI assistants with GitLab using the glab CLI tool.