github-projects
Provides tools for managing GitHub Projects v2 boards, including listing projects, fields, items, and views; creating and updating projects; adding issues/PRs and draft items; setting and clearing field values; archiving/deleting items; reconciling desired board state; and generating sprint and epic-breakdown views.
Click on "Install 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., "@github-projectsWhat's on the sprint board for project 42?"
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.
github-projects
A plugin for Claude Code and Codex: Pydantic v2 models, PEP 544
protocols, and an MCP server for managing GitHub Projects v2 boards
(e.g. github.com/users/<owner>/projects/<n>) — with first-class support
for the draft HTTP QUERY method.
Architecture
server.py MCP server (mcp SDK v2, stdio) — 19 tools, structured output
│ depends on
protocols.py ProjectsBackend / GraphQLTransport (runtime-checkable Protocols)
│ implemented by
service.py GitHubProjectsService — GraphQL over the transport,
project-id + field caching, string→typed field-value coercion
graphql.py GraphQL documents (works for both user and org owners)
http.py QueryClient — HTTP QUERY (draft-ietf-httpbis-safe-method-w-body)
with per-origin capability memory and POST fallback
models.py Frozen Pydantic v2 models, __typename-discriminated unionsThe MCP layer depends only on the
ProjectsBackendprotocol, so backends are swappable and tests substitute fakes structurally.QueryClientsendsQUERYoptimistically, recordsAccept-Queryadvertisements, retries once on transport errors (QUERY is safe and idempotent), and permanently falls back toPOSTper origin on 405/501 — so it works against GitHub today and upgrades itself when GitHub ships QUERY support.
Setup
The primary runtime is CPython 3.14.7 free-threaded (3.14.7t). It also
requires the gh CLI to be authenticated with the project scope:
gh auth refresh -s project # grants read + write for Projects v2Tokens are resolved from GITHUB_TOKEN / GH_TOKEN, else gh auth token.
uv sync
uv run pytest # 32 tests
uv run gh-projects-mcp # run the server on stdioUsing it from Claude Code and Codex
From the repository root:
# Claude Code (registered user-wide)
claude mcp add --scope user github-projects -- uv --directory "$PWD" run gh-projects-mcp
# Codex
codex mcp add github-projects -- uv --directory "$PWD" run gh-projects-mcpPlugin manifests live in .claude-plugin/plugin.json (with the MCP server
declared via ${CLAUDE_PLUGIN_ROOT}) and .codex-plugin/plugin.json; a
usage skill for both hosts is in skills/github-projects/SKILL.md.
Tools
Tool | Purpose |
| List boards for a user/org (optional search) |
| Board by owner + number |
| Fields incl. single-select options and iterations |
| Items with content + field values, optionally evaluated through a saved-view filter query |
| Create board; edit title/readme/visibility/closed |
| Add an issue/PR by URL |
| Add a draft issue |
| Set a field; values are strings coerced by field type — single-select and iteration match by name ( |
| Clear a field |
| Archive or remove an item |
| Idempotent desired-state reconciliation: fields and option aliases, semantically verified leaf/container views, ordered columns, explicit retirements, item metadata, epic/sub-issue hierarchy, native issue dependencies, and legacy dependency-prose cleanup |
| Status-column view of one iteration (or all items + unplanned bucket) |
| Per-epic completion rollup from the native sub-issue hierarchy |
| Saved views with name, layout, filter, and ordered visible fields |
| The project's long-horizon context trail |
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kmosoti/github-projects'
If you have feedback or need assistance with the MCP directory API, please join our Discord server