GitHub项目管理工具

一个通过Model Context Protocol (MCP)服务器提供GitHub Projects V2管理功能的工具,支持项目、字段和项目的增删改查操作。

  • by Arclio
  • Python
  • 本地部署
  • 32 星标
  • 更新于
在 GitHub 查看 Arclio/github-projects-mcp

使用说明

GitHub项目V2 MCP服务器

一个模型上下文协议(MCP)服务器,提供管理GitHub的工具 Claude和其他MCP客户的项目V2。此服务器使用GitHub GraphQL API用于与GitHub项目V2交互。

特性

  • 为用户和组织列出并查看GitHub Projects V2
  • 获取项目字段和项目(问题、PR、草稿问题)
  • 创建问题并将其添加到项目中
  • 直接在项目中创建草稿问题
  • 更新项目项字段值
  • 从项目中删除项目

用法

此服务器可以与任何MCP客户端一起使用,例如Claude Desktop。添加到 您的MCP客户端配置(例如。, claude_desktop_config.json).

选项1:使用已发布的包

以下是一个示例配置,使用 uvx 作为命令执行者:

{
  "mcpServers": {
    "github-projects": {
      "command": "uvx",
      "args": [
        "mcp-github-projects"
      ],
      "env": {
        "GITHUB_TOKEN": "your_pat_here"
      }
    }
  }
}

确保更换 your_pat_here 使用您的实际GitHub个人访问权限 令牌。

选项2:源代码

要直接从源代码运行项目,请执行以下步骤:

设置

  1. 克隆存储库:

    git clone git@github.com:Arclio/github-projects-mcp.git
    cd github-projects-mcp
    
  2. 创建并激活虚拟环境:

    uv venv
    source venv/bin/activate
    
  3. 安装依赖项:

    uv pip install -e .
    
  4. 将您的GitHub令牌设置为环境变量:

    创建GitHub个人访问令牌 并给予它必要的权限。 所需权限为: repo, project,以及 read:org.

    将令牌添加到您的 .env 运行此命令后的文件:

    cp .env.example .env
    

    然后将以下内容添加到您的 .env 文件:

    export GITHUB_TOKEN=your_personal_access_token
    

源代码用法

从源代码使用时,请按如下方式配置MCP客户端:

{
  "mcpServers": {
    "github-projects": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/github-projects-mcp",
        "run",
        "mcp-github-projects"
      ],
      "env": {
        "GITHUB_TOKEN": "your_pat_here"
      }
    }
  }
}

确保更换 /path/to/github-projects-mcp 和 your_pat_here 随着 您的实际存储库路径和GitHub个人访问令牌。

可用工具

  • list_projects:列出给定组织或用户的GitHub Projects V2
  • get_project_fields:获取GitHub Project V2中的可用字段
  • get_project_items:获取GitHub Project V2中的项目(支持按以下方式过滤 状态或自定义单选字段)
  • create_issue:创建新的GitHub问题
  • add_issue_to_project:将现有的GitHub问题添加到Project V2
  • update_project_item_field:更新项目项的字段值
  • create_draft_issue:直接在GitHub Project V2中创建草稿问题
  • delete_project_item:从GitHub Project V2中删除项目

有关详细的使用信息,请参阅服务器代码中的工具文档。

发展

该项目的结构如下:

  • src/github_projects_mcp/:主包目录
    • server.py:带有工具定义的MCP服务器实现
    • github_client.py:用于GitHub API交互的GraphQL客户端

要做出贡献,请确保:

  1. 为所有GraphQL操作添加适当的错误处理
  2. 为所有函数和参数添加类型注释
  3. 添加新工具或功能时更新文档