GitHub MCP Server is GitHub's official implementation of the Model Context Protocol, giving AI agents, assistants, and chatbots direct access to GitHub's platform. It's built for developers who want their AI tools to read repositories, manage issues and pull requests, inspect CI/CD runs, and review security findings through natural language, instead of switching between the AI tool and the GitHub UI or API by hand.
The server ships in two forms: a remote version hosted by GitHub (accessed over HTTP with OAuth or a personal access token) and a local version you run yourself via Docker or as a native Go binary. Both expose the same set of GitHub-aware tools to any MCP-compatible host, including VS Code, Claude Desktop, Cursor, Windsurf, Zed, and Copilot CLI.
This fits teams already using an MCP-capable AI assistant (Copilot, Claude, Cursor, etc.) who want that assistant to act on real GitHub data instead of guessing from pasted snippets. Typical scenarios: asking an agent to triage a backlog of issues, having it summarize what changed in a failing Actions run, or letting it draft and open a PR based on a description.
It also suits teams that want tighter control over what an AI tool can touch on GitHub, since toolsets and token scopes let you limit access to specific capabilities rather than granting blanket API access.
It's not the right choice if you don't use an MCP-compatible host, since the server has no standalone UI of its own; it's a backend for other tools to call. It also isn't a general-purpose GitHub API wrapper for scripting, if you just need scripted GitHub automation without an AI layer, the standard GitHub CLI or REST/GraphQL clients are simpler.
The fastest path is the remote server, hosted by GitHub at https://api.githubcopilot.com/mcp/. For VS Code 1.101+, add this to your MCP host configuration:
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
}
}
}
To authenticate with a personal access token instead of OAuth, add an Authorization header referencing a prompted input.
For a local server, install Docker and run the published image ghcr.io/github/github-mcp-server. A minimal config using OAuth login (token kept in memory only):
{
"mcp": {
"servers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-p", "127.0.0.1:8085:8085",
"-e", "GITHUB_OAUTH_CALLBACK_PORT",
"ghcr.io/github/github-mcp-server"
],
"env": { "GITHUB_OAUTH_CALLBACK_PORT": "8085" }
}
}
}
}
Or authenticate with a token by setting GITHUB_PERSONAL_ACCESS_TOKEN (this takes precedence over OAuth):
export GITHUB_PAT=your_token_here
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT" }
For GitHub Enterprise Server or Enterprise Cloud with data residency, set GITHUB_HOST (or --gh-host) to your instance URL, prefixed with https://.