GitHub差异提取工具

一个用于从GitHub Pull Requests中提取差异内容的工具,支持通过GitHub REST API v3进行集成。

  • by highlight-ing
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 highlight-ing/highlight-github-mcp

使用说明

GitHub集成

GitHub MCP服务器提供从Pull Requests中提取差异的功能。

可用工具

get_diff_pr

从GitHub Pull Request中检索差异内容。

参数:

  • owner:存储库所有者/组织名称
  • repo:存储库名称
  • pr_number:拉取请求编号

退货:对象包含:

  • content:包含PR差异的字符串

认证

必需:将GitHub个人访问令牌设置为环境变量:

export GITHUB_TOKEN=<your-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的限制,较大的差异可能会被截断
  • 令牌需要适当的存储库访问权限