GitHub集成
GitHub MCP服务器提供从Pull Requests中提取差异的功能。
可用工具
get_diff_pr
从GitHub Pull Request中检索差异内容。
参数:
owner:存储库所有者/组织名称repo:存储库名称pr_number:拉取请求编号
退货:对象包含:
content:包含PR差异的字符串
认证
必需:将GitHub个人访问令牌设置为环境变量:
export GITHUB_TOKEN=令牌至少需要 repo 访问私有存储库的范围权限。对于公共存储库,一个带有 public_repo 范围是足够的。
错误处理
服务器实现了标准的错误处理:
- 丢失/无效的令牌返回
ErrorCode.AuthenticationError - 返回的存储库详细信息无效
ErrorCode.InvalidParams - 不存在PR退货
ErrorCode.NotFound - diff获取失败,返回格式化错误消息
- SIGINT上的优雅关机
技术细节
- 使用Highlight AI MCP SDK构建
- 使用GitHub REST API v3
- 通过Zod进行输入验证
- 作为基于stdio的MCP服务器运行
- 支持Node.js>=18.0.0
局限性
- 基于GitHub API限制适用的费率限制
- 根据GitHub API的限制,较大的差异可能会被截断
- 令牌需要适当的存储库访问权限
