mcp服务器git:git mcp服务器
概述
用于Git存储库交互和自动化的模型上下文协议服务器。此服务器提供通过大型语言模型读取、搜索和操作Git存储库的工具。
请注意,mcp服务器git目前处于早期开发阶段。随着我们不断开发和改进服务器,功能和可用工具可能会发生变化和扩展。
工具
git_status
- 显示工作树状态 - 输入: - repo_path (string):Git存储库的路径 - 返回:工作目录的当前状态作为文本输出
git_diff_unstaged
- 显示尚未暂存的工作目录中的更改 - 输入: - repo_path (string):Git存储库的路径 - context_lines (数字,可选):要显示的上下文行数(默认值:3) - 返回值:未暂存更改的差异输出
git_diff_staged
- 显示已提交的更改 - 输入: - repo_path (string):Git存储库的路径 - context_lines (数字,可选):要显示的上下文行数(默认值:3) - 返回值:分阶段更改的差异输出
git_diff
- 显示分支或提交之间的差异 - 输入: - repo_path (string):Git存储库的路径 - target (string):目标分支或提交进行比较 - context_lines (数字,可选):要显示的上下文行数(默认值:3) - 返回:将当前状态与目标进行比较的Diff输出
git_commit
- 记录对存储库的更改 - 输入: - repo_path (string):Git存储库的路径 - message (string):提交消息 - 返回:使用新的提交哈希进行确认
git_add
- 将文件内容添加到暂存区 - 输入: - repo_path (string):Git存储库的路径 - files (string\[\]):到stage的文件路径数组 - 返回:暂存文件的确认
git_reset
- 取消所有阶段性变化 - 输入: - repo_path (string):Git存储库的路径 - 返回:重置操作确认
git_log
- 显示提交日志 - 输入: - repo_path (string):Git存储库的路径 - max_count (number,可选):要显示的最大提交数(默认值:10) - 返回:包含哈希、作者、日期和消息的提交条目数组
git_create_branch
- 创建新分支 - 输入: - repo_path (string):Git存储库的路径 - branch_name (string):新分支的名称 - base_branch (字符串,可选):新分支的起点 - 返回:分支创建确认
git_checkout
- 切换分支
- 输入:
- repo_path (string):Git存储库的路径 - branch_name (string):要结账的分行名称
- 返回:分支切换确认
git_show
- 显示提交的内容
- 输入:
- repo_path (string):Git存储库的路径 - revision (string):要显示的修订(提交哈希、分支名称、标签)
- 返回:指定提交的内容
git_init
- 初始化Git存储库
- 输入:
- repo_path (string):初始化git repo的目录路径
- 返回:确认存储库初始化
git_branch
- 列出Git分支
- 输入:
- repo_path (string):Git存储库的路径。 - branch_type (string):是列出本地分支('local')、远程分支('remote')还是所有分支('all')。 - contains (string,可选):该分支应包含的commit-sha。如果没有指定commit-sha,则不要向此参数传递任何内容 - not_contains (string,可选):该分支不应包含的commit sha。如果没有指定commit-sha,则不要向此参数传递任何内容
- 返回:分支列表
git_cherry_pick
- Cherry选择当前分支的承诺
- 输入:
- repo_path (string):Git存储库的路径 - commit_sha (string):樱桃采摘的提交哈希 - no_commit (boolean,可选):如果为true,则选择樱桃而不提交(默认值:false)
- 退货:确认樱桃采摘操作
git_list_remotes
- 列出已配置的遥控器
- 输入:
- repo_path (string):Git存储库的路径 - verbose (布尔值,可选):如果为true,则显示远程URL(默认值:false)
- 返回:已配置的遥控器列表
git_pull
- 从远程存储库中提取更改
- 输入:
- repo_path (string):Git存储库的路径 - remote (string):远程设备的名称 - branch (string):要拉取的分支的名称
- 返回:拉取操作确认
git_push
- 将更改推送到远程存储库
- 输入:
- repo_path (string):Git存储库的路径 - remote (string):远程设备的名称 - branch (string):要推送的分支的名称 - force (布尔值,可选):如果为true,则强制推送(默认值:false)
- 返回:推送操作确认
git_fetch
- 从远程存储库获取更改
- 输入:
- repo_path (string):Git存储库的路径 - remote (string):远程设备的名称 - branch (字符串,可选):要获取的特定分支(默认:所有分支) - all_remotes (boolean,可选):如果为true,则从所有远程获取(默认值:false)
- 返回:确认获取操作
git_switch_create
- 切换到新分支或从可选的基分支创建新分支
- 输入:
- repo_path (string):Git存储库的路径 - branch_name (string):要创建和切换到的分支的名称 - base_branch (string,可选):新分支的基础分支
- 返回:分支创建和切换确认
安装
使用紫外线(推荐)
使用时 uv 不需要特定的安装。我们将 使用 uvx 直接运行 *mcp服务器git*.
使用PIP
或者,您可以安装 mcp-server-git 通过pip:
pip install mcp-server-git安装后,您可以使用以下命令将其作为脚本运行:
python -m mcp_server_git配置
使用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"]
}
}
},使用方法 Zencoder
- 转到Zencoder菜单(…)
- 从下拉菜单中,选择
Agent Tools - 点击
Add Custom MCP - 从下面添加名称(即git)和服务器配置,并确保点击
Install按钮
Using uvx
{
"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:
码头工人
{
"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文件。
