返回市场
Git

Git

作者:modelcontextprotocol73187 星标更新:2025-11-23

项目介绍

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仓库路径
      • context_lines (数字,可选):显示上下文行数(默认:3)
    • 返回值:未暂存更改的差异输出
  3. git_diff_staged

    • 显示已暂存以供提交的更改
    • 输入参数:
      • repo_path (字符串):Git仓库路径
      • context_lines (数字,可选):显示上下文行数(默认:3)
    • 返回值:已暂存更改的差异输出
  4. git_diff

    • 显示分支或提交之间的差异
    • 输入参数:
      • repo_path (字符串):Git仓库路径
      • target (字符串):要比较的目标分支或提交
      • context_lines (数字,可选):显示上下文行数(默认:3)
    • 返回值:当前状态与目标状态的差异输出
  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)
      • start_timestamp (字符串,可选):用于过滤提交的起始时间戳。接受ISO 8601格式(例如,'2024-01-15T14:30:25'),相对日期(例如,'2周前','昨天')或绝对日期(例如,'2024-01-15','Jan 15 2024')
      • end_timestamp (字符串,可选):用于过滤提交的结束时间戳。接受ISO 8601格式(例如,'2024-01-15T14:30:25'),相对日期(例如,'2周前','昨天')或绝对日期(例如,'2024-01-15','Jan 15 2024')
    • 返回值:包含哈希值、作者、日期和消息的提交条目数组
  9. git_create_branch

    • 创建新的分支
    • 输入参数:
      • repo_path (字符串):Git仓库路径
      • branch_name (字符串):新分支的名称
      • base_branch (字符串,可选):创建新分支的基础分支(默认为当前分支)
    • 返回值:创建分支的确认信息
  10. git_checkout

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

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

    • 列出Git分支
    • 输入参数:
      • repo_path (字符串):Git仓库路径。
      • branch_type (字符串):列出本地分支('local')、远程分支('remote')还是所有分支('all')。
      • contains (字符串,可选):分支应包含的提交哈希值。如果未指定提交哈希值,则不传递此参数
      • not_contains (字符串,可选):分支不应包含的提交哈希值。如果未指定提交哈希值,则不传递此参数
    • 返回值:分支列表

安装

使用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中添加以下内容:

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

与VS Code一起使用

为了快速安装,请使用下面的一个一键安装按钮...

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

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

对于手动安装,您可以使用以下方法之一配置MCP服务器:

方法1:用户配置(推荐) 将配置添加到您的用户级别的MCP配置文件中。打开命令面板(Ctrl + Shift + P)并运行MCP: 打开用户配置。这将打开您的用户mcp.json文件,在其中您可以添加服务器配置。

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

更多关于VS Code中MCP配置的详细信息,请参阅官方VS Code 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设置.json中添加以下内容:

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

Zencoder一起使用

  1. 转到Zencoder菜单(...)
  2. 从下拉菜单中选择代理工具
  3. 点击添加自定义MCP
  4. 添加名称(例如git)和服务器配置,并确保点击安装按钮
<details> <summary>使用uvx</summary>
{
    "command": "uvx",
    "args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}
</details>

调试

您可以使用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文件。

Git - MCP 市场 - 星战科技