Token导航 LogoToken导航TokenDH.com
MCP Git Server logo
开发工具stdio官方级别未说明来源级核验

MCP Git Server

MCP Server

一个基于模型上下文协议的Git仓库交互与自动化服务器,提供通过大型语言模型读取、搜索和操作Git仓库的工具。

工具数

15

提示词数

0

GitHub Stars

2

资源数

0
仓库管理PythonVS Code开发工具Claude DesktopClaudeVS CodeVS Code Insiders

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

MementoRC

提供方

MementoRC

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcp-server-git

详细介绍

mcp服务器git:git mcp服务器

概述

用于Git存储库交互和自动化的模型上下文协议服务器。此服务器提供通过大型语言模型读取、搜索和操作Git存储库的工具。

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

工具

  1. git_status

- 显示工作树状态 - 输入: - repo_path (string):Git存储库的路径 - 返回:工作目录的当前状态作为文本输出

  1. git_diff_unstaged

- 显示尚未暂存的工作目录中的更改 - 输入: - repo_path (string):Git存储库的路径 - 返回值:未暂存更改的差异输出

  1. git_diff_staged

- 显示已提交的更改 - 输入: - repo_path (string):Git存储库的路径 - 返回值:分阶段更改的差异输出

  1. git_diff

- 显示分支或提交之间的差异 - 输入: - repo_path (string):Git存储库的路径 - target (string):目标分支或提交进行比较 - 返回:将当前状态与目标进行比较的Diff输出

  1. git_commit

- 记录对存储库的更改 - 输入: - repo_path (string):Git存储库的路径 - message (string):提交消息 - 返回:使用新的提交哈希进行确认

  1. git_add

