Zed launched native MCP support in 2025, letting developers connect context servers directly inside the editor without switching to Claude Desktop or a separate client. The configuration sits in a single JSON block, and it works with any stdio-based MCP server. MCPFind currently indexes 2,824 servers in the devtools category alone, the largest category in the directory. This guide covers the exact config format, which servers pair well with Zed, and how to debug the most common setup failures.
How Does Zed Implement MCP?
Zed treats MCP servers as "context servers" that extend its AI assistant with tool-calling capabilities. When you open a conversation in Zed's AI panel, any running context servers appear as available tools the model can call. Configuration lives in settings.json under the context_servers key. Each entry maps a server ID to a command and optional arguments and environment variables. Zed spawns the server process on launch and communicates over stdio. This approach means no separate daemon or port management. The server lifecycle is tied to the editor session, which simplifies teardown. Zed does not currently support HTTP-based MCP servers in its native integration, so any server requiring network transport must be wrapped in a local stdio proxy.
How to Configure Context Servers in Zed
Open Zed settings with cmd+, on macOS. Find or add the context_servers block at the top level of your JSON config:
{
"context_servers": {
"github": {
"command": {
"path": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-token-here"
}
}
},
"filesystem": {
"command": {
"path": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/projects"]
}
}
}
}Save the file and reopen the AI panel. Each server listed in context_servers will attempt to start. You can verify the connection status in Zed's output panel under "Context Servers." If a server fails to start, the error message appears there rather than silently failing. The path field accepts absolute paths to binaries or bare commands like npx if the binary is in your $PATH. For Python-based servers, replace npx with uv or python.
Which MCP Servers Work Best With Zed?
We analyzed the devtools category on MCPFind, where the 2,824 servers average 38.29 stars per repo. The highest-value servers for a Zed workflow fall into three groups. First, file and code tools: the filesystem server from Anthropic's reference implementations gives Zed the ability to read, write, and list files outside the current project. Second, version control: GitHub and GitLab servers let the AI assistant query pull requests, issues, and commit history without leaving the editor. Third, documentation: the Microsoft Learn MCP server (1,492 stars) lets you query technical docs inline. Browse the full devtools category to find servers that match your stack. Stick to servers with 50+ GitHub stars for stability, since lower-star projects frequently break between MCP spec updates.
Troubleshooting MCP in Zed
Three failure modes account for most setup problems. The first is a missing binary: Zed resolves the command path using your login shell's $PATH, which differs from your interactive shell on macOS. If npx works in your terminal but not in Zed, add the full path, typically /usr/local/bin/npx or wherever which npx resolves. The second is an incorrect args format: each argument must be a separate string in the array. Passing "-y @modelcontextprotocol/server-github" as one string fails silently. The third is environment variable scope: variables set with export in .bashrc are not automatically available to Zed on macOS. Use the env block in the config instead of relying on shell exports. When in doubt, test the server manually in a terminal first with the exact command and args from your Zed config before debugging the editor integration.