Free tool

MCP Server Config Generator

Fill in a name, a transport, and any headers or environment variables - get back a working claude mcp add command and an mcpServers JSON block, both updating live. Nothing here is sent to a server; it all runs in your browser.

This is exactly the config DimeBox's own MCP server uses. It gives any agent a real email inbox - draft, send, and receive - priced in cents. Hit "Load the DimeBox example" above to see it, or go straight to the full walkthrough.

FAQ

What is an MCP server config, and why do I need to generate one?

MCP (Model Context Protocol) lets a client like Claude Code or Cursor call tools on a server you point it at. Connecting one means writing either a CLI command or a small JSON block in the exact shape that client expects - get a flag or a key name wrong and the client just silently ignores the server. This tool builds both formats from the same inputs so you do not have to memorize the syntax.

Should I use http or stdio transport?

Use http if the MCP server is already running somewhere - a URL you could curl, like a hosted service. Use stdio if the server is a command that runs locally on your machine - most npm-packaged MCP servers work this way, e.g. "npx some-mcp-server". Claude Code defaults to stdio when no transport is specified.

What is the difference between --scope local, user, and project?

local (the default) is tied to the one project you added it from and is not shared or committed anywhere. user makes the server available in every project on your machine - stored in your global config outside any repo, so it is the right place for anything with an API key or secret. project writes to .mcp.json at the repo root, which is meant to be committed and shared with your team - never put a bearer token or secret header in a project-scoped server.

How do I add an API key or auth header?

For http servers, add a header row - commonly "Authorization: Bearer <token>" - and it is sent on every request to the server. For stdio servers, add an environment variable instead; the command reads it from its own process environment, not from a header.

Does the JSON output work for Claude Desktop and Cursor too?

Yes - the "mcpServers" block this tool generates is the same shape Claude Desktop, Cursor, Windsurf, and most other MCP clients expect. Paste it into that client's own MCP config file (for Claude Desktop that is claude_desktop_config.json) instead of running the CLI command, which is specific to Claude Code.

Can I edit or remove a server after adding it?

Yes - run "claude mcp list" to see what is configured, "claude mcp get <name>" for details on one, "claude mcp add" again with the same name to overwrite it, or "claude mcp remove <name>" to delete it.