Skip to content

chore: Add GitHub Projects MCP server for AI agent board access#130

Merged
tablackburn merged 1 commit into
mainfrom
chore/add-github-projects-mcp
Jul 4, 2026
Merged

chore: Add GitHub Projects MCP server for AI agent board access#130
tablackburn merged 1 commit into
mainfrom
chore/add-github-projects-mcp

Conversation

@tablackburn

Copy link
Copy Markdown
Contributor

Summary

  • Adds a repo-scoped .mcp.json pointing at the official GitHub MCP server's projects toolset (projects_list, projects_get, projects_write), giving AI agents full CRUD access to the psake org project board
  • Claude Code cloud sessions cannot reach Projects v2 any other way: their GitHub API proxy serves only a pinned set of GraphQL operations, and Projects v2 has no REST API, so gh project fails there. The MCP server routes over plain HTTPS to api.githubcopilot.com, where GitHub executes the GraphQL server-side
  • Authentication uses a GH_TOKEN environment variable (classic PAT with project scope, or fine-grained PAT with Projects permissions). Anyone without GH_TOKEN set just sees the server as unavailable — no impact on existing workflows, humans, or CI

Test Plan

  • JSON validity verified
  • Remote endpoint accepts PAT auth (MCP initialize handshake returns 200)
  • Full test suite unaffected (config-only change; no module code touched)
  • After merge: a Claude Code cloud session on this repo verifies projects_get reads the board and projects_write can update an item's status

Breaking Changes

None

🤖 Generated with Claude Code

https://claude.ai/code/session_018ypQTqqVy5n8xMPxQSKLMC

Adds a project-scoped MCP configuration pointing at the official GitHub
MCP server's projects toolset. This gives AI agents (Claude Code cloud
sessions, local agents) CRUD access to the psake org project board,
which is otherwise unreachable from cloud sandboxes because their
GitHub API proxy only serves a pinned set of GraphQL operations and
Projects v2 has no REST API.

The server authenticates with a GH_TOKEN environment variable (classic
PAT with the project scope, or a fine-grained PAT with Projects
permissions). Agents without GH_TOKEN set simply see the server as
unavailable; nothing else changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ypQTqqVy5n8xMPxQSKLMC
Copilot AI review requested due to automatic review settings July 4, 2026 15:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a repository-scoped MCP server configuration to enable AI agents to access GitHub Projects v2 (the psake organization project board) via the official GitHub MCP “projects” toolset, authenticated with a GH_TOKEN bearer token.

Changes:

  • Adds a new root .mcp.json defining an http MCP server named github-projects.
  • Configures the server to target https://api.githubcopilot.com/mcp/x/projects and pass Authorization: Bearer ${GH_TOKEN}.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown

Test Results

    4 files  ±0    376 suites  ±0   23s ⏱️ +2s
  316 tests ±0    314 ✅ ±0   2 💤 ±0  0 ❌ ±0 
1 264 runs  ±0  1 217 ✅ ±0  47 💤 ±0  0 ❌ ±0 

Results for commit 163db78. ± Comparison against base commit 91ae3e5.

@tablackburn tablackburn merged commit 11deab2 into main Jul 4, 2026
10 checks passed
@tablackburn tablackburn deleted the chore/add-github-projects-mcp branch July 4, 2026 15:37
tablackburn added a commit that referenced this pull request Jul 4, 2026
## Summary

- Adds `.claude/settings.json` with `enabledMcpjsonServers:
["github-projects"]`, pre-approving the MCP server added in #130
- Without this, cloud sessions load the server as "Pending approval" and
expose zero tools, because the required one-time interactive trust
approval cannot be granted in a non-interactive cloud VM
- Applies to every clone: local Claude Code sessions also skip the
approval prompt for this specific named server

## Test Plan

- [ ] After merge: a Claude Code cloud session on this repo shows the
`github-projects` server as connected and can run `projects_get` against
the psake org project board

## Breaking Changes

None

## Reviewer Note

This pre-approves whatever the `github-projects` entry in `.mcp.json`
points at (currently GitHub's official MCP endpoint at
`api.githubcopilot.com`, authenticated with each user's own `GH_TOKEN`).
Future PRs that modify `.mcp.json` deserve the same review scrutiny as
workflow files.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_018ypQTqqVy5n8xMPxQSKLMC

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants