Free tool
MCP Config Generator
Generate the right MCP setup for Claude, Cursor, VS Code and other clients.
Runs entirely in your browser.
Generated configuration
Your configuration appears here.
Fill in the required fields on the left. The output updates as you type.
Configuration needs required fields.
Looking for an MCP server? Browse the MCP Directory.
Guide
What is an MCP config?
An MCP config tells an AI client which Model Context Protocol server to connect to and how. For a local server it names a command to run and its arguments and environment variables. For a remote server it holds a URL and, sometimes, headers.
How to configure an MCP server
- Find the server's setup instructions: the command and arguments, or its URL.
- Choose your client and whether the server is local or remote in the generator above.
- Enter the details. Add environment variables or headers only if the server requires them.
- Copy the output into the file or terminal the generator names, then restart or reload the client if it asks.
Local vs remote MCP servers
A local (stdio) server is a program your client launches on your computer, such as npx -y @playwright/mcp@latest. Secrets usually go in environment variables. A remote (HTTP) server is hosted by someone else and reached at a URL. Many sign you in with OAuth the first time; others expect an access token in a header.
MCP config by client
MCP config for Claude Desktop
Local servers are added to claude_desktop_config.json under mcpServers (Claude menu, Settings, Developer, Edit Config), then Claude Desktop is fully restarted. Remote servers are added in Settings under Connectors with Add custom connector, not in that file.
MCP config for Claude Code
Claude Code uses a command: claude mcp add --transport stdio name -- command args for local servers and claude mcp add --transport http name url for remote ones. Headers use --header "Name: value". Project-shared servers live in .mcp.json.
MCP config for Cursor
Cursor reads .cursor/mcp.json in a project or ~/.cursor/mcp.json globally, with an mcpServers object. Local servers use command, args and env; remote servers use url and headers.
MCP config for VS Code
VS Code reads .vscode/mcp.json (or your user profile) with a servers object. Every server needs a type of stdio or http. Secrets can be prompted for with inputs instead of being written into the file.
Common MCP configuration mistakes
- Using
mcpServersin VS Code, which expectsservers. - Replacing an existing config file instead of adding the server inside its existing object.
- Using relative paths in Claude Desktop, which requires absolute paths.
- Not fully quitting and restarting Claude Desktop after editing its file.
- Putting a remote server URL in
claude_desktop_config.jsoninstead of adding it as a connector. - In Claude Code, placing the server name directly after
--env, which reads it as another variable. - Committing a config file that contains tokens.
Frequently asked questions
- What is an MCP configuration?
- It tells an MCP client how to reach a server: either a command to run on your computer (local, stdio) or a URL to connect to (remote, HTTP). Each client stores that information in its own format.
- Where does Claude Desktop store MCP configuration?
- Local servers go in claude_desktop_config.json: ~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows. Open it from the Claude menu under Settings, Developer, Edit Config. Remote servers are added in Settings under Connectors instead.
- Do all MCP clients use the same config format?
- No. Claude Desktop and Cursor use an mcpServers object, VS Code uses servers and requires a type, and Claude Code is configured with the claude mcp add command (or a .mcp.json file). That is why this tool changes its output per client.
- What is the difference between stdio and remote MCP?
- A stdio server is a program your client starts on your machine and talks to over standard input and output. A remote server runs elsewhere and is reached over HTTP at a URL, often with OAuth sign-in or an access token.
- Does HistChat save my API keys?
- No. The generator runs entirely in your browser. What you type is not sent to HistChat, not stored, and not included in analytics. It disappears when you reload the page.