Loomal

GitHub MCP server in Claude Desktop your repos in the chat window.

GitHub's official MCP server is remote, and Claude Desktop's config file only speaks stdio — so the reliable path is the mcp-remote bridge in claude_desktop_config.json. Here's the exact entry, plus the Connectors alternative.

The GitHub MCP Server (github.com/github/github-mcp-server, 30.6k stars) lets Claude Desktop work your GitHub account directly: summarize issue threads, draft pull requests, check Actions failures, and search code across repos — useful well beyond engineering, for anyone who lives in GitHub issues.

There's one wrinkle. GitHub hosts this server remotely at https://api.githubcopilot.com/mcp/, while claude_desktop_config.json launches local stdio processes. The standard fix is mcp-remote, a small npm bridge that runs locally and forwards to the remote endpoint. Claude Desktop also has a native Connectors feature for remote servers (Settings > Connectors) — check availability on your plan — but the config-file route below works everywhere.

Create a fine-grained personal access token

Since the bridge authenticates with a header rather than OAuth, mint a fine-grained PAT at github.com (Settings > Developer settings > Personal access tokens). Scope it deliberately: select only the repos you want Claude to reach, with read-only permissions unless you genuinely want it creating issues and PRs. Tight scoping is your safety net — the server can never do more than the token allows.

Add the mcp-remote bridge to the config

Open claude_desktop_config.json — on macOS at ~/Library/Application Support/Claude/claude_desktop_config.json, on Windows at %APPDATA%\Claude\claude_desktop_config.json, or via Settings > Developer > Edit Config — and add:

claude_desktop_config.json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.githubcopilot.com/mcp/",
        "--header",
        "Authorization: Bearer ${GITHUB_PAT}"
      ],
      "env": {
        "GITHUB_PAT": "github_pat_YOUR-TOKEN"
      }
    }
  }
}

Restart fully, then put it to work

Quit Claude Desktop completely — Cmd+Q on macOS or Quit from the Windows tray icon, not the window close button — and reopen it. The GitHub tools should appear under the tools icon. First prompts worth trying: "what changed in my repo this week?" or "summarize the open issues labeled bug."

The server organizes its many tools into toolsets — repos, issues, pull requests, Actions, and more. For a chat client that's a lot of tools competing for attention, and pairing the full surface with a read-only PAT is a sensible first configuration: Claude can research and summarize freely, and nothing it does can mutate a repo. The live tool list is published on its Loomal listing at https://loomal.ai/marketplace/github.

Troubleshooting in Claude Desktop

Tools never appear: the restart is the first suspect (Claude Desktop only reads config at launch and the window close button doesn't quit it), JSON syntax is the second. Note the ${GITHUB_PAT} reference in args — env var expansion in arguments is an mcp-remote feature, and it keeps the token in one place; make sure the env block actually defines it.

Spawn failures land in the logs: ~/Library/Logs/Claude/ on macOS, %APPDATA%\Claude\logs on Windows — look for mcp-server-github.log. "npx not found" means Node isn't visible to the app (use an absolute npx path if you installed via nvm). HTTP 401 in the log means the PAT is wrong, expired, or lacks access; remember a fine-grained token sees only the repos you selected at creation, so "works for repo A, fails for repo B" is a token-scope issue, not a config issue.

FAQ

How do I install the GitHub MCP server in Claude Desktop?

Add an mcpServers entry to claude_desktop_config.json that runs npx mcp-remote against https://api.githubcopilot.com/mcp/ with an Authorization header carrying your fine-grained PAT, then fully quit and reopen Claude Desktop.

Why do I need mcp-remote at all?

GitHub's official server is hosted remotely over HTTP, while claude_desktop_config.json only launches local stdio processes. mcp-remote is a local bridge that translates between the two. Claude Desktop's Connectors feature can attach remote servers natively — if it's available on your plan, that's a config-free alternative.

What permissions should the PAT have?

As few as possible. Pick the specific repos Claude should access and grant read-only permissions on contents, issues, and pull requests to start. Widen the scope later if you want Claude drafting PRs — the token is the hard boundary on what the server can do.

GitHub tools show up but some calls fail — why?

Almost always token scope: a fine-grained PAT only covers the repos and permissions selected at creation. Check mcp-server-github.log in Claude Desktop's log directory; a 401 means a bad or expired token, while a 403/404 pattern on specific repos means the token wasn't granted access to them.

More MCP servers for Claude Desktop.

Browse developer tools, scraping, and productivity servers with live tool lists.

Browse the marketplace