mcp-git
Provides a complete Git CLI wrapper, enabling AI assistants to perform all git operations such as status, log, diff, branch management, staging, commits, remote operations, and more.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-gitShow the git status of this repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🔧 MCP Git Server
A complete Git CLI wrapper for the Model Context Protocol (MCP). Provides 100% of git functionality through MCP tools for AI assistants like Claude.
✨ Features
🎯 Complete Git CLI wrapper - All git commands available as MCP tools
📝 Repository information - Status, logs, diffs, and commit details
🌿 Branch management - Create, delete, switch, and merge branches
📦 Staging & commits - Add files, commit changes, reset, and stash
🌐 Remote operations - Clone, fetch, pull, push, and remote management
🔒 Secure - No credential storage, uses your existing git configuration
Related MCP server: MCP Git Server
📋 Prerequisites
Git CLI must be installed and accessible in PATH
Node.js 16+ for running the MCP server
Existing git configuration (
git config --global user.nameanduser.email)
🚀 Quick Start
Using with npx (recommended)
npx @artik0din/mcp-gitInstall globally
npm install -g @artik0din/mcp-git
mcp-git🔧 MCP Client Setup
Add this server to your MCP client configuration:
Claude Desktop Configuration
{
"mcpServers": {
"git": {
"command": "npx",
"args": ["@artik0din/mcp-git"]
}
}
}Other MCP Clients
{
"name": "git",
"command": "npx",
"args": ["@artik0din/mcp-git"]
}📚 Available Tools
Repository Information
git_status - Show working tree status
path(string, required) - Repository pathshort(boolean) - Give output in short format
git_log - Show commit logs
path(string, required) - Repository pathlimit(number) - Number of commits (default: 10)oneline(boolean) - One line per commitbranch(string) - Branch nameauthor(string) - Filter by authorsince(string) - Show commits since dateuntil(string) - Show commits until dategrep(string) - Filter by commit message
git_diff - Show changes between commits/working tree
path(string, required) - Repository pathstaged(boolean) - Show staged changescommit(string) - Compare with commitfile(string) - Specific file to diffstat(boolean) - Show diffstat only
git_show - Show commit details and diff
path(string, required) - Repository pathcommit(string) - Commit SHA (default: HEAD)stat(boolean) - Show diffstat only
Branch Management
git_branch - List, create, or delete branches
path(string, required) - Repository pathaction(string) - Action: list, create, delete, renamename(string) - Branch namenew_name(string) - New name for renameall(boolean) - List all branches including remoteforce(boolean) - Force delete
git_checkout - Switch branches or restore files
path(string, required) - Repository pathbranch(string) - Branch to checkoutcreate(boolean) - Create new branch (-b)file(string) - File to restore
git_merge - Merge branches
path(string, required) - Repository pathbranch(string) - Branch to mergeno_ff(boolean) - Create merge commit even if fast-forward possiblesquash(boolean) - Squash commitsmessage(string) - Merge commit messageabort(boolean) - Abort current merge
Staging & Commits
git_add - Add file contents to staging area
path(string, required) - Repository pathfiles(array) - Files to add (use ['.'] for all)all(boolean) - Add all changes (-A)update(boolean) - Update tracked files only (-u)
git_commit - Record changes to repository
path(string, required) - Repository pathmessage(string, required) - Commit messageall(boolean) - Automatically stage modified files (-a)amend(boolean) - Amend previous commitallow_empty(boolean) - Allow empty commit
git_reset - Reset current HEAD to specified state
path(string, required) - Repository pathcommit(string) - Commit to reset to (default: HEAD)mode(string) - Reset mode: soft, mixed, hard (default: mixed)files(array) - Unstage specific files
git_stash - Stash changes in working directory
path(string, required) - Repository pathaction(string) - Action: push, pop, apply, list, drop, clearmessage(string) - Stash message (for push)index(number) - Stash index (for pop/apply/drop)include_untracked(boolean) - Include untracked files
Remote Operations
git_remote - Manage remote repositories
path(string, required) - Repository pathaction(string) - Action: list, add, remove, show, set-urlname(string) - Remote nameurl(string) - Remote URL
git_fetch - Download objects and refs from remote
path(string, required) - Repository pathremote(string) - Remote name (default: origin)all(boolean) - Fetch all remotesprune(boolean) - Prune deleted remote branchestags(boolean) - Fetch tags
git_pull - Fetch and integrate with remote branch
path(string, required) - Repository pathremote(string) - Remote name (default: origin)branch(string) - Branch namerebase(boolean) - Rebase instead of mergeff_only(boolean) - Fast-forward only
git_push - Update remote refs and objects
path(string, required) - Repository pathremote(string) - Remote name (default: origin)branch(string) - Branch nameforce(boolean) - Force pushforce_with_lease(boolean) - Force push with lease (safer)set_upstream(boolean) - Set upstream for branch (-u)tags(boolean) - Push tagsdelete(boolean) - Delete remote branch
git_clone - Clone a repository
url(string, required) - Repository URLdestination(string) - Destination directorybranch(string) - Branch to checkoutdepth(number) - Shallow clone depthrecursive(boolean) - Clone submodules recursively
🔒 Security
This server uses your existing git configuration and credentials. It does not store or manage any sensitive information:
Uses system-installed git CLI
Respects your existing SSH keys and credentials
No network requests outside of git operations
All operations performed in specified directories only
📝 License
MIT License - see LICENSE file for details.
🤝 Contributing
Contributions welcome! Please feel free to submit a Pull Request.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/globodai-group/mcp-git'
If you have feedback or need assistance with the MCP directory API, please join our Discord server