返回 MCP 目录
public公开dns本地运行

mcp-github-project-manager

一个实现Model Context Protocol的GitHub项目管理服务器,通过标准化工具为LLM客户端提供GitHub项目的程序化管理功能。

article

README

🚀 GitHub 项目管理 MCP 服务器

该项目实现了 Model Context Protocol (MCP) 服务器,借助标准化工具和资源来提供 GitHub Projects 功能。LLM 客户端可通过 MCP 接口对 GitHub 项目进行编程式管理,极大提升了项目管理的便捷性和效率。

🚀 快速开始

此服务器实现了 Model Context Protocol,旨在向 LLM 客户端暴露 GitHub Projects 功能。它提供了一系列工具,可通过 GitHub 的 GraphQL API 管理项目、里程碑、冲刺和指标,同时依据 MCP 规范维护状态并处理错误。

启动服务器,对于使用 npm 的用户:

npm start

对于使用 Yarn 的用户:

yarn start

示例命令:获取用户信息

curl http://localhost:3000/api/users

✨ 主要特性

  • 项目管理

    • 创建和管理 GitHub Projects (v2)
    • 处理项目设置和配置
    • 管理项目可见性和访问权限
  • 项目资源

    • 问题和里程碑的管理
    • 冲刺规划和跟踪
    • 自定义字段和视图
    • 资源版本控制和锁定
  • MCP 实现

    • 完整的 MCP 规范合规性
    • 标准化工具定义与 Zod 验证
    • 资源状态管理
    • 进度式响应处理
    • 全面错误处理
  • GitHub 集成

    • 带分页支持的 GraphQL API 集成
    • 智能访问令牌
    • 带自动重试和断路器的稳健 HTTP 客户端
    • 资源速率限制和排队

📦 安装指南

安装依赖项

使用包管理工具安装项目依赖,对于 npm 用户:

npm install

对于 Yarn 用户:

yarn install

配置

创建 config.json 文件并添加以下内容:

{
  "github": {
    "clientId": "YOUR_GITHUB_CLIENT_ID",
    "clientSecret": "YOUR_GITHUB_CLIENT_SECRET"
  }
}

🔧 技术细节

  • 分层架构:拥有清晰的分层结构,便于系统的维护和扩展。
  • 模块化设计:将核心功能分解为独立模块,提高了代码的复用性。
  • 依赖注入:通过依赖注入实现松耦合组件。

📚 详细文档

当前状态分析

已实现的功能

| 功能 | 描述 | |------|------| | 用户管理 | 创建、读取、更新和删除用户 | | 项目管理 | 管理 GitHub Projects (v2) | | 品格管理 | 管理问题和里程碑 |

待办事项

| 功能 | 描述 | 状态 | |------|------|------| | 角色与权限控制 | 实现细粒度访问控制 | 进行中 | | 审计日志 | 记录操作日志 | 未开始 | | API 文档生成 | 自动生成 API 文档 | 未开始 |

文档链接

交互式文档

在浏览器中打开 API 探索器 进行交互式 API 探索。

开发相关

测试

# 单元测试
npm test

# 集成测试
npm run test:integration

# 端到端测试
npm run test:e2e

代码质量

# 格式化代码
npm run lint

# 类型检查
npm run type-check

# 编码格式化
npm run format

贡献指南

我们欢迎对 GitHub Project Manager MCP Server 的贡献!请参考我们的 贡献指南 了解详细信息:

📄 许可证

MIT

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端