GitHub PR Diff MCP 服务器使用说明
项目简介
本项目实现了一个基于 Model Context Protocol (MCP) 的服务器,专注于 GitHub 集成,目前主要提供获取 GitHub Pull Request 的 Diff 内容的功能。该服务器旨在为 LLM 应用提供代码变更上下文信息,例如用于代码审查、代码理解等场景。
主要功能点
- 获取 Pull Request Diff (get_diff_pr): 通过指定仓库所有者、仓库名和 Pull Request 编号,获取该 PR 的 diff 内容。
安装步骤
-
克隆仓库
git clone https://github.com/highlight-ing/highlight-github-mcp.git cd highlight-github-mcp -
安装依赖 确保已安装 Node.js (>=18.0.0) 和 npm。运行以下命令安装项目依赖:
npm install -
配置 GitHub Personal Access Token 你需要一个 GitHub Personal Access Token 用于 API 鉴权。
- 公开仓库: 'public_repo' 权限的 Token 即可。
- 私有仓库: 'repo' 权限的 Token 是必需的。
将 Token 设置为环境变量 'GITHUB_TOKEN':
export GITHUB_TOKEN=<your-github-token>
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器。以下是 JSON 格式的配置信息示例:
{ "serverName": "github-server", // MCP 服务器名称,与代码中定义一致 "command": "node", // 启动服务器的命令,这里使用 node "args": ["src/index.ts"] // 启动参数,指向服务器入口文件 }
配置参数说明:
- 'serverName': 服务器的名称,必须与服务器代码中定义的名字 'github-server' 一致。
- 'command': 运行服务器的命令,通常为 'node',假设您的环境中 'node' 命令可用。
- 'args': 传递给 'command' 的参数,这里指定服务器入口文件 'src/index.ts' 的路径。请确保路径相对于 MCP 客户端的当前工作目录是正确的。
基本使用方法
-
启动 MCP 服务器 在项目根目录下,运行以下命令启动服务器:
node src/index.ts服务器将通过 stdio 协议与 MCP 客户端通信,启动成功后会输出 'Github MCP server running on stdio'。
-
配置 MCP 客户端 在 MCP 客户端中,根据上述 服务器配置 部分的信息配置连接。
-
调用 'get_pr_diff' 工具 在 MCP 客户端中,可以使用 'callTool' 请求调用 'get_pr_diff' 工具,并提供以下参数:
- 'owner': GitHub 仓库的所有者/组织名称 (字符串)
- 'repo': GitHub 仓库名称 (字符串)
- 'pullNumber': Pull Request 编号 (数字)
例如,要获取 'highlight-ing/highlight-github-mcp' 仓库的第 1 号 PR 的 diff,你需要提供参数:
{ "owner": "highlight-ing", "repo": "highlight-github-mcp", "pullNumber": 1 }服务器将返回包含 diff 内容的响应。
注意事项
- 请确保 'GITHUB_TOKEN' 环境变量已正确设置,并且具有访问目标仓库的权限。
- GitHub API 有速率限制,频繁请求可能会触发限制。
- 大型 Diff 内容可能会受到 GitHub API 的限制而被截断。
信息
分类
开发者工具