chore: Add GitHub Projects MCP server for AI agent board access#130
Merged
Conversation
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
There was a problem hiding this comment.
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.jsondefining anhttpMCP server namedgithub-projects. - Configures the server to target
https://api.githubcopilot.com/mcp/x/projectsand passAuthorization: Bearer ${GH_TOKEN}.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1 task
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.mcp.jsonpointing 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 boardgh projectfails there. The MCP server routes over plain HTTPS toapi.githubcopilot.com, where GitHub executes the GraphQL server-sideGH_TOKENenvironment variable (classic PAT withprojectscope, or fine-grained PAT with Projects permissions). Anyone withoutGH_TOKENset just sees the server as unavailable — no impact on existing workflows, humans, or CITest Plan
initializehandshake returns 200)projects_getreads the board andprojects_writecan update an item's statusBreaking Changes
None
🤖 Generated with Claude Code
https://claude.ai/code/session_018ypQTqqVy5n8xMPxQSKLMC