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.

Why each client needs a different file

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 reads 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.
  • Claude Code uses the same 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.
  • VS Code uses 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 configures MCP through 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.

What the validator checks

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:

  • Trailing commas, curly quotes from a word processor, and hidden byte-order marks
  • Windows paths with single backslashes, which JSON reads as escape sequences
  • Two servers with the same name — the first is dropped with no warning
  • A stdio server with no command, or a remote one with no url
  • Arguments written as one string instead of a list
  • Environment variables or headers set to numbers or booleans instead of text
  • Placeholder tokens such as YOUR_TOKEN_HERE left in from an example
  • Bare npx on Windows — the single most common reason a server shows as failed
  • A live credential in a file you probably commit

Common MCP config errors, and what causes them

MCP server not showing up in Claude Desktop

Nine 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.

“Could not connect to MCP server” on Windows

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.

The config works in Claude Code but not Claude Desktop

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.

Spring AI connects but sends no credentials

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.

Servers you can configure

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.

Where the formats come from

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.

Is my data safe?

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.

Frequently asked questions

Where does the Claude Desktop config file live?

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.

Why does my server show as failed on Windows?

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.

Can Claude Desktop connect to a remote MCP server?

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.

Why is there no 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.

Does it store my tokens?

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.

Does this work offline?

Once the page has loaded, everything runs in your browser, so it keeps working without a connection.