GitHub项目管理MCP服务

一个用于GitHub Projects v2任务管理的模型上下文协议(MCP)服务器,提供项目列表、项目项操作、字段更新等功能。

  • by Kohsuk3
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Kohsuk3/github-projects-mcp

使用说明

GitHub项目MCP服务器

用于GitHub Projects v2任务管理的模型上下文协议(MCP)服务器。

特性

  • 项目管理:列出并检索GitHub项目v2
  • 项目操作:项目项的CRUD操作(问题、草稿问题、PR)
  • 现场更新:更新自定义字段,包括状态、日期、文本、数字
  • 分页:支持基于光标的分页的大型项目
  • 类型安全:通过Zod验证完全支持TypeScript

安装

npm install
npm run build

用法

环境变量

必修的:

  • GITHUB_TOKEN:个人访问令牌 repo 和 project 范围

运行服务器

# Development
npm run dev

# Production
npm run start

MCP配置

添加到您的MCP客户端配置中(例如Windsurf/Cascade):

{
  "mcpServers": {
    "github-projects": {
      "command": "node",
      "args": ["path/to/projects-mcp/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "your-github-token"
      }
    }
  }
}

可用工具

list_项目

列出存储库的GitHub Projects v2。

参数:

  • owner:存储库所有者
  • repo:存储库名称

get_工程

获取特定项目的详细信息。

参数:

  • projectId:项目ID

list_project_items

使用分页列出项目中的项目。

参数:

  • projectId:项目ID
  • first:要获取的项目数(默认值:20)
  • after:分页光标

创建项目

将现有问题添加到项目中。

参数:

  • projectId:项目ID
  • contentId:发布或提取请求ID以添加到项目中

add_draft_issue

将草稿问题添加到项目中。

参数:

  • projectId:项目ID
  • title:问题标题草案
  • body:议题机构草案(可选)

update_item_field

更新项目项的字段值。

参数:

  • projectId:项目ID
  • itemId:项目ID
  • fieldId:字段ID
  • value:字段值(optionId、文本、数字或日期)

删除项目

从项目中删除项目。

参数:

  • projectId:项目ID
  • itemId:项目ID

例子

列出存储库的项目

# Via MCP client
list_projects(owner="Kohsuk3", repo="p-sensor")

将草稿问题添加到积压中

add_draft_issue(
  projectId="your-project-id",
  title="Implement new feature",
  body="Description of the feature to implement"
)

更新项目状态

update_item_field(
  projectId="your-project-id",
  itemId="item-id",
  fieldId="status-field-id",
  value={ optionId: "in-progress-option-id" }
)

发展

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development mode
npm run dev

许可证

麻省理工学院