MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

G
Github Projects MCP

A Model Context Protocol (MCP) server that brings full GitHub Projects v2 (Kanban board) support to Claude Desktop — powered by the GitHub GraphQL API.

创建于 4/19/2026
更新于 about 2 hours ago
Repository documentation and setup instructions

github-projects-mcp

A Model Context Protocol (MCP) server that brings full GitHub Projects v2 (Kanban board) support to Claude Desktop — powered by the GitHub GraphQL API.

The official GitHub MCP connector only covers the REST API, which has no access to GitHub Projects v2. This server fills that gap by exposing five GraphQL-backed tools that let Claude manage your Kanban boards, create issues, and move cards — all without leaving the conversation.


Features

  • 📋 List board items — see all issues/PRs and their current column status
  • 🔀 Move Kanban items — drag cards between columns (Todo → In Progress → Done) programmatically
  • 🔍 Get project metadata — inspect fields, status options, and project structure
  • ✍️ Create issues — open new issues directly from Claude
  • Add issues to a project — link existing issues to any project board

Requirements

  • Node.js v18 or higher
  • Claude Desktop
  • A GitHub Personal Access Token (classic) with the following scopes:
    • repo
    • project

Installation

1. Clone the repository

git clone https://github.com/johnmikepty/github-projects-mcp.git
cd github-projects-mcp

2. Install dependencies and build

npm install
npm run build

3. Generate a GitHub Token

Go to https://github.com/settings/tokensGenerate new token (classic)

Required scopes:

| Scope | Reason | |---|---| | repo | Read issues and repository data | | project | Read and write Projects v2 boards |

4. Register in Claude Desktop

Edit your Claude Desktop configuration file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Add the following entry inside mcpServers:

{
  "mcpServers": {
    "github-projects": {
      "command": "node",
      "args": ["C:\\path\\to\\github-projects-mcp\\dist\\index.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

Note: On Windows use double backslashes (\\) in the path.

5. Restart Claude Desktop

Close and reopen Claude Desktop completely. You should see github-projects listed under connected MCP servers in Settings → Connectors.


Tools

get_project

Get project metadata including all fields and available status column options.

| Parameter | Type | Description | |---|---|---| | owner | string | GitHub username or organization | | projectNumber | number | Project number (from the URL) |

list_project_items

List all issues and PRs on the board with their current status column.

| Parameter | Type | Description | |---|---|---| | owner | string | GitHub username or organization | | projectNumber | number | Project number |

move_project_item

Move an issue or PR to a different status column on the Kanban board.

| Parameter | Type | Description | |---|---|---| | owner | string | GitHub username or organization | | projectNumber | number | Project number | | issueNumber | number | Issue or PR number | | targetStatus | string | Target column name e.g. Todo, In Progress, Done |

create_issue

Create a new GitHub issue in any repository.

| Parameter | Type | Description | |---|---|---| | owner | string | GitHub username or organization | | repo | string | Repository name | | title | string | Issue title | | body | string (optional) | Issue body (Markdown supported) |

add_issue_to_project

Add an existing issue to a project board by its GraphQL node ID.

| Parameter | Type | Description | |---|---|---| | owner | string | GitHub username or organization | | projectNumber | number | Project number | | issueNodeId | string | Issue node ID (starts with I_kw...) |


Usage Examples

Once registered, you can ask Claude naturally:

List all items in project 9 of johnmikepty
Move issue #15 to Done in project 9 of johnmikepty
Create an issue titled "Fix login bug" in johnmikepty/my-app
What issues are still in Backlog in project 9?

Development

Run without building (uses tsx for on-the-fly TypeScript execution):

GITHUB_TOKEN=ghp_your_token npm run dev

Build for production:

npm run build
npm start

Project Structure

github-projects-mcp/
├── src/
│   ├── index.ts              → MCP server entry point, tool definitions
│   ├── graphql.ts            → Reusable GitHub GraphQL client
│   └── tools/
│       ├── get-project.ts    → Fetch project metadata
│       ├── list-items.ts     → List board items with status
│       ├── move-item.ts      → Move item to a status column
│       ├── create-issue.ts   → Create a new issue
│       └── add-to-project.ts → Add issue to a project board
├── dist/                     → Compiled output (generated by build)
├── package.json
├── tsconfig.json
└── README.md

Why This Exists

The official GitHub MCP connector uses the REST API, which does not support GitHub Projects v2. Moving Kanban cards requires the GraphQL API (updateProjectV2ItemFieldValue mutation). This server bridges that gap so Claude can manage your entire project workflow — creating issues, tracking progress, and closing cards — without ever leaving the chat.


Contributing

Pull requests are welcome. If you'd like to add new tools (e.g., filtering by assignee, milestone support, or org-level projects), feel free to open an issue or submit a PR.


License

MIT

快速设置
此服务器的安装指南

安装包 (如果需要)

npx @modelcontextprotocol/server-github-projects-mcp

Cursor 配置 (mcp.json)

{ "mcpServers": { "johnmikepty-github-projects-mcp": { "command": "npx", "args": [ "johnmikepty-github-projects-mcp" ] } } }