MCP Config Builder

Build the JSON config file that registers MCP (Model Context Protocol) servers with Claude Desktop, Cursor, VSCode (Cline), Zed and Windsurf. Pick from 30+ ready-made presets — Filesystem, GitHub, Postgres, Slack, Notion, Brave Search and more — fill the required tokens or paths, and copy a clean, validated config for the client of your choice. Multi-server, multi-client, 100% in your browser.

Selected servers 0 servers
No servers added yet. Pick a preset above to start.
Config file location
claude_desktop_config.json

            

What Is an MCP Config File and Why Do You Need One?

The MCP (Model Context Protocol) config file is the small JSON document that tells your LLM client — Claude Desktop, Cursor, VSCode, Zed, Cline or Windsurf — which MCP servers to launch, how to launch them, and what credentials to inject. Without it, none of the impressive MCP capabilities you have read about — Claude reading your local files, Cursor talking to your Postgres database, an agent posting to your Slack — actually work. The config is the wiring diagram between the AI assistant and the tools you want it to have access to.

The format looks deceptively simple — a flat mcpServers object containing one entry per server, each with a command, an args array and an optional env object. In practice, getting it exactly right is fiddly: package names change, paths must be absolute, environment variables must match the server's expectations, and every client has slightly different conventions around where the file lives and what root key it expects. This MCP config builder generates the correct file in one click for the most popular MCP servers and the five most common clients.

Supported MCP Clients

Each LLM application that supports MCP stores its config in a different place and sometimes uses a slightly different schema. The builder handles all of them transparently — pick the client tab on the right and the output adjusts automatically:

How the MCP Config Builder Works

The flow is the same regardless of how many servers you wire up. On the left, you pick servers — either from the searchable preset list (over thirty pre-built definitions covering everything from the official Anthropic reference servers to community favourites like Notion, Linear and Stripe) or by filling in a custom command, args and env if your server is not on the list. Each preset declares which parameters the server needs — a directory path for the Filesystem server, a personal access token for GitHub, a connection string for Postgres — and the builder renders the right input fields automatically.

On the right, you choose the target client and the builder emits the correct JSON file for that client, with the right root key, the right per-entry schema, and copy-ready formatting. The path widget at the top of the output column also tells you exactly where to drop the file for each operating system, so you do not have to hunt through documentation. Nothing leaves your browser — no telemetry, no upload, no analytics on the config content. Tokens you paste are stored only in the page's memory until you close the tab.

Tip: Multiple servers in one config

You can stack as many MCP servers as you want under the same config. The builder lets you add several presets in sequence; the resulting JSON contains every server you added, each with its own command, args and env. Most clients support dozens of servers running in parallel without issue — Claude Desktop will display the union of all tools they expose under the hammer icon.

Common MCP Setup Mistakes (And How to Avoid Them)

Generated Config Examples

Claude Desktop — Filesystem + GitHub combo
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Documents"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx" }
    }
  }
}
VSCode (.vscode/mcp.json) — note the different schema
{
  "servers": {
    "postgres": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost/mydb"]
    }
  }
}
Zed (~/.config/zed/settings.json) — context_servers block
{
  "context_servers": {
    "brave-search": {
      "command": {
        "path": "npx",
        "args": ["-y", "@modelcontextprotocol/server-brave-search"],
        "env": { "BRAVE_API_KEY": "your-api-key" }
      }
    }
  }
}

Frequently Asked Questions

MCP is an open standard, introduced by Anthropic in late 2024, that defines how LLM clients (Claude Desktop, Cursor, VSCode, Zed, Cline, Windsurf and others) discover and call external tools. An MCP server is a small process that exposes tools, resources or prompts; the client launches it via the config file, then routes tool calls to it through JSON-RPC over stdio (or HTTP+SSE for remote servers). The config built by this tool is what tells the client which servers to launch.

The path widget on the right of the tool tells you for each client and OS. As a quick reference: Claude Desktop uses ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows, ~/.config/Claude/claude_desktop_config.json on Linux. Cursor uses ~/.cursor/mcp.json globally or .cursor/mcp.json per project. VSCode uses .vscode/mcp.json per workspace. Zed uses ~/.config/zed/settings.json. Cline uses its own cline_mcp_settings.json inside the VSCode extension storage.

Three usual suspects. First, you forgot to fully quit and relaunch the client — closing the window is not enough on macOS. Second, the JSON is invalid: a stray comma or unbalanced brace will silently fail; copy the output from this builder rather than hand-editing. Third, the command binary is not on PATH for the GUI app — try replacing npx with the absolute path returned by which npx. On Windows, you may need npx.cmd instead of npx.

Yes — that is the recommended setup. Add as many presets (or custom servers) on the left as you need; the generated config contains all of them. There is no hard limit, though each server consumes a small amount of memory while running so a few dozen is reasonable. The hammer-icon tool list in Claude Desktop will show the union of all tools across all configured servers.

Most require a personal token from the upstream service. GitHub: github.com/settings/tokens with repo and read:user scopes. Slack: install a bot app in your workspace and copy the bot token. Brave Search: free API key at brave.com/search/api. Postgres: a standard connection string like postgresql://user:pass@host:port/db. The hint text under each parameter field in the builder links to the most common source.

Yes — and this trips up most people. VSCode's native MCP support uses the root key servers (not mcpServers) and requires a "type": "stdio" field on each entry. Cursor, on the other hand, uses the same mcpServers root and per-entry schema as Claude Desktop. Cline is a third variant that uses Claude Desktop's schema but inside its own settings file. The builder applies the correct schema automatically when you switch tabs.

No. The entire builder runs in your browser. The preset list, the form rendering, the JSON generation, the path display — all of it is client-side JavaScript. Any token or path you paste stays in the page's memory until you close the tab. There is no save endpoint, no telemetry on the config content, no third-party API call. You can verify this in the Network tab of your browser's dev tools while typing.

This builder focuses on local stdio servers, which cover the vast majority of real-world setups (Filesystem, GitHub, Postgres, Notion, Slack, etc.). Remote HTTP+SSE servers are gradually being adopted; if you are wiring one up, use the custom-server form and set command to the remote URL (your client may also require an extra "transport": "sse" field — consult its docs).

Copied to clipboard