Git Pr Mcp

Git Pr Mcp

🚀 Git PR MCP Server

Git PR MCP Server 是一个用于 Git 和拉取请求(Pull Request)操作的模型上下文协议(MCP)服务器,它为仓库管理和 PR 工作流提供了实用工具。该服务器基于 FastMCP 构建,默认以 SSE 模式运行在 0.0.0.0:8000

🚀 快速开始

服务器默认以 SSE 模式运行在 0.0.0.0:9999,并通过环境变量进行配置。以下是一个示例 .env 文件:

FASTMCP_HOST=0.0.0.0
FASTMCP_PORT=9999
GITHUB_TOKEN=your_github_token

可以使用以下命令启动服务器:

# 使用默认配置运行 (0.0.0.0:8000)
uv run python main.py

# 或者直接运行服务器模块
uv run python -m src.git_pr_mcp.server

启动后,可通过 http://localhost:9999/sse 访问 MCP 服务器。

✨ 主要特性

此 MCP 服务器提供了以下工具和功能:

核心 Git 操作(在指定的仓库路径上)

  • get_git_status:获取仓库的当前 Git 状态。
  • list_branches:列出仓库中的所有分支(可选择包含远程分支)。
  • create_pr_summary:根据 Git 差异为拉取请求创建摘要。
  • get_commit_history:获取某个分支的提交历史。
  • get_git_diff:获取提交、分支或工作目录之间的 Git 差异。

自动化 PR 工作流(在内部管理的“活动”仓库上操作)

  • clone_repository:将 GitHub 仓库克隆到管理的临时目录,使其成为后续操作的“活动”仓库。会自动清理之前活动仓库的临时目录。
  • create_git_branch:在活动仓库中创建新分支。
  • write_file_in_repo:在活动仓库中创建或覆盖文件。
  • git_commit_changes:暂存所有更改(git add .)并在活动仓库中提交。
  • git_push_branch:将活动仓库中的指定分支推送到其远程源。
  • create_github_pr:使用 PyGithub 库为活动仓库在 GitHub 上创建拉取请求。需要 GITHUB_TOKEN

状态管理

服务器将当前“活动”克隆仓库的状态(路径、URL、所有者、名称)保存在 active_repo_state.json 文件中。这使得服务器重启后仍能保留部分状态,尽管临时克隆目录本身可能由操作系统管理。

📦 安装指南

  1. 克隆此仓库:
git clone 
cd git-pr-mcp
  1. 使用 uv 进行安装:
uv sync
  • 0 关注
  • 0 收藏,15 浏览
  • system 提出于 2025-09-27 03:33

相似服务问题

相关AI产品