Free tool

MCP Config Converter for Codex CLI

Paste an MCP config from any client and get it back in the format Codex CLI actually reads — including the format changes nobody documents.

Paste the JSON config you have now. It can come from any client — we work out which one it is.
Runs entirely in your browser. Nothing you paste is uploaded, stored or logged.

Same server, every client. Still nothing your customers can see.

Config files are for the people who already bought. MCP Showcase gives you one link that shows anyone what your server does, without them configuring anything at all.

How it works

link
Paste your existing config

From Claude Desktop, Cursor, VS Code, Windsurf or anywhere else. We detect the source format.

play_circle
We translate the parts that differ

Root key, endpoint field, transport type, file format — and whether Codex CLI can reach a hosted server at all or needs a local bridge.

checklist
Copy it into Codex CLI

The result is in the file format Codex CLI reads, ready to paste into the right location.

What actually changes when you switch clients

MCP standardises the protocol, not the configuration. Moving a server between two clients means changing up to four things, and every one of them fails silently if you miss it — the file parses, the client starts, and the server is simply absent.

  • The file and its format — Codex CLI reads ~/.codex/config.toml, in TOML. Since that is not JSON, a config copied from Claude or Cursor will not parse at all.
  • The root keymcp_servers here, but mcpServers, servers, context_servers or mcp_servers depending on where you are coming from.
  • The endpoint fieldurl for Codex CLI.
  • Whether a remote server is reachable at all — see below.

It is TOML, not JSON

Codex CLI configures MCP servers in config.toml under [mcp_servers.<name>], with snake_case keys. Nothing you copy from a Claude or Cursor config will work unchanged -- not the syntax, not the key names, not the nesting. This is the client where a config generator saves the most time.

What carries across unchanged

Local stdio servers are mostly portable: the command and its arguments mean the same thing everywhere. What changes is the wrapper — the root key, and for TOML clients the entire file syntax. Headers and environment variables come across as they are, so if your config contains a token, it will be in the output. Everything happens in your browser and nothing is uploaded, but strip it first if you would rather.

Related tools

Ten configs, one server, still nothing to show

Porting a config between clients is work that only ever benefits people who already use your server. It does nothing for the person deciding whether to try it. MCP Showcase gives that person a live playground on the same URL — every tool documented and runnable in a browser, with no file to edit and nothing to restart.

Frequently asked questions

Rarely. The root key, the field name for a remote endpoint and even the file format differ between clients, and every one of those mismatches fails silently. The config parses, the client starts, and no servers appear.

Any JSON-based MCP config: Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Cline, Zed and others. The source root key is detected automatically, so you do not have to say where it came from.

Because some clients cannot connect to a hosted MCP endpoint directly and have to reach it through a local bridge process instead. When that applies to Codex CLI, the converted config runs mcp-remote and passes your URL to it, and the page explains why below the result.

Whatever is in the config you paste is carried across, including headers and environment variables. Everything happens in your browser and nothing is uploaded, but if you would rather not, strip the token first and add it back afterwards.

Local stdio servers carry across largely unchanged — the command and arguments are the same. What changes is the wrapper: the root key and, for TOML or YAML clients, the entire file syntax.

More free MCP tools