MCP Server Manifest Generator
MCP clients like Claude Desktop, Claude Code, Cursor, and Windsurf all read the same mcpServers JSON shape to know how to launch a server — command, arguments, and environment variables. This tool builds a correctly formatted, ready-to-paste config entry from a form, free and entirely in your browser.
Why generate this instead of copy-pasting from a README
Config JSON from a README often assumes you're replacing an entire file, but most people are merging one server into an existing config that already has others. Getting the nesting wrong — a stray server placed outside mcpServers, or an env object left as an empty — is a common cause of "my MCP server won't load" reports. This tool always nests correctly and only includes env when you actually have variables to set.
Worked example
Server name weather, command npx, two args, one env var:
{
"mcpServers": {
"weather": {
"command": "npx",
"args": ["-y", "@example/weather-mcp"],
"env": {
"WEATHER_API_KEY": "your-key-here"
}
}
}
}FAQ
What is this JSON used for?
It is the mcpServers config entry that MCP clients — Claude Desktop, Claude Code, Cursor, Windsurf — read to know how to launch an MCP server: which command to run, what arguments to pass, and what environment variables it needs.
Where do I paste the generated JSON?
Merge it into your client's MCP config file (e.g. claude_desktop_config.json or your project's .mcp.json) under the top-level "mcpServers" key — most clients already have that key if you've added a server before.
Should real API keys go in the env values?
Only in your local config file, which should never be committed. This tool runs entirely client-side and never sends what you type anywhere — but treat the downloaded file the same way you'd treat any file with secrets in it.
What if my server needs no arguments or env vars?
Leave those sections empty — the generator omits an empty "args" list gracefully and drops the "env" key entirely rather than emitting an empty object.