gh-board-mcp
This server lets you manage GitHub Projects v2 boards as a personal kanban board, creating and organizing draft activities without linking to real issues.
List your GitHub Projects v2 boards.
Create new boards with default Status (Todo/In Progress/Done) and Priority (Urgent/High/Medium/Low) fields.
List activities/draft items in a board, filtered by status or priority.
Create activities with title, description, and optional status/priority.
Move activities to a different status and optionally set priority.
Update an activity's title and/or description.
Delete activities permanently.
Archive and unarchive activities to hide/restore them (per README; not in the supplied schema).
Provides tools for managing GitHub Projects v2 boards as a personal kanban system, including creating, moving, updating, and deleting activities (draft items) and filtering by status and priority.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gh-board-mcp Add a new activity called 'Write specs' with priority High"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gh-board-mcp
MCP server for managing GitHub Projects v2 as a personal kanban board. Create activities (draft items), move them between columns, track priority — without linking to real issues.
Requirements
Node.js >= 18
A GitHub Personal Access Token with the project scope (fine-grained: Projects read/write)
Related MCP server: GitHub Project MCP Server
Usage
The package is published on npm — any MCP client can launch it with npx gh-board-mcp:
GITHUB_TOKEN=ghp_xxx npx -y gh-board-mcpClaude Code
Register it globally (available in all projects):
claude mcp add gh-board-mcp -s user -e GITHUB_TOKEN=ghp_xxx -- npx -y gh-board-mcp-s user→ global config (all projects); use-s projectto scope it to a single repo.-e GITHUB_TOKEN=...sets the token env var; the--separates the server command.Verify with
claude mcp list→gh-board-mcpshould showConnected.
OpenCode
Add it to the global config at ~/.config/opencode/opencode.json (or .jsonc):
{
"mcp": {
"gh-board-mcp": {
"type": "local",
"command": ["npx", "-y", "gh-board-mcp"],
"enabled": true,
"environment": {
"GITHUB_TOKEN": "ghp_xxx"
}
}
}
}Verify with opencode mcp list → gh-board-mcp should show connected.
Tools
Tool | Description |
| List your GitHub Projects v2 boards |
| Create a new board (default Status + Priority fields, opens with a board view) |
| List activities (draft items), filter by status/priority |
| Create an activity with optional status/priority |
| Move an activity to another status (and set priority) |
| Edit an activity's title/description |
| Delete an activity (permanent) |
| Archive an activity (hidden from lists, reversible) |
| Restore an archived activity |
Status & Priority
create_projectcreates a new board with Status = Todo / In Progress / Done, Priority = Urgent / High / Medium / Low, and a board (kanban) view as its default view.Boards created from a GitHub template keep their own Status/Priority options — pass values that exist on the board.
create_activity,move_activity, andlist_activitiesreport the valid options when given an unknown value.Custom columns are not supported via the API (configure them in the GitHub UI).
Notes
Read cap:
list_activitiesandlist_projectsread up to 100 items / projects in one call; larger boards are truncated.Archive ≠ delete:
archive_activityhides an item fromlist_activitiesbut keeps it (restorable viaunarchive_activity);delete_activityremoves it permanently.Eventual consistency: GitHub Projects v2 writes can take a moment to appear in reads — a
list_activitiesimmediately aftercreate_activitymay briefly miss the new item.Create is not atomic:
create_activityvalidates the status/priority options before creating, so a bad option leaves nothing behind; a transient network error mid-create can still leave a draft without its field values.
Development
npm install
npm test
npm run build
npm run devLicense
MIT
Available Tools
7 toolscreate_activityA
Create a new activity (draft item) in a board. Optionally set an initial status and priority.
Inputs: title (required), projectNumber (required), status, priority, +1 more.
create_projectA
Create a new GitHub Project v2 board with default Status (Todo/In Progress/Done) and Priority (Urgent/High/Medium/Low) fields.
Inputs: name (required).
delete_activityB
Delete an activity (draft item) from a board.
Inputs: itemId (required), projectNumber (required).
list_activitiesA
List activities (draft items) in a board. Filter by status and/or priority. Valid values depend on the project (new boards: Todo, In Progress, Done / Urgent, High, Medium, Low).
Inputs: projectNumber (required), status, priority.
list_projectsA
List all GitHub Projects v2 boards owned by the authenticated user.
Inputs: no named parameters.
move_activityB
Move an activity to a different status and optionally set its priority. Valid values depend on the project (new boards: Todo, In Progress, Done / Urgent, High, Medium, Low).
Inputs: itemId (required), status (required), projectNumber (required), priority.
update_activityA
Edit the title and/or description of an activity (draft item).
Inputs: itemId (required), projectNumber (required), title, description.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool targets a distinct resource or action: projects (list/create) vs activities (create/list/move/update/delete). No two tools have overlapping purposes, and descriptions clearly differentiate them.
All tools follow a consistent verb_noun pattern where listing uses plural nouns (list_projects, list_activities) and other actions use singular nouns (create_project, create_activity, move_activity, update_activity, delete_activity).
With 7 tools, the server covers the essential operations for GitHub Projects v2 board management without being bloated or minimal. Each tool serves a clear and necessary purpose.
Core CRUD on activities is mostly covered, but missing operations like updating or deleting a project are notable omissions. There is no tool to retrieve a single activity by ID, though list_activities with filters partially compensates.
Related MCP Connectors
Create and drive KanbanThing kanban boards. No account, no API key, board link required.
A todo and task board in kanban form, driven from chat with full CRUD.
Kanban tasks and project notes for AI clients, with OAuth and per-project read or write grants.
Work tracker for teams: create, triage, and update issues, projects, and milestones as yourself.
1
Related MCP Servers
- AlicenseBqualityBmaintenanceProvides comprehensive tools for managing GitHub projects, milestones, tasks, and sprints. This server integrates deeply with GitHub Projects V2, offering features like automated kanban workflows, sprint planning, and custom field management.211,038 npm105MIT
- AlicenseNot gradedqualityDmaintenanceEnables management of GitHub projects and issues using GitHub's GraphQL API. Supports creating/updating issues with images, managing labels and assignees, organizing ProjectsV2 boards, and updating project item statuses.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables managing GitHub Project views, priorities, dependencies, and metrics through natural language.1MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage GitHub Projects V2, including items, fields, and views through a standardized interface.178 npm1MIT