G

GitHub 项目管理器

@kunwarVivek/mcp-github-project-manager
0 Stars 353 次浏览 kunwarVivek 更新于 2026-08-23

为管理 GitHub 项目、里程碑、任务和冲刺提供了全面的工具。该服务器与 GitHub Projects V2 深度集成,提供了自动看板工作流、冲刺计划和自定义字段管理等功能。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "github-project-manager": {
      "args": [
        "/c",
        "npx",
        "-y",
        "mcp-github-project-manager"
      ],
      "command": "cmd"
    }
  }
}

服务介绍

GitHub 项目管理 MCP 服务器

这是一个实现模型上下文协议 (MCP) 的服务器,通过标准化的工具和资源提供 GitHub 项目功能。该服务器使 LLM 客户端能够通过 MCP 接口以编程方式管理 GitHub 项目。

概述

该服务器实现了 模型上下文协议,将 GitHub 项目功能暴露给 LLM 客户端。它通过 GitHub 的 GraphQL API 提供了管理和配置项目的工具,同时根据 MCP 规范维护状态并处理错误。

主要特性

  • 项目管理

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

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

    • 完全符合 MCP 规范
    • 使用 Zod 验证的标准工具定义
    • 资源状态管理
    • 渐进式响应处理
    • 全面的错误处理
  • GitHub 集成

    • 带分页支持的 GraphQL API 集成
    • 智能速率限制处理
    • 乐观并发
    • Webhook 支持(计划中)

安装

# Install dependencies
npm install
# or
pnpm install

# Set up environment variables
cp .env.example .env
# Edit .env with your GitHub token and details

配置

必需的环境变量:

GITHUB_TOKEN=your_github_token
GITHUB_OWNER=repository_owner
GITHUB_REPO=repository_name

GitHub 令牌需要以下权限:

  • repo(完全仓库访问权限)
  • project(项目访问权限)
  • write:org(组织访问权限)

使用

# Start the MCP server
npm start

# Run tests
npm test
npm run test:e2e

请参阅 用户指南 获取详细的使用说明。

架构

服务器遵循 Clean Architecture 原则,具有明确的层次结构:

  • 领域层:核心实体、存储库接口和 Zod 模式
  • 基础设施层:GitHub API 集成和实现
  • 服务层:业务逻辑协调
  • MCP 层:工具定义和请求处理

请参阅 ARCHITECTURE.md 获取详细的架构文档。

当前状态

核心功能

功能 状态 备注
项目创建 ✅ 完成 完全支持 v2 项目
里程碑管理 ✅ 完成 实现了 CRUD 操作
冲刺计划 ✅ 完成 包括指标跟踪
问题管理 ✅ 完成 支持自定义字段
资源版本控制 ✅ 完成 带有乐观锁定和模式验证
Webhook 集成 📅 计划中 实时更新

MCP 实现

组件 状态 备注
工具定义 ✅ 完成 所有核心工具已使用 Zod 验证实现
资源管理 ✅ 完成 带乐观锁和关系跟踪
响应处理 ✅ 完成 支持多种内容类型的丰富内容格式化
错误处理 ✅ 完成 全面的错误映射到 MCP 错误代码
状态管理 ✅ 完成 带冲突解决和速率限制

最近的改进

  • 增强资源系统

    • 为所有资源类型添加了 Zod 模式验证
    • 实现了资源关系跟踪
    • 创建了一个集中的 ResourceFactory 以保持一致的资源访问
  • 改进 GitHub API 集成

    • 添加了自动节流的智能速率限制
    • 为 REST 和 GraphQL API 实现了分页支持
    • 通过特定错误类型增强了错误处理
  • 高级工具系统

    • 创建了带 Zod 验证的工具定义注册表
    • 实现了标准化的工具响应格式
    • 为所有工具添加了基于示例的文档
  • 丰富的响应格式

    • 支持多种内容类型(JSON、Markdown、HTML、文本)
    • 对长时间运行的操作实现了进度更新
    • 为大型结果集添加了分页支持

已识别的功能缺口

尽管最近有所改进,但以下功能缺口仍然存在,并被优先考虑在未来开发中解决:

  1. 持久缓存策略

    • 尽管 ResourceCache 提供了内存缓存,但它缺乏跨服务器重启的持久性
    • 没有多实例部署的分布式缓存
    • 缺少用于内存管理的缓存淘汰策略
  2. 实时事件处理

    • 没有用于从 GitHub 获取实时更新的 webhook 集成
    • 缺少客户端的基于事件的订阅系统
    • 缺少用于流式更新的服务器发送事件 (SSE) 支持
  3. 高级 GitHub Projects v2 功能

    • 对自定义字段类型和验证的支持有限
    • 与 GitHub 较新的 Projects v2 字段类型集成不完全
    • 缺少自动化规则管理
  4. 性能优化

    • 没有关联资源的查询批处理
    • 缺少频繁访问资源的后台刷新
    • 关联资源的预取不完整
  5. 数据可视化和报告

    • 没有内置的指标可视化生成器
    • 缺少报告生成功能
    • 时间序列数据分析能力有限

详见 docs/mcp/gaps-analysis.md 了解详细的实施状态。

文档

交互式文档

要交互式地探索 API,请在浏览器中打开 API Explorer

开发

测试

# Unit tests
npm test

# Integration tests
npm run test:integration

# End-to-end tests
npm run test:e2e

代码质量

# Lint code
npm run lint

# Type check
npm run type-check

# Format code
npm run format

贡献

我们欢迎对 GitHub Project Manager MCP Server 的贡献!请参阅我们的 贡献指南,了解以下内容:

许可证

MIT

相关 MCP 服务