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