GitHub问题关系MCP服务器
一个MCP(模型上下文协议)服务器,提供管理GitHub问题关系的工具——跟踪依赖关系、阻止程序和子问题。
特性
问题依赖关系
- github \_区块\_ by -列出阻碍特定问题的问题
- github_get_blocking -列出某个问题正在阻止的问题
- github_add_blocking_dependency -添加阻塞依赖项
- github移动_阻塞_依赖 -删除阻塞依赖关系
子问题
- github \_家长_问题 -获取子问题的父问题
- github list_sub_issues -列出家长的所有子问题
- github_add_sub_issue -向父问题添加子问题
- github移动子问题 -删除子问题
- github \_优先级_子问题 -更改子问题优先级顺序
设置
先决条件
- Node.js 20+
- GitHub命令行界面(
gh)经过身份验证,或GitHub个人访问令牌
安装
# Clone the repository
git clone
cd git-relationship-mcp
# Install dependencies
npm install
# Build (optional, for production)
npm run build认证
服务器需要一个GitHub令牌 repo 范围。您有两个选择:
选项1:使用GitHub CLI(推荐)
如果您已通过身份验证 gh,Claude Desktop配置可以自动检索令牌。
选项2:环境变量
集 GITHUB_TOKEN 直接:
export GITHUB_TOKEN=ghp_your_token_hereClaude桌面配置
添加到您的Claude Desktop配置文件中:
窗户: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
使用GitHub CLI身份验证(Windows):
{
"mcpServers": {
"github-issues": {
"command": "cmd",
"args": ["/c", "for /f %i in ('gh auth token') do @set GITHUB_TOKEN=%i && npx tsx src/index.ts"],
"cwd": "C:\\path\\to\\git-relationship-mcp"
}
}
}使用直接令牌:
{
"mcpServers": {
"github-issues": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "C:\\path\\to\\git-relationship-mcp",
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}发展
# Run in development mode
npm run dev
# Type check
npm run typecheck
# Build for production
npm run build
# Run production build
npm start验证安装
配置完Claude Desktop后,通过询问Claude来测试服务器:
“列出github issues服务器中的工具”
Claude应该用9个工具来回应(github \_get_blocked_by、github \_get blocking、github \_add_blocking_dependency等)。
手动验证
测试服务器是否正确启动:
# Using GitHub CLI
GITHUB_TOKEN=$(gh auth token) npx tsx src/index.ts
# Using direct token
GITHUB_TOKEN=ghp_your_token npx tsx src/index.ts服务器应输出启动信息。按 Ctrl+C 退出。
故障排除
| 问题 | 原因 | 解决方案 |
|---|---|---|
| “GITHUB_TOKEN环境变量是必需的” | 未设置令牌或 gh 未通过身份验证 | 运行 gh auth login 或设置 GITHUB_TOKEN 直接 |
| “未找到存储库”(404) | 令牌缺失 repo 作用域或仓库不存在 | 确保令牌具有 repo 范围;验证所有者/仓库拼写 |
| “超过速率限制”(403) | 达到GitHub API限制 | 等待1小时或使用具有更高限制的PAT |
| 服务器未出现在Claude Desktop中 | 配置文件语法错误 | 验证JSON语法;检查文件位置 |
| 写操作上的“权限被拒绝” | 令牌缺少写权限 | 使用以下命令重新生成令牌 repo 范围 |
| 现有问题的“找不到问题” | 使用问题编号而不是ID进行写操作 | 使用问题ID(来自API或URL)进行 *_id 参数 |
示例用法
在Claude Desktop中配置后,您可以询问Claude:
- “哪些问题阻碍了所有者/回购中的问题#42?”
- “列出我的组织/项目中问题#10的子问题”
- “在我的回购中添加第5期作为第1期的子期”
- “告诉我问题#15阻碍了什么”
API 参考
看 和 获取完整的API文档。
许可证
麻省理工学院
