Zed — MCP Configs
- File format
- JSON
- Syllago install method
- JSON merge
- Symlink support
- No
- Config file
-
~/.config/zed/settings.json - Transports
-
stdio
Features
How each feature converts to syllago's canonical format. See format conversion for what these statuses mean.
Fields
Native frontmatter or config fields this provider exposes. The first column is the provider's own field name; the canonical key column links to syllago's cross-provider equivalent.
| Config key | Conversion | Canonical key | Summary |
|---|---|---|---|
command | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | — | Each stdio server entry defines a command with executable path, argument array, env map, and optional timeout that Zed launches as a stdio subprocess. The ModelContextServerBinary struct carries executable, args, env, and timeout fields. |
context_servers | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | — | MCP servers are registered under the top-level context_servers object in Zed's settings.json, keyed by server name. |
url | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | — | Remote MCP servers are configured with a url field (http:// or https://) and an optional headers map. Zed's context_server.rs ContextServer::http() constructor validates the URL scheme and rejects non-http(s) schemes with an error. |
agent.profiles | Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → | — | Agent profiles can set enable_all_context_servers: false and supply a per-server tools map (context_servers.<name>.tools with boolean values per tool name) to enable only specific MCP tools within that profile. |
agent.tool_permissions | Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → | — | agent.tool_permissions.default controls approval behavior for all tool actions: "confirm" (default) prompts before running, "allow" auto-approves, "deny" blocks. Individual MCP tools are targeted with the key format mcp:<server>:<tool_name>. Available since v0.224.0. |
Other features
Behaviors, conventions, and capabilities that aren't tied to a single named field — things like path-based activation, discovery rules, and lifecycle behavior.
| Feature | Conversion | Summary |
|---|---|---|
auto_approve | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | agent.tool_permissions.default: "allow" auto-approves all tool actions without prompting (v0.224.0+); individual tools can be targeted with mcp:<server>:<tool_name> key format. Default is "confirm"; "deny" blocks all tool actions. |
marketplace | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | Zed exposes an in-app MCP server gallery (zed: extensions filtered to context-servers, or Agent Panel > View Server Extensions) where servers can be browsed and installed |
oauth_support | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | When a remote MCP server is configured with a url but no Authorization header, Zed prompts the user to authenticate using the standard MCP OAuth flow |
tool_filtering | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | Per-profile per-server tool enable/disable maps are supported via context_servers.<name>.tools in agent profile config; enable_all_context_servers: false allows disabling all servers except those explicitly listed in the profile |
transport_types | Translated Conversion type: Translated Actively mapped to the target provider’s equivalent field during conversion. Learn more → | Zed supports both stdio (local command + args + env) and HTTP/HTTPS (remote URL + headers) transports. Stdio servers use the command/args/env shape; remote servers use url + optional headers. Both use the same MCP protocol initialization. |
| Dynamic tool list reload (notifications/tools/list_changed) | Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → | Zed handles the MCP notifications/tools/list_changed notification: when a server adds, removes, or modifies tools at runtime, Zed automatically reloads the tool list without requiring a server restart. |
| In-app MCP server gallery | Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → | Zed ships an agent panel UI for browsing and installing MCP servers (as extensions) without hand-editing settings.json. Accessible via 'zed: extensions' (filtered to context-servers) or Agent Panel top-right menu > View Server Extensions. |
| MCP OAuth authentication prompt | Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → | When a remote server's url is set but no Authorization header is provided, Zed automatically prompts the user to authenticate using the standard MCP OAuth flow. No extra configuration is required to trigger the prompt. |
| MCP server forwarding to external agents | Not portable Conversion type: Not portable Unique to this provider — can’t be carried across providers. Learn more → | MCP servers configured in Zed are forwarded to external agents via the Agent Client Protocol. External agents can also access MCP servers from their own native config files. |
Sources
| Source |
|---|
| https://zed.dev/docs/ai/mcp |
| https://raw.githubusercontent.com/zed-industries/zed/main/crates/context_server/src/context_server.rs |