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

AppScopeConfig fileFormat
Claude Desktopuser~/Library/Application Support/Claude/claude_desktop_config.jsonJSON (mcpServers)
Claude Codeuser~/.claude.jsonJSON (mcpServers)
Claude Codeproject.mcp.jsonJSON (mcpServers)
Cursoruser~/.cursor/mcp.jsonJSON (mcpServers)
Cursorproject.cursor/mcp.jsonJSON (mcpServers)
VS Codeuser~/Library/Application Support/Code/User/mcp.jsonJSON (servers + type)
VS Codeproject.vscode/mcp.jsonJSON (servers + type)
Codex CLIuser~/.codex/config.tomlTOML
Codex CLIproject.codex/config.tomlTOML
Windsurfuser~/.codeium/windsurf/mcp_config.jsonJSON (mcpServers)
Zeduser~/.config/zed/settings.jsonJSON (context_servers)
Zedproject.zed/settings.jsonJSON (context_servers)
Gemini CLIuser~/.gemini/settings.jsonJSON (mcpServers)
Gemini CLIproject.gemini/settings.jsonJSON (mcpServers)
Roo Codeproject.roo/mcp.jsonJSON (mcpServers)
Continueuser~/.continue/config.yamlYAML 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.

💡
Project scope. Use .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.