使用说明
项目简介
GitHub Issue Triage MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在帮助开发者更高效地管理 GitHub 仓库中的 Issue。它通过提供一系列工具,简化 Issue 的分流、标签管理和初步分析流程,提升团队协作效率。
主要功能点
- Issue 信息查询: 快速检索 GitHub 仓库中的 Issue 信息,包括 Issue 标题、状态、标签、评论等详细内容。
- Issue 分流: 识别未分流的 Issue(例如,缺少里程碑或标签的 Issue),并提供 Issue 列表以便快速处理。
- 标签管理: 获取仓库中所有标签,并支持根据 Issue 内容和指令,使用 LLM 智能添加标签。
- LLM 辅助: 利用 LLM (如 OpenAI) 对 Issue 进行内容总结,辅助用户理解 Issue 的核心内容和讨论要点,并智能推荐标签。
安装步骤
- 克隆仓库: 将 GitHub 仓库 'github-triage-mcp-server' 克隆到本地。
git clone https://github.com/jsuarezruiz/github-triage-mcp-server.git cd github-triage-mcp-server - 安装 .NET SDK: 确保您的开发环境已安装 .NET SDK (推荐 .NET 9 或更高版本)。您可以从 https://dotnet.microsoft.com/download 下载并安装。
- 构建项目: 在项目根目录下,使用 .NET CLI 构建项目。
dotnet build
服务器配置
MCP 客户端需要配置以下信息以连接到 GitHub Issue Triage MCP Server。以下是一个 JSON 格式的配置示例,您需要将其添加到您的 MCP 客户端配置中。
{ "serverName": "github-triage", // 自定义 MCP 服务器名称,用于在客户端中标识 "type": "stdio", // 指定传输协议为 Stdio (标准输入输出) "command": "dotnet", // 运行 MCP 服务器的命令,这里使用 dotnet CLI "args": [ // 命令参数 "run", // 运行 .NET 项目 "--project", // 指定项目文件路径 "/path/to/github-triage-mcp-server/src/GitHubTriageMcpServer.csproj" // 请替换为您的 GitHubTriageMcpServer.csproj 文件的实际路径 ], "env": { // 环境变量配置 "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>", // GitHub Personal Access Token,用于 API 鉴权,请替换为您的 Token "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>" // OpenAI API Key,用于 LLM 功能,如果不需要 LLM 功能可以不配置,请替换为您的 Token } }
请注意:
- 请将 '"/path/to/github-triage-mcp-server/src/GitHubTriageMcpServer.csproj"' 替换为您本地仓库 'GitHubTriageMcpServer.csproj' 文件的绝对路径。
- 您需要在环境变量 'env' 中配置 'GITHUB_PERSONAL_ACCESS_TOKEN' 和 'OPENAI_API_KEY'。
- 'GITHUB_PERSONAL_ACCESS_TOKEN' 需要您在 GitHub 上生成一个 Personal Access Token,并赋予 'repo' 权限。
- 'OPENAI_API_KEY' 是 OpenAI API 的密钥,如果您需要使用 Issue 总结和智能标签推荐等 LLM 功能,则需要配置此项。如果您不使用 LLM 相关功能,可以省略 'OPENAI_API_KEY' 的配置。
基本使用方法
-
启动 MCP 服务器:配置完成后,在 MCP 客户端中启动名为 'github-triage' (或您在 'serverName' 中配置的名称) 的 MCP 服务器。
-
使用 MCP 工具:通过 MCP 客户端调用以下工具,实现 GitHub Issue 的管理和辅助分流:
- 'triage_get_issues_count': 获取指定 GitHub 仓库中 Open 状态的 Issue 数量。
- 'triage_get_issues': 获取指定 GitHub 仓库中 Open 状态的 Issue 列表 (表格形式)。
- 'triage_get_labels_count': 获取指定 GitHub 仓库中标签的总数。
- 'triage_get_labels': 获取指定 GitHub 仓库中的标签列表 (表格形式)。
- 'triage_summary_issue': (需要 OpenAI API Key) 总结指定 GitHub 仓库的 Issue 内容,包括元数据、标签和评论。
- 'triage_add_labels_issue': (需要 OpenAI API Key) 使用 LLM 智能分析 Issue 内容,并建议添加合适的标签。
调用工具时,通常需要提供仓库的 owner (拥有者) 和 repo (仓库名) 作为参数。例如,使用 'triage_get_issues_count' 工具获取 'jsuarezruiz/github-triage-mcp-server' 仓库的 Issue 数量,您需要在 MCP 客户端中指定工具名称为 'triage_get_issues_count',并提供参数 'owner: jsuarezruiz', 'repo: github-triage-mcp-server'。
您可以使用 MCP Inspector 等 MCP 客户端工具进行测试和调试。
信息
分类
开发者工具