项目简介

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。

安装步骤

  1. 克隆仓库
git clone https://github.com/kunwarVivek/mcp-github-project-manager.git
cd mcp-github-project-manager
  1. 安装依赖

使用 npm 或 pnpm 安装项目依赖:

npm install
# 或
pnpm install
  1. 配置环境变量

复制 '.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 服务器运行的环境中正确设置。

基本使用方法

  1. 启动 MCP 服务器

在仓库根目录下运行以下命令启动 MCP 服务器:

npm start

服务器成功启动后,会在控制台输出 "GitHub Project Manager MCP server running on stdio"。

  1. 运行测试 (可选)

为了确保服务器运行正常,可以运行提供的测试命令:

npm test         # 运行单元测试
npm run test:e2e # 运行端到端测试
  1. 使用 MCP 客户端连接

配置 MCP 客户端,使用上面提供的服务器配置信息连接到 GitHub Project Manager MCP Server。客户端可以通过 JSON-RPC 协议调用服务器提供的工具和资源,例如调用 'create_roadmap' 工具创建项目 roadmap,或调用 'plan_sprint' 工具规划 sprint。

详细使用方法请参考仓库中的 User Guide 文档。

信息

分类

开发者工具