MCP Config Converter
Convert MCP server configs between Claude Desktop, Cursor, Claude Code, VS Code, Codex CLI (TOML), Windsurf, Gemini CLI, and Cline. Pick a source and target, paste your config, copy the result.
claude_desktop_config.jsonclaude_desktop_config.json to convert it to mcp.json, or click to see how it works.Popular conversions
Each pair below has its own page with conversion notes specific to that direction:
Paste your claude_desktop_config.json — get a Cursor-ready mcp.json with the documented type:"stdio" field. Free, runs in your browser.
Convert claude_desktop_config.json (JSON) to OpenAI Codex CLI config.toml ([mcp_servers.x] tables). Handles env, args, and headers — runs in your browser.
Convert claude_desktop_config.json to VS Code Copilot's .vscode/mcp.json — handles the mcpServers→servers rename and adds the required type field.
Paste your Cursor mcp.json — get claude_desktop_config.json with Cursor-only fields stripped or warned about. Free, in-browser.
Convert your Cursor mcp.json (JSON) to OpenAI Codex CLI config.toml ([mcp_servers.x] tables). Handles env, headers, and the JSON→TOML structural shift.
What this converter handles
- •Top-level key rename:
mcpServers↔servers(VS Code) ↔[mcp_servers.x](Codex) - •JSON ↔ TOML structural conversion (Codex CLI is the only TOML format)
- •
typefield auto-inference for VS Code (stdio/http/sse) - •URL aliases:
serverUrl(Windsurf),httpUrl(Gemini CLI),url(everyone else) - •Common fields: command, args, env, headers — preserved across all 8 formats
- •Format-specific extras (envFile, oauth, alwaysAllow, snake_case timeouts) — carried through with warnings
Why this exists
MCP clients each chose slightly different config schemas. The same filesystem server has to be expressed as JSON under mcpServers for Claude Desktop / Cursor / Cline / Windsurf, JSON under servers with an explicit type field for VS Code Copilot, and TOML [mcp_servers.<id>] tables for OpenAI Codex CLI. The structural conversions are mechanical but tedious — and the silent-failure modes (mcpServers vs servers, JSON vs TOML, missing type field) eat hours.
Vendors don't ship a neutral translator. Anthropic's claude mcp add-from-claude-desktop is one-way only (Claude Desktop → Claude Code). Cursor, VS Code, and Codex offer no MCP import flow at all. So users either rewrite manually (5 minutes per server, error-prone) or run a sync tool (different product than what most need). This converter handles the one-shot case in the browser.
Frequently asked
Is my config sent to your server?▼
Which formats does this converter support?▼
What about format-specific fields like Codex's bearer_token_env_var or Cline's alwaysAllow?▼
How does the JSON ↔ TOML conversion work for Codex CLI?▼
Why does VS Code's converted output look different (servers vs mcpServers)?▼
Can I use this for the reverse direction (e.g., Cursor → Claude Desktop)?▼
Is this an official Anthropic / OpenAI / Microsoft tool?▼
Does it preserve credentials / API keys verbatim?▼
Validate before you ship
After converting, paste the output into the matching validator to check it loads correctly in the target client.