MCP Server Config Builder and Validator Tool - Generate and Validate Claude Desktop, Claude Code, VS Code, and Cursor MCP Configs

First Published:
Last Updated:

Build, validate, and convert Model Context Protocol (MCP) server configurations for Claude Desktop, Claude Code, VS Code, and Cursor from a single screen. Generate stdio and remote server entries in each client's format, validate a config you already have, and convert one config between clients.

All processing is performed entirely in your browser using client-side JavaScript. No data is transmitted to any server, and this tool never connects to an MCP server. Your configuration never leaves your device.

  • This tool is provided "AS IS" without any warranties of any kind.
  • The author accepts no responsibility for incorrect configurations, leaked secrets, or any other issues arising from use of this tool.
  • MCP client formats change frequently. The formats here were verified against official documentation as of 2026-06-14. Always cross-check with the official documentation of your client before use.
  • This tool does not connect to any server and cannot verify that a configuration actually works.
  • Use placeholder values such as YOUR_API_KEY while building. Do not paste real production secrets into a shared screen.
  • By using this tool, you accept full responsibility for any outcomes.

This tool uses client-side JavaScript for all processing. No data is transmitted to servers, no files are uploaded online, all processing happens locally in your browser. Once loaded, this tool continues to work even without an internet connection. For more details, please refer to our Web Tools Disclaimer.

Generated configuration (updates as you type)
Drag and drop a .json config here, or click to choose a file.
Drag and drop a .json config here, or click to choose a file.
Converted configuration for each client

Convert maps the common fields only (transport, command, args, env, url, headers, type). Client-specific fields such as timeout, alwaysLoad, headersHelper, oauth / auth, envFile, cwd, and sandboxEnabled are not carried over, and type: "ws" / streamable-http are mapped to http. Re-add any of those by hand after converting.

Features

  • Four clients, one screen: generate MCP server configs for Claude Desktop, Claude Code, VS Code, and Cursor side by side, each with its correct file name, file location, and the official documentation it was verified against.
  • Handles the format differences for you: VS Code uses the top-level key servers while the other three use mcpServers; VS Code requires a type field while Cursor and Claude Desktop treat it differently. The Builder applies each rule per client so you do not have to remember them.
  • stdio and remote transports: build local command / args / env servers or remote url / headers servers (Streamable HTTP or the deprecated SSE).
  • Claude Code commands too: alongside the JSON, the Claude Code tab generates the equivalent claude mcp add commands for stdio, HTTP, and SSE.
  • Validator with three severity levels: paste a config and get JSON syntax errors with line numbers, schema checks (wrong root key, args as a string, mixed command and url, duplicate server names, missing type, unknown keys), and security notes - each tagged as either a spec issue or a recommended practice.
  • Security awareness: the Validator flags values that look like plaintext tokens and remote URLs served over plain http://, and reminds you that a clean result is not a guarantee of safety.
  • Convert between clients: paste a config in one client's format and get the equivalent for all four, including a note where a target client (Claude Desktop) has no native remote field.
  • Copy, download, and load files: one-click copy and download for every output, plus drag-and-drop or file picker for the Validator and Convert inputs.
  • 100% client-side: no requests are sent and no MCP server is contacted. Once loaded, the tool keeps working offline.

How to Use

  1. Builder: optionally load a preset, then set each server's name, transport (stdio or remote), and fields. For stdio, fill command, one argument per line, and KEY=VALUE environment variables. For remote, pick http or sse and fill the url and any headers.
  2. Pick the output client tab (Claude Desktop / Claude Code / VS Code / Cursor) to see that client's JSON, file name, and location. Use Copy or Download. On the Claude Code tab, the equivalent claude mcp add commands appear below the JSON.
  3. Validator: choose which client the config targets, paste or drop a .json file, and click Validate. Review the Error, Warning, and Info results.
  4. Convert: tell the tool which client your pasted config is in, click Convert, and read off the equivalent config for the other clients.
  5. Keep secrets out of the file. Use placeholders while building, and supply real tokens through your client's environment-variable expansion at runtime.

About This Tool

