mcp-server-git: 一个 git MCP 服务器
概述
一个用于 Git 仓库交互和自动化的模型上下文协议 (MCP) 服务器。该服务器提供了一系列工具,允许大语言模型读取、搜索和操作 Git 仓库。
请注意,mcp-server-git 目前处于早期开发阶段。随着我们持续开发和改进服务器,其功能和可用工具可能会发生变化和扩展。
工具
git_status显示工作树状态
输入:
repo_path(string): Git 仓库路径
返回:以文本形式输出工作目录的当前状态
git_diff_unstaged显示工作目录中尚未暂存的更改
输入:
repo_path(string): Git 仓库路径context_lines(number, optional): 要显示的上下文行数(默认:3)
返回:未暂存更改的差异输出
git_diff_staged显示已暂存以供提交的更改
输入:
repo_path(string): Git 仓库路径context_lines(number, optional): 要显示的上下文行数(默认:3)
返回:已暂存更改的差异输出
git_diff显示分支或提交之间的差异
输入:
repo_path(string): Git 仓库路径target(string): 要比较的目标分支或提交context_lines(number, optional): 要显示的上下文行数(默认:3)
返回:比较当前状态与目标状态的差异输出
git_commit记录仓库的更改
输入:
repo_path(string): Git 仓库路径message(string): 提交信息
返回:包含新提交哈希的确认信息
git_add将文件内容添加到暂存区
输入:
repo_path(string): Git 仓库路径files(string[]): 要暂存的文件路径数组
返回:已暂存文件的确认信息
git_reset取消暂存所有已暂存的更改
输入:
repo_path(string): Git 仓库路径
返回:重置操作的确认信息
git_log显示提交日志,并可选择日期过滤
输入:
repo_path(string): Git 仓库路径max_count(number, optional): 要显示的最大提交数(默认:10)start_timestamp(string, optional): 过滤提交的开始时间戳。接受 ISO 8601 格式(例如 '2024-01-15T14:30:25')、相对日期(例如 '2 weeks ago', 'yesterday')或绝对日期(例如 '2024-01-15', 'Jan 15 2024')end_timestamp(string, optional): 过滤提交的结束时间戳。接受 ISO 8601 格式(例如 '2024-01-15T14:30:25')、相对日期(例如 '2 weeks ago', 'yesterday')或绝对日期(例如 '2024-01-15', 'Jan 15 2024')
返回:包含哈希、作者、日期和信息的提交条目数组
git_create_branch创建一个新分支
输入:
repo_path(string): Git 仓库路径branch_name(string): 新分支的名称base_branch(string, optional): 创建分支的基础分支(默认为当前分支)
返回:分支创建的确认信息
git_checkout
切换分支
输入:
repo_path(string): Git 仓库路径branch_name(string): 要切换到的分支名称
返回:分支切换的确认信息
git_show
显示提交的内容
输入:
repo_path(string): Git 仓库路径revision(string): 要显示的修订版本(提交哈希、分支名称、标签)
返回:指定提交的内容
git_branch
列出 Git 分支
输入:
repo_path(string): Git 仓库路径。branch_type(string): 列出本地分支 ('local')、远程分支 ('remote') 还是所有分支 ('all')。contains(string, optional): 分支应包含的提交 sha。如果未指定提交 sha,请勿向此参数传递任何内容not_contains(string, optional): 分支不应包含的提交 sha。如果未指定提交 sha,请勿向此参数传递任何内容
返回:分支列表
Related MCP server: GitLab MCP Server
安装
使用 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 中:
"mcpServers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}
}注意:将 '/Users/username' 替换为您希望此工具能够访问的路径
"mcpServers": {
"git": {
"command": "docker",
"args": ["run", "--rm", "-i", "--mount", "type=bind,src=/Users/username,dst=/Users/username", "mcp/git"]
}
}"mcpServers": {
"git": {
"command": "python",
"args": ["-m", "mcp_server_git", "--repository", "path/to/git/repo"]
}
}与 VS Code 一起使用
如需快速安装,请使用下方的一键安装按钮...
👁 Install with UV in VS Code
👁 Install with UV in VS Code Insiders
👁 Install with Docker in VS Code
👁 Install with Docker in VS Code Insiders
对于手动安装,您可以使用以下方法之一配置 MCP 服务器:
方法 1:用户配置(推荐)
将配置添加到您的用户级 MCP 配置文件中。打开命令面板 (Ctrl + Shift + P) 并运行 MCP: Open User Configuration。这将打开您的用户 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 settings.json 中:
"context_servers": [
"mcp-server-git": {
"command": {
"path": "uvx",
"args": ["mcp-server-git"]
}
}
],"context_servers": {
"mcp-server-git": {
"command": {
"path": "python",
"args": ["-m", "mcp_server_git"]
}
}
},与 Zencoder 一起使用
转到 Zencoder 菜单 (...)
从下拉菜单中选择
Agent Tools点击
Add Custom MCP添加名称(例如 git)和下方的服务器配置,并确保点击
Install按钮
{
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}调试
您可以使用 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 将显示来自服务器的日志,这可能有助于您调试任何问题。
开发
如果您正在进行本地开发,有两种方法可以测试您的更改:
运行 MCP 检查器来测试您的更改。请参阅 调试 获取运行说明。
使用 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 文件。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
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/modelcontextprotocol/git'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
