mcpfold logomcpfold

← All features

One config, folded out to every client

Write your MCP servers once in a single canonical config, and mcpfold renders each client's own native format — so the same servers show up in all 18 supported clients without hand-editing a different file for each.

Every MCP client stores its servers in its own file and its own shape. The root key alone differs — VS Code uses `servers`, Zed uses `context_servers`, most others use `mcpServers`, Goose uses `extensions` — and the on-disk path, restart behavior, and remote-transport format vary too. Adding one server everywhere normally means learning 18 formats.

mcpfold quarantines all that per-client churn in a small adapter per client. You keep one canonical `mcp.config.jsonc`; `mcpfold sync` renders each client’s native file from it — byte-deterministically, preserving comments and any unmanaged keys in files clients share with non-MCP settings.

Because the adapters are the single place the format traps live, adding a client is one small module, not an engine change — and the config you maintain never has to know the difference.

One source of truth, folded to every client

// mcp.config.jsonc — the one file you maintain { "servers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] } } } $ mcpfold sync # writes each client's native format (servers / context_servers / mcpServers …)

Go deeper

Related features

Ready to try it? Install mcpfold — the CLI is free and MIT-licensed. Or head back to the overview.