Loomal

GitHub MCP server in Zed context_servers, configured.

Zed calls MCP servers context servers and configures them in settings.json. Here's how to run GitHub's official MCP server for Zed's Agent Panel using the Docker distribution.

Zed's MCP support lives under a name you won't see elsewhere: context_servers, a block in ~/.config/zed/settings.json. Get the vocabulary right and the rest is ordinary configuration.

GitHub's official server (github/github-mcp-server, 30.6k stars) is distributed two ways — a hosted remote endpoint and a Docker image. For Zed, the dependable route is running the Docker image locally as a stdio server, with your PAT passed as an environment variable.

What Zed's agent gains

Zed's Agent Panel can already navigate and edit your codebase fast; the GitHub server extends it to the parts of development that live on github.com — searching issues, reviewing and opening pull requests, reading Actions runs. For a Zed user that means staying in the editor for the full loop from "issue assigned" to "PR opened."

The complete tool list the server exposes is published on its Loomal listing at https://loomal.ai/marketplace/github.

Add a context_servers entry

Run the zed: open settings command (cmd-, on macOS) to open ~/.config/zed/settings.json, and add the server as a custom context server. The Docker image is ghcr.io/github/github-mcp-server; Docker must be installed and running:

~/.config/zed/settings.json
{
  "context_servers": {
    "github": {
      "source": "custom",
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_YOUR_GITHUB_PAT"
      }
    }
  }
}

How the token flows

Notice the pattern: env sets GITHUB_PERSONAL_ACCESS_TOKEN for the process Zed spawns, and the -e flag forwards that variable into the container without baking it into the command line. The server reads it on startup and authenticates every GitHub API call with it.

Mint a fine-grained PAT covering only the repositories you want the agent operating on. Since settings.json is a file many people sync in dotfiles, consider whether a synced plaintext token is acceptable — if not, keep this machine's settings out of the sync set.

Restart the panel, then test

Zed starts context servers when the Agent Panel needs them; after editing settings, restart the Agent Panel (or Zed itself) so the new server spawns. In the panel's settings view you should see github listed among the context servers with its tools available to the active profile.

First run is slower — Docker pulls the image. Then ask the agent something only the server can answer, like the title of the newest issue in a private repo. A correct answer proves both the container and the token.

Troubleshooting in Zed

Server never appears: validate the settings.json syntax (Zed flags parse errors in the editor) and confirm the block is named context_servers — an mcpServers key copied from another client's docs does nothing in Zed.

Spawn failures: run zed: open log to read Zed's log, which records context server startup errors. "docker: command not found" means Zed's environment can't see Docker; launching Zed from a terminal (zed .) inherits your shell PATH and usually fixes it. If the container starts but every tool call returns 401, the PAT in env is wrong or lacks scopes.

Hanging on first use is typically the image pull — run docker pull ghcr.io/github/github-mcp-server once in a terminal so the agent never waits on it.

FAQ

How do I install the GitHub MCP server in Zed?

Add a github entry to the context_servers block in ~/.config/zed/settings.json with command docker, args that run ghcr.io/github/github-mcp-server, and your PAT in env as GITHUB_PERSONAL_ACCESS_TOKEN. Restart the Agent Panel and the tools become available.

Why does Zed use context_servers instead of mcpServers?

It's just Zed's naming — context servers are Zed's term for MCP servers. The underlying protocol is identical, but configs copied from Cursor, Claude Desktop, or Windsurf must be renamed and reshaped to Zed's schema before they'll work.

Do I have to use Docker?

Docker is the most dependable local distribution of GitHub's server, but the project also publishes prebuilt binaries you can point command at directly if Docker isn't an option. Check the github/github-mcp-server releases page for your platform.

Where do I look when the server fails silently?

Run the zed: open log command. Context server spawn errors — bad command paths, Docker not running, immediate exits — are recorded there, and the message usually names the fix. PATH problems disappear if you launch Zed from your shell.

More MCP servers for Zed.

Find servers with live-probed tool lists on the Loomal marketplace.

Browse the marketplace