MCP Git Server

MCP Git Server

An MCP server that provides Git version control operations for Claude, enabling comprehensive repository management. It allows users to perform tasks such as staging files, committing changes, managing branches, and handling remote operations like pushing and pulling.

Category
访问服务器

README

MCP Git Server

A Model Context Protocol (MCP) server that provides Git version control operations for Claude.

Features

  • 📊 Repository Status: Check git status and working tree state
  • 🔍 View Changes: Show diffs for staged and unstaged changes
  • Stage Files: Add files to the staging area
  • 💾 Commit Changes: Create commits with messages
  • 🌿 Branch Operations: List, create, switch, and delete branches
  • 📜 View History: Show commit logs
  • ⬆️ Push Changes: Push commits to remote repositories
  • ⬇️ Pull Changes: Pull updates from remote repositories
  • 📦 Clone Repositories: Clone remote repositories
  • 🚀 Initialize Repos: Create new git repositories

Installation

  1. Prerequisites:

    • Node.js 18+ installed
    • Git installed and configured
  2. Install the MCP server:

    cd /Users/bard/Code/mcp-git
    npm install
    
  3. Add to Claude Desktop config: Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

    {
      "mcpServers": {
        "git": {
          "command": "node",
          "args": ["/Users/bard/Code/mcp-git/src/index.js"]
        }
      }
    }
    
  4. Restart Claude Desktop

Usage

Check Repository Status

git_status({ path: "/path/to/repo" })
git_status({ short: true })  // Short format

View Changes

git_diff()  // Unstaged changes
git_diff({ staged: true })  // Staged changes
git_diff({ file: "README.md" })  // Specific file

Stage Files

git_add({ files: ["README.md", "src/index.js"] })
git_add({ files: ["."] })  // Stage all changes

Commit Changes

git_commit({ message: "Add new feature" })

Branch Operations

git_branch()  // List branches
git_branch({ action: "create", name: "feature/new-feature" })
git_branch({ action: "switch", name: "main" })
git_branch({ action: "delete", name: "old-branch" })

View Commit History

git_log()  // Last 10 commits, one-line format
git_log({ limit: 20, oneline: false })  // Detailed format

Push and Pull

git_push()  // Push current branch to origin
git_push({ branch: "main", force: true })  // Force push specific branch

git_pull()  // Pull current branch from origin
git_pull({ remote: "upstream", branch: "main" })

Clone Repository

git_clone({ url: "https://github.com/user/repo.git" })
git_clone({ url: "git@github.com:user/repo.git", path: "my-repo" })

Initialize Repository

git_init({ path: "/path/to/new/repo" })
git_init({ bare: true })  // Create bare repository

Tool Reference

Tool Description Required Args
git_status Show repository status None
git_diff Show changes None
git_add Stage files files
git_commit Create commit message
git_branch Manage branches None
git_log Show commit history None
git_push Push to remote None
git_pull Pull from remote None
git_clone Clone repository url
git_init Initialize repository None

Error Handling

The server provides detailed error messages for common issues:

  • Repository not found
  • Uncommitted changes
  • Merge conflicts
  • Authentication failures
  • Network issues

Development

Testing the server:

# Run directly
node src/index.js

# Test with sample commands
echo '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}' | node src/index.js

Common Issues

  1. "Not a git repository": Ensure you're in a git repository or provide the path parameter
  2. Authentication errors: Configure git credentials or SSH keys
  3. Push/pull failures: Check network connection and remote repository access

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选