MCP Config Generator & Validator
-
Runs entirely in your browser
-
Claude Desktop, Claude Code, VS Code & Spring AI
Build the configuration file that tells your AI client which Model Context Protocol servers to connect to — or paste one that isn’t working and find out why. Pick a server, fill in the fields, and copy the result in the exact shape your client expects. This writes client config; it doesn’t install or run a server.
Most guides show one JSON snippet and imply it works everywhere. It doesn’t. The four clients this tool supports each expect a different shape, and most of them fail silently when the shape is wrong — the server simply never appears, with no error to read.
claude_desktop_config.json and speaks
local stdio only. A url entry here is ignored, and in some versions
it stops every other server loading as well. Remote servers go through
Settings → Connectors, or the mcp-remote bridge — which
this tool generates for you.mcpServers key but a different
file (.mcp.json), and does support remote servers directly. Configs
copied between the two are a common cause of silent failure.servers, not mcpServers. It also
has an inputs mechanism for secrets, which matters because
.vscode/mcp.json usually lives in your repository — a token written there
goes to everyone with read access and stays in git history after you delete it.spring.ai.mcp.client in application.yml or
application.properties. Its remote connections accept url and
endpoint only — there is no headers property, and one written
there parses as valid YAML and is then ignored.Paste an existing config into the Check a config tab and it reports problems in plain English, with a line number and a concrete fix for each:
stdio server with no command, or a remote one with no urlYOUR_TOKEN_HERE left in from an examplenpx on Windows — the single most common reason a server shows as failedNine times out of ten the file has a syntax error and the app said nothing. Claude Desktop
does not surface config errors — it loads what it can parse and ignores the rest. Paste
the file into the Check a config tab above and it will tell you which line is wrong and
why. The usual culprits are a trailing comma, a Windows path with single backslashes, or the
root key spelled servers instead of mcpServers.
This message is misleading: the server was never launched. Windows often cannot resolve a
bare npx, and the failure is reported as a connection problem rather than a missing
command. Use "command": "cmd" with "args": ["/c", "npx", ...], or the
full path to npx.cmd. Set your machine to Windows in the tool and it writes the
safe form for you.
They read the same root key from different files with different capabilities. Claude Code
supports remote servers directly; Claude Desktop does not, and a url entry in
claude_desktop_config.json is ignored — sometimes taking the whole
mcpServers block with it, so every server stops loading. Use the Claude Desktop tab,
which wraps remote servers in the mcp-remote bridge.
Because there is no headers property on a Spring AI MCP client connection. If you
added one it parsed as valid YAML and was silently ignored. Authentication goes through a
WebClient filter or the MCP client security module instead.
The tool ships presets for the Model Context Protocol reference servers (Filesystem, Git, Memory, Fetch, Sequential Thinking) and for vendor-maintained servers a Java team is likely to already run: GitHub (hosted and Docker), Atlassian — which covers Jira, Confluence, Jira Service Management and Bitbucket in one entry — SonarQube and JFrog Artifactory. Each preset carries a badge showing whether it is vendor-maintained, a reference server, community-maintained or archived, plus a link to its own documentation. You can also define your own.
Every field this tool emits was checked against the vendor’s own documentation rather than written from memory. The MCP project defines the protocol and the reference servers; each client vendor defines its own config file format, which is why the outputs differ as much as they do.
These formats move. Most MCP clients fail silently rather than telling you a config is wrong, so one that looks correct is worse than one that obviously isn’t. If a link above no longer matches what this tool produces, please let me know which tab, which field, and what the source says — it will be fixed.
Yes. This tool is 100% client-side. Tokens and connection strings you type never leave your browser — there is no server call, no logging, and nothing is stored.
On Windows it’s %APPDATA%\Claude\claude_desktop_config.json; on macOS,
~/Library/Application Support/Claude/claude_desktop_config.json. You can also open
it from the app: Settings → Developer → Edit Config. Restart the app after
saving.
Usually because the config uses bare npx. Windows can’t always resolve it,
and the client reports a connection error rather than a missing command. Use
cmd with ["/c", "npx", ...], or the full path to
npx.cmd. The tool emits the safe form automatically when you set your machine to
Windows, and the validator flags the unsafe one.
Not from the config file — that file only takes local servers it can launch. Remote
servers are added under Settings → Connectors, or wrapped in the
mcp-remote bridge so the client launches a local process that relays to the remote
endpoint. The tool generates the bridge form for you, including the header workaround Windows
needs.
headers option in the Spring AI output?Because Spring AI doesn’t have one. Its client connection properties accept
url and endpoint only. A headers: key parses as valid YAML
and is then ignored, which is a nasty way to fail. The tool emits the connection correctly and
adds a commented note showing the two approaches Spring AI actually supports.
No. Nothing you type is transmitted or saved. For VS Code the tool goes further and keeps
secrets out of the generated file entirely, using input variables, because
.vscode/mcp.json is normally committed to your repository.
Once the page has loaded, everything runs in your browser, so it keeps working without a connection.