- 将文件内容添加到暂存区,支持批处理操作 - 输入: - repo_path (string):Git存储库的路径 - files (string\[\],可选):到stage的文件路径数组 - add_all (boolean,可选):暂存所有更改,包括未跟踪的文件(git add-A) - update_only (布尔值,可选):仅阶段跟踪文件更新和删除(git add-u) - patterns (string\[\],可选):用于匹配文件的glob模式数组(例如,\[“*.py“,”src/\*\*/*.js“\]) - 返回:暂存文件的确认 - 注意:只应指定文件add_all、update_Only或模式中的一个

  1. git_reset

- 取消所有阶段性变化 - 输入: - repo_path (string):Git存储库的路径 - 返回:重置操作确认

  1. git_log

- 显示具有高级筛选和格式化功能的提交日志 - 输入: - repo_path (string):Git存储库的路径 - max_count (number,可选):要显示的最大提交数(默认值:10) - oneline (布尔值,可选):仅显示哈希和消息的紧凑格式(默认值:false) - graph (布尔值,可选):显示合并图结构(默认值:false) - format (字符串,可选):自定义格式字符串(例如,“%h-%s(%an)”) - since (字符串,可选):显示日期后的提交(例如,“2024-01-01”,“1周前”) - until (字符串,可选):显示日期之前的提交(例如,“昨天”、“2024-12-31”) - author (字符串,可选):按作者姓名或电子邮件筛选 - grep (字符串,可选):使用正则表达式模式搜索提交消息 - files (string\[\],可选):仅显示影响这些文件的提交 - branch (字符串,可选):显示特定分支的日志(默认值:当前) - reverse (布尔值,可选):按逆时间顺序显示提交(默认值:false) - merges (布尔值,可选):过滤合并提交(空=全部,真=仅合并,假=无合并) - 返回:符合指定条件的格式化提交日志 - 示例: - 查找最近的修复提交: {repo_path: ".", max_count: 20, grep: "fix:", oneline: true} - 作者变更: {repo_path: ".", author: "john@example.com", since: "1 month ago"} - 文件历史记录: {repo_path: ".", files: ["src/main.py"], max_count: 50}

  1. git_create_branch

- 创建新分支 - 输入: - repo_path (string):Git存储库的路径 - branch_name (string):新分支的名称 - base_branch (字符串,可选):新分支的起点 - 返回:分支创建确认

  1. git_checkout
  • 切换分支
  • 输入:

- repo_path (string):Git存储库的路径 - branch_name (string):要结账的分行名称

  • 返回:分支切换确认
  1. git_show
  • 显示提交的内容
  • 输入:

- repo_path (string):Git存储库的路径 - revision (string):要显示的修订(提交哈希、分支名称、标签)

  • 返回:指定提交的内容
  1. git_init
  • 初始化Git存储库
  • 输入:

- repo_path (string):初始化git repo的目录路径

  • 返回:确认存储库初始化

Azure DevOps集成

该服务器提供Azure DevOps集成,用于监控和分析Azure管道构建:

  1. azure_get_build_status

- 获取Azure DevOps构建/管道运行的状态 - 输入: - project (string):项目名称或ID - build_id (整数):构建ID - 返回:格式化的构建状态信息,包括定义、状态、结果、分支和时间

  1. azure_get_build_logs

- 从Azure DevOps构建中获取日志 - 输入: - project (string):项目名称或ID - build_id (整数):构建ID - log_id (整数,可选):要检索的特定日志ID。如果省略,则列出所有日志 - 返回:日志内容或可用日志列表

  1. azure_get_failing_jobs

- 获取Azure DevOps构建中失败作业的详细信息 - 输入: - project (string):项目名称或ID - build_id (整数):构建ID - include_logs (布尔值,可选):是否包含日志摘录(默认值:true) - 返回:详细的故障信息,包括错误消息和日志摘录

配置:Azure DevOps集成需要设置 AZURE_DEVOPS_TOKENAZURE_DEVOPS_ORG 环境变量。有关详细信息,请参阅环境变量部分。

精益MCP界面(上下文优化)

服务器提供了一种替代方案 精益界面 这将上下文消耗减少了约97%(从约30000个令牌减少到约900个令牌)。它没有预先公开所有51个工具,而是使用了3-meta-tool模式:

元工具目的
discover_tools(pattern)列出具有可选筛选功能的可用工具
get_tool_spec(tool_name)按需获取特定工具的完整架构
execute_tool(tool_name, params)动态执行任何工具

工具覆盖范围所有50个工具仍然可以访问(25 git,22 GitHub,3 Azure DevOps)。

用法示例:

# 1. Discover available tools (optional filtering)
discover_tools("pr")  # Returns 11 PR-related tools

# 2. Get schema when needed
get_tool_spec("github_create_pr")  # Returns full parameter schema

# 3. Execute the tool
execute_tool("github_create_pr", {
    "repo_owner": "owner",
    "repo_name": "repo",
    "title": "feat: new feature",
    "head": "feature-branch",
    "base": "main"
})

配置:使用 mcp-git-lean 入口点:

"mcpServers": {
  "git-lean": {
    "command": "pixi",
    "args": ["run", "-m", "mcp-git-lean", "--repository", "path/to/repo"]
  }
}

重要提示:存储库路径解析

repo_path 所有git工具中的参数都支持以下行为:

  • 绝对路径:总是直接使用(例如。, /home/user/my-repo)
  • “.”(当前目录):当服务器使用启动时,解析为绑定存储库 --repository 参数。如果没有绑定存储库,操作将失败,并显示明确的错误消息。
  • 相对路径:转换为相对于当前工作目录的绝对路径。为了获得最佳可靠性,请使用绝对路径或将存储库绑定到 --repository.

推荐使用方法:

  • 启动服务器时,请使用 --repository 绑定到特定存储库的参数
  • 在工具调用中,使用 repo_path: "." 引用绑定的存储库
  • 对于不同存储库上的操作,请提供绝对路径

示例:

# Start server bound to a repository
mcp-server-git --repository /path/to/my-repo

# Then use "." in tool calls to reference the bound repository
# This prevents cross-repository contamination

安装

使用紫外线(推荐)

使用时 uv 不需要特定的安装。我们将 使用 uvx 直接运行 *mcp服务器git*.

使用PIP

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

pip install mcp-server-git

注:对于开发,请使用 pixi install 而不是pip来进行适当的依赖管理。

安装后,您可以使用以下命令将其作为脚本运行:

python -m mcp_server_git

配置

环境变量

服务器支持从以下位置加载环境变量 .env 具有以下优先级顺序的文件:

  1. 特定于项目的.env文件 - .env 当前工作目录中的文件
  2. 特定于存储库的.env文件 - .env 存储库目录中的文件(使用时 --repository 论点)
  3. ClaudeCode工作目录.env文件 - .env ClaudeCode工作区根目录中的文件(自动检测到)
  4. 系统环境变量 -标准环境变量

示例.env文件

创建一个 .env 项目目录或ClaudeCode工作区中的文件:

# GitHub API Token for GitHub integration features
# Get your token from: https://github.com/settings/tokens
GITHUB_TOKEN=your_github_token_here

# Optional: Custom GitHub API base URL (for GitHub Enterprise)
# GITHUB_API_BASE_URL=https://api.github.com

# Azure DevOps Configuration
# Get your Personal Access Token from: https://dev.azure.com/{organization}/_usersSettings/tokens
# The token should have 'Build (Read)' scope at minimum
AZURE_DEVOPS_TOKEN=your_azure_devops_pat_token_here
AZURE_DEVOPS_ORG=your_organization_name

# Optional: Log level for debugging
# LOG_LEVEL=INFO

备注:The .env 服务器启动时,文件会自动加载。服务器通过从当前工作目录和存储库路径(如果通过提供)向上遍历,智能地检测ClaudeCode工作区目录 --repository 论点)。如果不 .env 如果找到文件,服务器将使用系统环境变量。

适用于ClaudeCode用户:如果你有 .env ClaudeCode工作区根目录中的文件(例如。, /home/memento/ClaudeCode/.env),当从该工作区内的任何子目录运行MCP服务器时,它将被自动检测和加载。

使用Claude Desktop

将此添加到您的 claude_desktop_config.json:

Using uvx

"mcpServers": {
  "git": {
    "command": "uvx",
    "args": ["mcp-server-git", "--repository", "path/to/git/repo"]
  }
}

Using docker

  • 注意:将“/Users/username”替换为您希望此工具可以访问的路径
"mcpServers": {
  "git": {
    "command": "docker",
    "args": ["run", "--rm", "-i", "--mount", "type=bind,src=/Users/username,dst=/Users/username", "mcp/git"]
  }
}

Using pip installation

"mcpServers": {
  "git": {
    "command": "python",
    "args": ["-m", "mcp_server_git", "--repository", "path/to/git/repo"]
  }
}

使用VS代码

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

](https://insiders.vscode.dev/redirect/mcp/install?name=git&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22--rm%22%2C%22-i%22%2C%22--mount%22%2C%22type%3Dbind%2Csrc%3D%24%7BworkspaceFolder%7D%2Cdst%3D%2Fworkspace%22%2C%22mcp%2Fgit%22%5D%7D) ](https://insiders.vscode.dev/redirect/mcp/install?name=git&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22--rm%22%2C%22-i%22%2C%22--mount%22%2C%22type%3Dbind%2Csrc%3D%24%7BworkspaceFolder%7D%2Cdst%3D%2Fworkspace%22%2C%22mcp%2Fgit%22%5D%7D&quality=insiders)

对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open Settings (JSON).

您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。

请注意 mcp 中不需要密钥 .vscode/mcp.json 文件。
{
  "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 settings.json:

Using uvx

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

Using pip installation

"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检查器以测试您的更改。看 调试 用于运行说明。
  1. 使用Claude桌面应用程序进行测试。将以下内容添加到您的 claude_desktop_config.json:

码头工人

{
  "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",
      "/
/mcp-servers/src/git",
      "run",
      "mcp-server-git"
    ]
  }
}

构建

Docker构建:

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

许可证

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

目录标签

目录标签

仓库管理PythonVS Code开发工具Git自动化本地部署LLM集成CI/CD

支持客户端

Claude DesktopClaudeVS CodeVS Code Insiders

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP