首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
servers2025-05-2616分享
github
用于Git仓库交互与自动化的MCP服务器,借助大语言模型实现对Git仓库的读取、搜索和操作。
By modelcontextprotocol
2025-05-2616
github
详情内容

mcp-server-git:一个面向Git仓库的MCP服务器

概述

这是一个用于Git仓库交互和自动化的模型上下文协议(Model Context Protocol)服务器。该服务器提供了一系列工具,通过大型语言模型来读取、搜索和操作Git仓库。

请注意,mcp-server-git目前仍处于早期开发阶段。随着我们持续开发和改进该服务器,其功能和可用工具可能会发生变化和扩展。

提供的工具

  1. git_status

    • 显示工作树状态
    • 输入:
      • repo_path(字符串):Git仓库路径
    • 返回:以文本形式输出当前工作目录状态
  2. git_diff_unstaged

    • 显示工作目录中尚未暂存的更改
    • 输入:
      • repo_path(字符串):Git仓库路径
    • 返回:未暂存更改的差异输出
  3. git_diff_staged

    • 显示已暂存待提交的更改
    • 输入:
      • repo_path(字符串):Git仓库路径
    • 返回:已暂存更改的差异输出
  4. git_diff

    • 显示分支或提交之间的差异
    • 输入:
      • repo_path(字符串):Git仓库路径
      • target(字符串):要比较的目标分支或提交
    • 返回:当前状态与目标比较的差异输出
  5. git_commit

    • 记录对仓库的更改
    • 输入:
      • repo_path(字符串):Git仓库路径
      • message(字符串):提交信息
    • 返回:包含新提交哈希的确认信息
  6. git_add

    • 将文件内容添加到暂存区
    • 输入:
      • repo_path(字符串):Git仓库路径
      • files(字符串数组):要暂存的文件路径数组
    • 返回:暂存文件的确认信息
  7. git_reset

    • 取消所有已暂存的更改
    • 输入:
      • repo_path(字符串):Git仓库路径
    • 返回:重置操作的确认信息
  8. git_log

    • 显示提交日志
    • 输入:
      • repo_path(字符串):Git仓库路径
      • max_count(数字,可选):要显示的最大提交数(默认为10)
    • 返回:包含哈希、作者、日期和信息的提交条目数组
  9. git_create_branch

    • 创建新分支
    • 输入:
      • repo_path(字符串):Git仓库路径
      • branch_name(字符串):新分支名称
      • start_point(字符串,可选):新分支的起始点
    • 返回:分支创建的确认信息
  10. git_checkout

    • 切换分支
    • 输入:
      • repo_path(字符串):Git仓库路径
      • branch_name(字符串):要切换的分支名称
    • 返回:分支切换的确认信息
  11. git_show

    • 显示提交内容
    • 输入:
      • repo_path(字符串):Git仓库路径
      • revision(字符串):要显示的修订版本(提交哈希、分支名、标签)
    • 返回:指定提交的内容
  12. git_init

    • 初始化Git仓库
    • 输入:
      • repo_path(字符串):要初始化git仓库的目录路径
    • 返回:仓库初始化的确认信息

安装

使用uv(推荐)

使用uv时不需要特定安装。我们将使用uvx直接运行mcp-server-git

使用PIP

或者您可以通过pip安装mcp-server-git

pip install mcp-server-git

安装后,您可以将其作为脚本运行:

python -m mcp_server_git

配置

与Claude Desktop一起使用

将以下内容添加到您的claude_desktop_config.json中:

使用uvx
"mcpServers": {
  "git": {
    "command": "uvx",
    "args": ["mcp-server-git", "--repository", "path/to/git/repo"]
  }
}
使用docker
  • 注意:将'/Users/username'替换为您希望该工具可以访问的路径
"mcpServers": {
  "git": {
    "command": "docker",
    "args": ["run", "--rm", "-i", "--mount", "type=bind,src=/Users/username,dst=/Users/username", "mcp/git"]
  }
}
使用pip安装
"mcpServers": {
  "git": {
    "command": "python",
    "args": ["-m", "mcp_server_git", "--repository", "path/to/git/repo"]
  }
}

与VS Code一起使用

要快速安装,请使用下面的其中一个一键安装按钮...

使用UV在VS Code中安装 使用UV在VS Code Insiders中安装

使用Docker在VS Code中安装 使用Docker在VS Code Insiders中安装

对于手动安装,请将以下JSON块添加到VS Code的用户设置(JSON)文件中。您可以通过按Ctrl + Shift + P并输入Preferences: Open Settings (JSON)来执行此操作。

或者,您可以将其添加到工作区中的.vscode/mcp.json文件中。这将允许您与他人共享配置。

注意,在.vscode/mcp.json文件中不需要mcp键。

{
  "mcp": {
    "servers": {
      "git": {
        "command": "uvx",
        "args": ["mcp-server-git"]
      }
    }
  }
}

对于Docker安装:

{
  "mcp": {
    "servers": {
      "git": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "--mount", "type=bind,src=${workspaceFolder},dst=/workspace",
          "mcp/git"
        ]
      }
    }
  }
}

Zed一起使用

将以下内容添加到您的Zed settings.json中:

使用uvx
"context_servers": [
  "mcp-server-git": {
    "command": {
      "path": "uvx",
      "args": ["mcp-server-git"]
    }
  }
],
使用pip安装
"context_servers": {
  "mcp-server-git": {
    "command": {
      "path": "python",
      "args": ["-m", "mcp_server_git"]
    }
  }
},

调试

您可以使用MCP检查器来调试服务器。对于uvx安装:

npx @modelcontextprotocol/inspector uvx mcp-server-git

或者,如果您将包安装在特定目录中或正在其上进行开发:

cd path/to/servers/src/git
npx @modelcontextprotocol/inspector uv run mcp-server-git

运行tail -n 20 -f ~/Library/Logs/Claude/mcp*.log将显示服务器的日志,这可能有助于您调试任何问题。

开发

如果您正在进行本地开发,有两种方法可以测试您的更改:

  1. 运行MCP检查器来测试您的更改。有关运行说明,请参阅调试

  2. 使用Claude桌面应用程序进行测试。将以下内容添加到您的claude_desktop_config.json中:

Docker

{
  "mcpServers": {
    "git": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop",
        "--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro",
        "--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt",
        "mcp/git"
      ]
    }
  }
}

UVX

{
"mcpServers": {
  "git": {
    "command": "uv",
    "args": [ 
      "--directory",
      "/<path to mcp-servers>/mcp-servers/src/git",
      "run",
      "mcp-server-git"
    ]
  }
}

构建

Docker构建:

cd src/git
docker build -t mcp/git .

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以自由使用、修改和分发该软件,但需遵守MIT许可证的条款和条件。有关详细信息,请参阅项目存储库中的LICENSE文件。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档