Supported apps
MCPBolt writes to the config file for each tool you select. This page documents the exact paths, format, restart requirement, and any special notes for every supported app.
Summary table
| App | Scope | Config file | Format |
|---|---|---|---|
| Claude Desktop | user | ~/Library/Application Support/Claude/claude_desktop_config.json | JSON (mcpServers) |
| Claude Code | user | ~/.claude.json | JSON (mcpServers) |
| Claude Code | project | .mcp.json | JSON (mcpServers) |
| Cursor | user | ~/.cursor/mcp.json | JSON (mcpServers) |
| Cursor | project | .cursor/mcp.json | JSON (mcpServers) |
| VS Code | user | ~/Library/Application Support/Code/User/mcp.json | JSON (servers + type) |
| VS Code | project | .vscode/mcp.json | JSON (servers + type) |
| Codex CLI | user | ~/.codex/config.toml | TOML |
| Codex CLI | project | .codex/config.toml | TOML |
| Windsurf | user | ~/.codeium/windsurf/mcp_config.json | JSON (mcpServers) |
| Zed | user | ~/.config/zed/settings.json | JSON (context_servers) |
| Zed | project | .zed/settings.json | JSON (context_servers) |
| Gemini CLI | user | ~/.gemini/settings.json | JSON (mcpServers) |
| Gemini CLI | project | .gemini/settings.json | JSON (mcpServers) |
| Roo Code | project | .roo/mcp.json | JSON (mcpServers) |
| Continue | user | ~/.continue/config.yaml | YAML array |
Claude Desktop
The original MCP client. Reads its config at startup — any change requires a full quit and reopen. Config path varies by OS; on macOS it's in ~/Library/Application Support/Claude/. MCPBolt writes to the mcpServers key and preserves all other keys in the file.
Restart required: Yes — quit and reopen Claude Desktop.
Claude Code
Anthropic's CLI AI coding tool. Supports both a user-level config (~/.claude.json) and a project-level config (.mcp.json at the project root). Claude Code reads config on each invocation, so no restart is needed — the next command you run will pick up the new server.
Restart required: No.
.mcp.json (project scope) to share MCP server configs with your team via version control. Be careful not to commit tokens or secrets in the env field.Cursor
Supports both user-level (~/.cursor/mcp.json) and project-level (.cursor/mcp.json) configs. Uses the same mcpServers JSON shape as Claude Desktop. After writing, you need to refresh MCP in Cursor's settings.
Restart required: Open Settings → MCP → click Refresh.
VS Code
VS Code uses a distinct JSON shape: the top-level key is servers (not mcpServers) and every entry requires an explicit type field ("stdio" or "sse"). MCPBolt handles this translation automatically when writing to VS Code targets.
Restart required: Run Developer: Reload Window from the Command Palette (Cmd+Shift+P on macOS).
Codex CLI
OpenAI's Codex CLI uses TOML for config. MCP server entries live under [mcp_servers.<name>]. MCPBolt merges new entries into the TOML file while preserving all existing sections. Codex reads config on launch — restart the CLI session to pick up changes.
Restart required: Start a new Codex session.
Windsurf
Codeium's Windsurf uses a single user-level JSON config at ~/.codeium/windsurf/mcp_config.json with the standard mcpServers shape.
Restart required: Restart Windsurf.
Zed
Zed stores MCP servers inside its main settings.json under the context_servers key. The server command uses a nested { path, args } shape rather than flat command/args. MCPBolt uses mergeJsonNested to insert the server without touching any other Zed settings.
Restart required: Reload Zed or restart the editor.
Gemini CLI
Google's Gemini CLI reads MCP server configs from ~/.gemini/settings.json (user scope) or .gemini/settings.json (project scope). Uses the mcpServers shape.
Restart required: Start a new Gemini CLI session.
opencode
opencode is detected and written to by MCPBolt. Config path and format follow the standard MCPBolt detection logic. Check the GitHub repo for the current config path as opencode's spec evolves.
Roo Code
Roo Code uses a project-scoped config at .roo/mcp.json with the standard mcpServers JSON shape. Only project scope is supported — there is no global Roo config.
Restart required: Reload the VS Code window (Roo runs as an extension).
Continue
Continue uses a YAML config at ~/.continue/config.yaml. MCP servers are stored as a YAML array under mcpServers. MCPBolt appends to the array or updates an existing entry by name.
Restart required: Reload the Continue extension in VS Code.