使用说明
Git MCP 服务器
一个模型上下文协议(MCP)服务器,通过标准化工具提供Git操作。该服务器允许AI助手和其他MCP客户端以编程方式与Git仓库进行交互。
这个项目的作用
这个MCP服务器将四种主要的Git操作作为MCP工具提供:
git_add将文件添加到 Git 阶段区,支持特定文件、所有文件、交互模式和补丁模式git_commit- 创建带有自定义消息的提交,支持暂存所有文件,并具备修正功能git_push向可配置的远程仓库推送提交,支持指定远程、分支、强制推送和上游追踪git_status获取Git仓库的当前状态,以查看哪些文件可以添加
所有工具均支持:
- 通过指定一个来与任何Git仓库协同工作
repository_path - 全面的错误处理和超时保护
- 包含命令输出和状态的详细响应信息
先决条件
- Python 3.12或更高版本
- 系统上已安装Git
- 根据上面的信息,执行如下指令: 包管理器(推荐)或 pip
安装
- 克隆此存储库:
git clone <repository-url>
cd git-mcp-server
- 使用uv安装依赖(推荐):
uv sync
或者使用 pip:
pip install -e .
运行服务器
开发模式
直接运行服务器:
python main.py
服务器将在 http://0.0.0.0:5001 默认情况下。
生产模式
若要用于生产环境,您可以使用像gunicorn这样的WSGI服务器来运行它:
uv run gunicorn main:mcp.app -b 0.0.0.0:5001
添加到Cursor IDE
要在Cursor中使用此MCP服务器,您需要在Cursor设置中进行配置:
- 打开光标设置(Cmd/Ctrl + ,)
- 导航至“功能”→“模型上下文协议”
- 添加一个新的MCP服务器配置:
{
"mcpServers": {
"git-mcp-server": {
"command": "python",
"args": ["/absolute/path/to/your/git-mcp-server/main.py"],
"env": {}
}
}
}
替换 /absolute/path/to/your/git-mcp-server/main.py 包含您实际的绝对路径 main.py 文件。
HTTP传输的替代配置
如果你希望将服务器作为独立的HTTP服务运行:
{
"mcpServers": {
"git-mcp-server": {
"command": "uv",
"args": ["run", "python", "/absolute/path/to/your/git-mcp-server/main.py"],
"env": {}
}
}
}
- 重启光标以加载新的MCP服务器
- Git工具现在应该可以在您的Cursor聊天界面中使用了
使用示例
一旦在Cursor中配置好,您就可以在聊天中使用Git工具:
- 将所有修改过的文件添加到暂存区
- 提交暂存的更改,信息为“修复用户认证中的错误”
- 将当前分支推送到origin
- “显示这个仓库的git状态”
API参考
git_add
将文件添加到Git暂存区。
参数:
files(可选)以空格分隔的文件路径列表all_files(布尔值):添加所有已修改的文件(默认:否)interactive(bool): 交互模式(默认:False)patch布尔值:补丁模式(默认:否)repository_path(可选):Git仓库的路径
git_commit
创建一个Git提交。
参数:
message提交信息(必填)all_files(布尔值):提交前将所有文件暂存(默认:否)amend(bool): 修改上一次提交(默认:False)repository_pathGit仓库的路径
git_push
将提交推送到远程仓库。
参数:
remote远程名称(默认:“origin”)branch分支名称(默认为当前分支)force(bool): 强制推送(默认:False)set_upstream布尔值:设置上游追踪(默认:否)repository_pathgit仓库的路径
git状态
获取Git仓库状态。
参数:
repository_pathgit仓库的路径
安全考虑因素
- 服务器以运行它的用户相同的权限执行Git命令
- 小心
force推送操作 - 服务器验证仓库路径并在执行命令前检查Git仓库
- 所有命令均设有超时保护(根据操作不同,时间为10-120秒)
贡献
- 克隆仓库
- 创建一个功能分支
- 做出你的更改
- 彻底测试
- 提交拉取请求
许可证
请在此添加您的许可信息
