GitHub问题分类与PR摘要工具

一个连接GitHub的Model Context Protocol (MCP)服务器,提供轻量级的问题分类和代码审查支持,包括列出仓库、搜索问题/PR、标记和关闭问题以及使用Gemini生成PR摘要的功能。

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

使用说明

GitHub MCP服务器——问题分类+PR摘要生成器

模型上下文协议(MCP)服务器,连接到GitHub以提供轻量级的分类和审查支持。它提供了列出存储库、搜索问题/PR、标记和关闭问题以及使用Gemini生成PR摘要的工具。

为什么这是简历准备:

  • 展示具有真实开发人员工作流程影响的实用LLM工具(GitHub+MCP)
  • 演示API集成、即时设计和安全自动化
  • 在Claude Desktop和MCP Inspector工作;易于现场演示

特性

  • list_repos:列出经过身份验证的用户的存储库(第一页)
  • search_issues:通过GitHub搜索(问题和PR) q 怎么翻译
  • label_oissue:向问题添加一个或多个标签
  • close_issue:按编号关闭问题
  • summarize_pr:使用Gemini总结pr(意图、风险、突破性变更、测试计划)

需求

  • Node.js 18+
  • GitHub个人访问令牌(细粒度或经典)
    • 范围/权限:元数据:读取,内容:读取,问题:读取和写入,拉取请求:读取
  • Gemini API密钥(Google AI Studio)
  • Windows(已测试)-也适用于macOS/Linux

安装

npm install
npm run build

创建一个 .env 文件:

GITHUB_TOKEN=your_github_pat
GEMINI_API_KEY=your_gemini_key
# Optional, defaults to gemini-2.0-flash
GEMINI_MODEL=gemini-2.0-flash

使用MCP检查器运行(可选)

npx @modelcontextprotocol/inspector
# In UI: STDIO → Command: node → Args: D:/Project_2/github-mcp-server/dist/index.js

与Claude Desktop一起使用

添加到 %APPDATA%/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "github-triage-mcp": {
      "command": "node",
      "args": ["D:/Project_2/github-mcp-server/dist/index.js"],
      "transport": "stdio",
      "env": {
        "GITHUB_TOKEN": "YOUR_PAT",
        "GEMINI_API_KEY": "YOUR_GEMINI_KEY",
        "GEMINI_MODEL": "gemini-2.0-flash"
      }
    }
  }
}

重新启动Claude Desktop并启用 github-triage-mcp 在侧面板上。

屏幕截图:

示例工具调用(Inspector或Claude)

// search_issues
{ "q": "repo:Kishor129129/datawise_ai is:issue is:open", "perPage": 10 }

// label_issue
{ "owner": "Kishor129129", "repo": "datawise_ai", "number": 123, "labels": ["triage"] }

// close_issue
{ "owner": "Kishor129129", "repo": "datawise_ai", "number": 124 }

// summarize_pr
{ "owner": "Kishor129129", "repo": "datawise_ai", "number": 1 }

安全

  • 不要承诺 .env 或代币。
  • 建议使用细粒度PAT。演示后删除或旋转令牌。

许可证

麻省理工学院