项目简介
GitHub Project Manager MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为 LLM 客户端提供 GitHub 项目管理能力。它通过标准化的工具和资源,使得 LLM 能够以编程方式管理 GitHub Projects (v2),包括项目、里程碑、sprint 和指标等。该服务器完全兼容 MCP 规范,并集成了 GitHub GraphQL API,为 LLM 应用提供了一个安全、可扩展的上下文服务框架,简化了 LLM 与 GitHub 项目数据的交互。
主要功能点
- GitHub 项目管理: 支持创建、配置和管理 GitHub Projects (v2),包括项目设置、可见性和访问权限控制。
- 项目资源管理: 提供 Issues(问题)、Milestones(里程碑)、Sprints(迭代)和 Custom Fields(自定义字段)等项目资源的管理能力,支持版本控制和状态管理。
- MCP 协议实现: 完全遵循 MCP 规范,提供标准化的工具定义和资源状态管理,支持渐进式响应和全面的错误处理。
- GitHub 集成: 通过 GitHub GraphQL API 进行数据交互,具备速率限制处理和乐观并发控制能力,并计划支持 Webhook 实现实时更新。
- 工具 (Tools):
- 'create_roadmap': 创建包含里程碑和任务的项目 roadmap。
- 'plan_sprint': 规划包含选定 issues 的 sprint。
安装步骤
- 克隆仓库
git clone https://github.com/kunwarVivek/mcp-github-project-manager.git cd mcp-github-project-manager
- 安装依赖
使用 npm 或 pnpm 安装项目依赖:
npm install # 或 pnpm install
- 配置环境变量
复制 '.env.example' 文件并重命名为 '.env',然后编辑 '.env' 文件,填入你的 GitHub Token 和仓库信息。
cp .env.example .env
编辑 '.env' 文件,配置以下环境变量:
GITHUB_TOKEN=your_github_token # 你的 GitHub Personal Access Token,需要 repo, project, write:org 权限 GITHUB_OWNER=repository_owner # GitHub 仓库的 owner (用户名或组织名) GITHUB_REPO=repository_name # GitHub 仓库名
注意: 'GITHUB_TOKEN' 需要 'repo' (完整仓库访问权限), 'project' (项目访问权限) 和 'write:org' (组织写入权限)。可以使用仓库中提供的 'get-github-token.js' 脚本辅助获取 Token。
服务器配置
MCP 客户端需要配置以下 JSON 格式信息以启动和连接 GitHub Project Manager MCP Server:
{ "serverName": "github-project-manager", // 服务名称,与server capabilities中的name一致 "command": "npm", // 启动服务器的命令,这里使用 npm "args": ["start"] // 启动命令的参数,这里使用 "start" 运行 npm start 命令 }
配置参数说明:
- 'serverName': 必须设置为 '"github-project-manager"',这与服务器声明的名称一致。
- 'command': 设置为 '"npm"',表示使用 npm 命令来启动服务器。
- 'args': 设置为 '["start"]',这是 'npm start' 命令的参数,用于运行 package.json 中定义的 start 脚本。
MCP 客户端需要确保在运行上述命令时,能够找到 'node' 和 'npm' 命令,并且当前工作目录是 'mcp-github-project-manager' 仓库的根目录。 环境变量 'GITHUB_TOKEN', 'GITHUB_OWNER', 'GITHUB_REPO' 需要在 MCP 服务器运行的环境中正确设置。
基本使用方法
- 启动 MCP 服务器
在仓库根目录下运行以下命令启动 MCP 服务器:
npm start
服务器成功启动后,会在控制台输出 "GitHub Project Manager MCP server running on stdio"。
- 运行测试 (可选)
为了确保服务器运行正常,可以运行提供的测试命令:
npm test # 运行单元测试 npm run test:e2e # 运行端到端测试
- 使用 MCP 客户端连接
配置 MCP 客户端,使用上面提供的服务器配置信息连接到 GitHub Project Manager MCP Server。客户端可以通过 JSON-RPC 协议调用服务器提供的工具和资源,例如调用 'create_roadmap' 工具创建项目 roadmap,或调用 'plan_sprint' 工具规划 sprint。
详细使用方法请参考仓库中的 User Guide 文档。
信息
分类
开发者工具