MCP Config Generator & Validator
Generate ready-to-use MCP configs for Claude Desktop, Cursor, VS Code & more — or paste your config and fix the error in seconds.
- ✓ Zero install — runs entirely in your browser
- ✓ Detects 15+ common MCP config errors
- ✓ Config never leaves your device
1. Pick a client → 2. Fill in the server → 3. Copy the config
How to use it in 3 steps
Step 1
Pick your client
Claude Desktop, Cursor, VS Code, Windsurf, Cline and Zed are fully supported; Copilot and ChatGPT are beta. Each client gets the exact JSON shape it expects.
Step 2
Describe the server
A name, a command like npx with args, or a remote URL. The GitHub example button fills everything in for you in one click.
Step 3
Copy or download
Paste the JSON into the config path shown for your client and restart it. Something broken? The Validate tab diagnoses 15+ common errors and emits a fixed file.
Top 5 MCP configuration errors
These five mistakes account for the overwhelming majority of “my MCP server won’t start” reports. Every one of them is caught by the validator above.
1. Trailing commas
JSON does not allow a comma after the last item in an object or array. A single trailing comma is the #1 reason an MCP client silently ignores or rejects a config file.
2. Unescaped Windows backslashes
A path like C:\tools\npx.cmd must be written as C:\\tools\\npx.cmd (or with forward slashes, C:/tools/npx.cmd). Single backslashes form invalid JSON escape sequences and break parsing.
3. python vs python3
On macOS and most Linux distros the python command does not exist - only python3. On Windows, python can resolve to a Store stub. The wrong interpreter name means the server never starts.
4. Mixing up transports
Setting "transport" on a stdio (command-based) server, or choosing SSE when the server only speaks Streamable HTTP, leaves the client talking a protocol the server does not understand.
5. URL without http(s)://
Remote servers must use a full http:// or https:// URL. A bare host like example.com/mcp fails validation in every MCP client.
Client configuration guides
Each guide covers that client’s config file location, a working example, and the pitfalls that only happen on that client.
Add an MCP server to Claude Desktop
claude_desktop_config.json paths, the full-restart rule, and the npx PATH trap.
Add an MCP server to Cursor
Project vs global mcp.json, one-click installs, and "Client closed" errors.
Add an MCP server to VS Code
.vscode/mcp.json, user settings, and the inputs feature for secrets.
Add an MCP server to Windsurf
mcp_config.json location and reloading Cascade after edits.
Add an MCP server to Zed
The "mcp" object in settings.json and JSONC comment support.
Add an MCP server to Cline
cline_mcp_settings.json deep in globalStorage, plus autoApprove.
stdio vs SSE vs Streamable HTTP
An MCP transport is the channel a client uses to talk to a server. Picking the wrong one is a top-5 configuration error.
| Transport | Config uses | Best for | Status |
|---|---|---|---|
| stdio | command + args | Local servers the client launches itself | Current standard |
| Streamable HTTP | url + "transport": "http" | Hosted / remote servers | Current standard |
| SSE | url + "transport": "sse" | Older remote servers | Deprecated by the MCP spec |
Frequently asked questions
What is an MCP config?
An MCP config is a JSON file that tells an AI client (such as Claude Desktop, Cursor, or VS Code) which Model Context Protocol servers to start and how to reach them. Each server entry defines either a local command to launch (stdio transport) or a remote URL to connect to (HTTP or SSE transport).
Where do I put the generated config file?
It depends on the client. Claude Desktop reads claude_desktop_config.json in its application-support folder, Cursor reads .cursor/mcp.json (project) or ~/.cursor/mcp.json (global), VS Code reads .vscode/mcp.json, Windsurf reads ~/.codeium/windsurf/mcp_config.json, Cline reads cline_mcp_settings.json in VS Code globalStorage, and Zed reads the "mcp" object in settings.json. The generator shows the exact path for the client you select.
Is my config uploaded to a server?
No. This tool runs entirely in your browser: generating, validating, and fixing configs are all done by JavaScript on your device. No network request ever carries your config, which means API tokens inside env variables stay private.
Why does my MCP config fail with "Unexpected token" or "JSON.parse" errors?
The most common cause is a trailing comma after the last item in an object or array, which standard JSON forbids. The second most common cause is a Windows path like C:\tools\npx.cmd written with single backslashes, which JSON reads as invalid escape sequences. Paste your config into the validator above to get an exact diagnosis and an auto-fixed version.
Should I use stdio or a remote URL?
Use stdio when the MCP server is a local program (an npm package run via npx, a Python script, a binary); the client launches it and talks over standard input/output. Use a remote URL when the server is hosted elsewhere and speaks Streamable HTTP or the legacy SSE transport. Stdio is the default for most open-source MCP servers.
Which clients does the generator support?
Claude Desktop, Cursor, VS Code, Windsurf, Cline, and Zed are fully supported. GitHub Copilot and ChatGPT are offered as beta outputs because their MCP config formats are still rolling out and may change between versions.
Is this tool free?
Yes. Free, no signup, no limits. The site is funded by unobtrusive ads, and the tool itself is never gated.