What Is GitHub MCP Server?
GitHub MCP Server is an MCP server that exposes GitHub’s core functionality — repositories, pull requests, issues, and code search — to Claude Code and other compatible MCP clients. It is maintained by the Model Context Protocol team under the modelcontextprotocol/servers monorepo.
Quick Facts
| Field | Value |
|---|---|
| Package | @modelcontextprotocol/server-github |
| Install | npx @modelcontextprotocol/server-github |
| Compatible with | Claude Code, Claude Desktop, Cursor, VS Code |
| Status | Active |
| GitHub | github.com/modelcontextprotocol/servers/tree/main/src/github |
What You Can Do With It
- Code review: Surface file diffs and PR change summaries directly in your MCP client without leaving your workflow.
- PR summaries: Retrieve pull request metadata, descriptions, and review states to get context on open or merged PRs.
- Issue tracking: Read, list, and query GitHub issues on any repository you have access to.
- Repository search: Search across public and private repositories by name, topic, or code content.
- Commit history: Inspect commit logs on a branch or repository to understand change history over time.
How to Set It Up
Prerequisites: You need a GitHub Personal Access Token (PAT) with appropriate scopes (at minimum repo for private repositories, or public_repo for public-only access).
Step 1 — Test the server locally:
GITHUB_PERSONAL_ACCESS_TOKEN=your_token_here npx @modelcontextprotocol/server-github
**Step 2 — Add it to your Claude Code or Claude Desktop config:**
For **Claude Desktop**, edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or the equivalent path on your OS:
```json
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
}
}
For Claude Code, add the same block to .claude/mcp.json in your project root, or use the global config at ~/.claude/mcp.json.
Step 3 — Restart your MCP client to pick up the new server configuration.
Works Best With
All four listed clients are supported — Claude Code, Claude Desktop, Cursor, and VS Code — but the integration is most natural in Claude Code and Claude Desktop where conversational MCP tool calls fit the interaction model. Cursor and VS Code users can connect via their respective MCP extension configurations; consult each editor’s MCP documentation for exact setup paths.
Known Limitations
- Authentication required: The server will not function without a valid GitHub PAT set in the environment. OAuth app tokens or GitHub Apps tokens may work depending on scope, but PAT is the documented path.
- Rate limits: All requests go through GitHub’s REST API and are subject to standard rate limits — 5,000 requests/hour for authenticated users, lower for unauthenticated (which this server does not support).
- No write operations by default: Verify which operations require additional PAT scopes before assuming write access (e.g., creating issues or PRs may need explicit scope grants).
- Private repo access: Your PAT must have
reposcope;public_repoalone will not grant access to private repositories. - npx latency: Using
npxwithout a local install adds cold-start time on first invocation. Consider installing the package globally (npm install -g @modelcontextprotocol/server-github) for faster startup.
Community Resources
- GitHub Issues — modelcontextprotocol/servers — file bugs or check known issues specific to the GitHub server
- MCP Discord (official) — community help and announcements from the MCP team
- r/ClaudeAI on Reddit — user discussions about MCP server setups including GitHub integrations



