GitHub问题关系管理服务器

一个MCP(模型上下文协议)服务器,提供管理GitHub问题关系的工具,包括跟踪依赖、阻塞问题和子问题。

  • by chuks-qua
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 chuks-qua/github-issues-mcp-server

使用说明

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 <repo-url>
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_here

Claude桌面配置

添加到您的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 参考

看 GitHub问题依赖项API 和 GitHub子发行API 获取完整的API文档。

许可证

麻省理工学院