GitHub项目管理工具

一个基于MCP协议的GitHub项目管理服务器,提供与GitHub CLI的集成,用于管理issues、pull requests和GitHub Projects。

  • by marioalvial
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 marioalvial/gh-project-manager-mcp

使用说明

GitHub项目经理MCP

一个模型上下文协议(MCP)服务器,用于管理GitHub上的项目。

描述

本项目实施了一个专门从事GitHub项目管理操作的MCP服务器,提供与GitHub CLI的集成(gh对于常见任务,如:

  • 问题管理
  • 撤销请求
  • 未来:与GitHub项目集成

使用 Docker

Docker 映像会在每个版本中自动发布到 GitHub 容器注册表:

docker run -i --rm -e GH_TOKEN=seu_token ghcr.io/marioalvial/gh-project-manager-mcp

MCP 光标配置

要将此 MCP 与光标一起使用,请将以下设置添加到您的 .cursor/mcp.json:

"gh-project-manager": {
  "command": "docker",
  "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GH_TOKEN",
    "ghcr.io/marioalvial/gh-project-manager-mcp"
  ],
  "env": {
    "GH_TOKEN": "seu_token_github"
  }
}

版本控制

本项目使用 语义版本控制 并根据提交模式自动发布新版本。

集成测试

该项目包括一套全面的集成测试,用实际的GitHub API验证我们的GitHubMCP工具的功能。这些测试在测试执行期间创建和管理真实的GitHub资源,并在之后进行清理。

运行集成测试

要运行集成测试,您需要一个具有适当权限的GitHub令牌:

  1. 创建至少具有以下范围的GitHub个人访问令牌: repo, project
  2. 创建一个 .env 项目根目录中的文件,内容如下:
    GH_INTEGRATION_TEST_TOKEN=your_github_token_here
    GH_INTEGRATION_TEST_OWNER=marioalvial  # or your own username/organization
    GH_INTEGRATION_TEST_REPO=gh-project-manager-mcp  # or your own repository
    GH_INTEGRATION_TEST_PROJECT_ID=your_project_id  # required for project tests
    
  3. 运行集成测试:
    make function-integration-test
    

测试方法

集成测试使用对实现函数的直接函数调用,绕过MCP协议层,专注于核心GitHub CLI交互。这种方法确保:

  1. 我们的工具实现与GitHub CLI命令正确交互
  2. 按预期进行资源创建和清理工作
  3. 错误处理在各种情况下都很稳健,包括令牌权限限制

测试旨在处理各种GitHub API限制和令牌权限场景,自动跳过或调整需要所提供令牌不可用权限的测试。

注意:测试创建和管理真实的GitHub资源(问题、PR、分支等),因此请确保使用测试存储库以避免生产存储库中的混乱。

拉取请求测试的测试线-PR测试的更新。

演示公关

此更改演示了如何使用MCP工具创建PR。