The Model Context Protocol (MCP) is an open standard for connecting AI applications to external tools and data sources. Each MCP client stores its server list in a JSON configuration file, but the file name, location, top-level key, and per-server fields differ between clients. This tool generates and checks those per-client formats so a config that works in one client can be produced for another without hand-editing.

Supported clients and the official documentation used (verified 2026-06-14):

  • Claude Desktop - claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\); top-level key mcpServers; stdio via command / args / env. Source: modelcontextprotocol.io/quickstart/user.
  • Claude Code - .mcp.json (project scope) and ~/.claude.json (local / user scope); top-level key mcpServers; type of stdio / http (alias streamable-http) / sse / ws; plus the claude mcp add command line. Source: code.claude.com/docs/en/mcp.
  • VS Code - .vscode/mcp.json (workspace) or user configuration; top-level key servers (not mcpServers); type is required. Source: code.visualstudio.com MCP servers.
  • Cursor - .cursor/mcp.json (project) and ~/.cursor/mcp.json (global); top-level key mcpServers; stdio via command / args / env, remote via url / headers. Source: cursor.com/docs/mcp.

For background on building and running MCP servers, see the related articles below.

Frequently Asked Questions

Where is the Claude Desktop config file?

On macOS it is ~/Library/Application Support/Claude/claude_desktop_config.json; on Windows it is %APPDATA%\Claude\claude_desktop_config.json. In Claude Desktop you can open it from Settings, the Developer tab, "Edit Config". Restart Claude Desktop after editing.

Why doesn't my server show up after I edit the config?

Common causes are invalid JSON (a trailing comma or a missing brace), a relative path where an absolute one is required, the wrong top-level key, or simply not restarting the client. Validate the JSON here first, confirm the top-level key matches the client (servers for VS Code, mcpServers for the others), and check the client's own MCP logs.

What is the difference between a stdio server and a remote server?

A stdio server is a local process the client launches with a command and args, communicating over standard input and output. A remote server is reached over the network at a url using Streamable HTTP (or the deprecated SSE), usually with authentication headers. Use stdio for local tools and scripts, and remote for cloud-hosted services.

Why does VS Code use "servers" while the others use "mcpServers"?

It is simply a naming difference in each client's schema. VS Code's .vscode/mcp.json uses the top-level key servers, while Claude Desktop, Claude Code, and Cursor use mcpServers. Using the wrong key is one of the most common reasons a server fails to load, which is why the Validator checks it per client.

Can I still use SSE servers?

SSE (Server-Sent Events) still works in clients that support it, but the SSE transport is documented as deprecated in favor of Streamable HTTP (type: "http"). Prefer http for new remote servers where the server supports it; the Validator raises a warning when it sees type: "sse".

Related Tools

Related Articles

Important Notes

  • Formats change frequently. The formats generated by this tool were verified against official documentation as of 2026-06-14. Always cross-check with the official documentation of your client before use. This tool does not connect to any server and cannot verify that a configuration actually works.
  • Claude Desktop and remote servers. Claude Desktop's JSON config natively documents stdio servers only. Remote servers are normally added through the Connectors UI in Settings. When you choose a remote transport for Claude Desktop here, the tool emits an entry using the community mcp-remote stdio bridge and labels it as such - verify that bridge package before relying on it.
  • VS Code uses a different top-level key. VS Code's .vscode/mcp.json uses servers; the other three clients use mcpServers. The Builder and Validator handle this per client.
  • Keep secrets out of config files. Avoid committing real tokens. Each client supports environment-variable expansion - for example ${env:VAR} in VS Code and Cursor, and ${VAR} or ${VAR:-default} in Claude Code - so the secret can live outside the file. The Validator flags values that look like plaintext secrets.
  • A clean validation result is not a guarantee of safety. Only connect MCP servers from sources you trust. Servers that fetch external content can expose you to prompt-injection risk. This tool checks structure and common mistakes only; it does not audit server behavior.
  • The validator is conservative. It checks the documented field set for each client; an unknown key produces a warning, not a hard error, because clients may accept additional fields not covered here.

References:
Tech Blog with curated related content
Web Tools Collection

Written by Hidekazu Konishi