← Back to directory
G

GitHub MCP Server

Official
GitHub's official MCP server for managing repos, issues, PRs, and workflows via natural language
Category
Dev Tools #4 of 438
Stars
★ 33.7k Very popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Docker · Go · Hosted (no local runtime)
Credentials
Optional API key
License
MIT
Last commit
Tools
15
76FMRS · B

Maintained by the official GitHub team; toolsets cover the full repository lifecycle. Both local Docker and remote HTTP paths are clearly documented. This review is based on the README and server.json, not an actual handshake test — verify with a read-only toolset before enabling write access.

Strongest · Maintenance 18/20 Weakest · Reliability 13/20

Reliability
13/20
Security and permissions
14/20
Maintenance
18/20
Documentation
17/20
Setup experience
14/20

Test out of dateListed 2026-07-24

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkChanges third-party account data

Best for

  • Teams that want an AI assistant to directly operate on GitHub repos and collaboration workflows
  • Users already in the GitHub Copilot ecosystem who want a zero-deployment remote option

Not for

  • Scenarios where you don't want the assistant to have write access to repos (enable only read-only toolsets)
  • Environments with strict network isolation for private repos that can't reach the official remote endpoint

Required permissions

  • A personal access token (PAT) or OAuth App token; effective scope depends on the token's own permissions
  • Enabling toolsets like actions/issues/pull_requests grants write access — request tokens on a least-privilege basis

Risks and side effects

  • Write toolsets (creating/merging PRs, triggering workflows) can cause accidental changes if the token is overscoped — try a read-only toolset first
  • In hosted mode, credentials travel via the Authorization header — make sure the client-to-api.githubcopilot.com connection is trusted

Setup

Before you start

Runtime:Docker · Go · Hosted (no local runtime)

GITHUB_PERSONAL_ACCESS_TOKEN optionalsecret GitHub Personal Access Token created at github.com/settings/personal-access-tokens; takes precedence over OAuth login when set.
Other optional settings (5)
GITHUB_OAUTH_CALLBACK_PORT optional Fixed OAuth callback port (default 8085); must match the port published with -p when running in Docker.
GITHUB_TOOLSETS optional Comma-separated toolset allow-list such as repos,issues; use all to enable every toolset.
GITHUB_TOOLS optional Comma-separated list of individual tool names; can be combined additively with toolsets.
GITHUB_HOST optional Hostname for GitHub Enterprise Server or ghe.com, prefixed with https://.
GITHUB_INSIDERS optional Set to true to enable the insiders version with early-access experimental tools.

1) Local: docker pull ghcr.io/github/github-mcp-server, then start it with the config above — first run triggers an OAuth login, or supply a GITHUB_PERSONAL_ACCESS_TOKEN env var to skip it.
2) Remote: point your client's URL at https://api.githubcopilot.com/mcp/ with a PAT or App Token in the Authorization header — no local install needed.
3) Optionally restrict enabled toolsets with --toolsets; only the context toolset is enabled by default.

claude_desktop_config.json
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-p", "127.0.0.1:8085:8085", "-e", "GITHUB_OAUTH_CALLBACK_PORT=8085", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_GITHUB_TOKEN>"
      }
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-p",
        "127.0.0.1:8085:8085",
        "-e",
        "GITHUB_OAUTH_CALLBACK_PORT=8085",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_GITHUB_TOKEN>"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add github -e 'GITHUB_PERSONAL_ACCESS_TOKEN=<YOUR_GITHUB_TOKEN>' -- docker run -i --rm -p 127.0.0.1:8085:8085 -e GITHUB_OAUTH_CALLBACK_PORT=8085 -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After connecting, call the get_me tool from the context toolset; if it returns your GitHub user profile, the server is running and authenticated.

Troubleshooting

  1. OAuth callback fails: check whether local port 8085 is in use or blocked by a firewall
  2. A toolset isn't active: verify the `--toolsets` flag or corresponding env var is spelled correctly
  3. 401 on the remote endpoint: confirm the PAT/App Token in the Authorization header is valid and not expired

Things to try

Once connected, you can ask your AI assistant things like:

  • List all open issues in octocorp/api and summarize them grouped by label.
  • Check why the latest GitHub Actions run on the main branch failed and summarize the failed job logs.
  • Create a red label named bug in the my-app repo, then apply it to issue #42.
  • List the high-severity Dependabot alerts in the web repo and explain which dependency each one affects.

Tools 15

context read-only
Tools that provide context about the current user and GitHub context (strongly recommended)
actions writes
GitHub Actions workflows and CI/CD operations
code_quality read-only
GitHub Code Quality related tools
code_security read-only
Code security related tools, such as GitHub Code Scanning
discussions writes
GitHub Discussions related tools
gists writes
GitHub Gist related tools
git read-only
GitHub Git API related tools for low-level Git operations
issues writes
GitHub Issues related tools
Show 7 more tools
labels writes
GitHub Labels related tools
notifications writes
GitHub Notifications related tools
orgs read-only
GitHub Organization related tools
projects writes
GitHub Projects related tools
pull_requests writes
Create, review, and manage pull requests
repos read-only
Repository management tools
users read-only
User lookup tools

Use cases

Create, comment on, and merge pull requests via natural language
Have an AI assistant diagnose GitHub Actions CI failures
Bulk-manage issue labels and notifications
Query code security scanning results directly from your IDE

Supported clients

Claude Desktop
Claude Code
VS Code
Cursor
Windsurf
JetBrains IDEs
Zed
Amp

Listed from the project's documentation, not tested by this site.

Overview

The official GitHub-maintained MCP server, exposing GitHub's core capabilities (repositories, issues, pull requests, Actions, code security scanning, Discussions, orgs and projects) through grouped toolsets. Runs locally via Docker, or connects directly to GitHub's hosted remote Streamable HTTP endpoint (api.githubcopilot.com/mcp/) with no local install required.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 63.3k · Tools 2 Compare with this →

Source revision e3809fe91c75 Data synced 2026-10-19 Read the FMRS scoring method