MCP config
generator
Every MCP client wants a different file in a different place with a different JSON shape. Pick your client, fill in your servers, and copy a config that is right the first time.
Your client, your exact config
Yetty is a full MCP control plane for your site: your AI publishes, edits, checks SEO and reads leads - through exactly this kind of config.
One protocol,
seven config dialects
The top-level key differs
Most clients read mcpServers, but VS Code reads servers - and silently ignores a file with the wrong key. That one word costs people hours.
The URL field differs
Cursor says url, Windsurf says serverUrl, VS Code wants url plus "type": "http", Cline wants "type": "streamableHttp". Same server, four spellings.
CLIs skip the file
Claude Code takes a claude mcp add command instead of a hand-edited file - with --transport http and --header flags for remote servers. We generate the full command line.
Auth rides a header
Hosted MCP servers usually authenticate with Authorization: Bearer YOUR_KEY. Where it goes - a headers object, a --header flag, an mcp-remote argument - depends on the client.
JSON is unforgiving
One trailing comma and the client drops the whole file, usually without a word. This tool builds objects in code and serializes them - invalid JSON is impossible.
Restart means restart
Most clients read MCP config at startup only. Fully quit and reopen after editing - closing the window is not enough, and "it did not work" is often just this.
People also ask
Where is the claude_desktop_config.json file?
On macOS it lives at ~/Library/Application Support/Claude/claude_desktop_config.json, on Windows at %APPDATA%\Claude\claude_desktop_config.json. The file does not exist until you create it (or open Settings -> Developer -> Edit Config, which creates it for you). After editing, fully quit and reopen Claude Desktop - a window close is not enough, the config is only read at startup.
What is the difference between stdio and HTTP MCP servers?
A stdio server is a program your client launches locally and talks to over stdin/stdout - you configure a command and its arguments. An HTTP server (Streamable HTTP) runs remotely at a URL and usually authenticates with an Authorization: Bearer header or OAuth - you configure the URL. Local tools ship as stdio; hosted services like Yetty's MCP are HTTP, so there is nothing to install.
Why is my MCP server not showing up in my client?
The usual suspects, in order: the config is in the wrong file or wrong location for that client; the JSON shape is wrong for that client (Windsurf wants serverUrl, VS Code wants a servers key with a type field - they really do all differ); the JSON has a syntax error like a trailing comma; or the client was not fully restarted after the edit. Generate the config here for your exact client and all four are handled.