Git PR MCP服务器
用于Git和Pull Request操作的模型上下文协议(MCP)服务器,为存储库管理和PR工作流提供工具。
内置FastMCP,默认在SSE模式下运行 0.0.0.0:8000.
特性
此MCP服务器提供以下工具和功能:
核心Git操作(在指定的存储库路径上):
- get_git_status:获取存储库的当前git状态。
- list_brances:列出存储库中的所有分支(包括可选的远程分支)。
- create_pr_summary:基于git diff为pull请求创建摘要。
- get_commit_history:获取分支的提交历史记录。
- 使用 get_git_diff:获取提交、分支或工作目录之间的git diff。
自动PR工作流(在内部管理的“活动”存储库上运行):
- clone_repository:将GitHub存储库克隆到托管的临时目录中,使其成为后续操作的“活动”存储库。自动清理任何以前活动的存储库的临时目录。
- create_git_branch:在活动存储库中创建新分支。
- write_file_in_repo:在活动存储库中创建或覆盖文件。
- git_commit_更改:分期进行所有更改(
git add .)并将它们提交到活动存储库中。 - git_push_branch:将指定的分支从活动存储库推送到其远程源。
- create_github_pr:使用PyGithub库在GitHub上为活动存储库创建拉取请求。需要
GITHUB_TOKEN.
状态管理:
- 服务器将当前“活动”克隆存储库的状态(路径、URL、所有者、名称)保存在
active_repo_state.json文件。这允许在服务器重启时保持一定的持久性,尽管临时克隆目录本身可能是由操作系统管理的。
安装
- 克隆此存储库:
git clone
cd git-pr-mcp- 使用紫外线进行安装:
uv sync用法
默认情况下,服务器在SSE模式下运行 0.0.0.0:9999 并通过环境变量进行配置。以下是一个.env文件示例:
FASTMCP_HOST=0.0.0.0
FASTMCP_PORT=9999
GITHUB_TOKEN=your_github_token快速开始
# Run with defaults (0.0.0.0:8000)
uv run python main.py
# Or run the server module directly
uv run python -m src.git_pr_mcp.server然后,您可以访问MCP服务器 http://localhost:9999/sse.
