项目简介
MCP GitHub Issue Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它扩展了 LLM 的能力,使其能够利用 GitHub issue 作为任务描述的来源。通过此服务器,LLM 可以获取指定 GitHub issue 的标题和内容,并将其用作执行任务的上下文信息。
主要功能点
- 获取 GitHub Issue 详情: 提供 'get_issue_task' 工具,允许 LLM 客户端通过 issue URL 获取 issue 的标题、描述和来源链接。
- 无需认证访问公共仓库: 可以获取公共 GitHub 仓库的 issue 信息,无需进行身份验证。
- 结构化数据返回: 返回结构化的 JSON 数据,方便 LLM 理解和使用 issue 信息。
- 兼容 MCP 协议: 完全遵循 MCP 协议规范,可以与任何兼容 MCP 协议的 LLM 客户端配合使用。
安装步骤
- 确保 Node.js 和 npm 已安装: 如果您的系统尚未安装 Node.js 和 npm,请先安装。
- 手动安装: 在终端中运行以下命令即可安装并运行 MCP GitHub Issue Server:
或者,您也可以选择使用 Smithery 进行安装,以便与 Claude Desktop 等客户端自动集成:npx mcp-github-issuenpx -y @smithery/cli install mcp-github-issue --client claude
服务器配置
要将 MCP GitHub Issue Server 集成到 MCP 客户端,您需要在客户端的 MCP 配置中添加以下服务器配置信息。以下是一个 JSON 格式的配置示例,通常在客户端的配置文件(例如 'mcp.config.json')中进行配置:
{ "mcpServers": { "github-issue": { // 服务器名称,客户端通过此名称引用该服务器 "command": "npx", // 启动服务器的命令,这里使用 npx 来运行 npm 包 "args": ["mcp-github-issue"] // 命令参数,这里指定要运行的 npm 包为 mcp-github-issue } } }
配置说明:
- '"github-issue"': 是您为该 MCP 服务器定义的名称,在客户端调用工具时会使用此名称。您可以自定义此名称。
- '"command": "npx"' 和 '"args": ["mcp-github-issue"]': 指定了启动 MCP 服务器的命令。'npx mcp-github-issue' 会执行安装在 npm 包中的 'mcp-github-issue' 命令,从而启动服务器。
基本使用方法
-
启动 MCP GitHub Issue Server: 根据上述安装和配置步骤启动服务器。
-
在 LLM 客户端中使用 'get_issue_task' 工具: 在支持 MCP 协议的 LLM 客户端中,您可以使用 '<use_mcp_tool>' 标签来调用 'github-issue' 服务器的 'get_issue_task' 工具。以下是一个使用示例:
<use_mcp_tool> <server_name>github-issue</server_name> <tool_name>get_issue_task</tool_name> <arguments> { "url": "https://github.com/owner/repo/issues/123" // 替换为实际的 GitHub issue URL } </arguments> </use_mcp_tool>将 '<arguments>' 中的 'url' 替换为您想要获取的 GitHub issue 的实际 URL。LLM 客户端会将此请求发送到 MCP GitHub Issue Server,服务器会返回包含 issue 标题、描述和来源链接的 JSON 格式响应。
响应示例:
{ "task": { "title": "Issue Title", "description": "Issue Description/Body", "source": "https://github.com/owner/repo/issues/123" } }LLM 可以解析此响应,并使用 'task' 对象中的信息作为上下文来执行后续任务。
信息
分类
开发者工具