MCP Config Validator — Claude Desktop, Cursor, Codex
Skip to main content

MCP Config Validator

Validate claude_desktop_config.json, Cursor MCP config, or any Model Context Protocol server map. Errors and warnings shown inline.

About MCP Config Validator

Validate Model Context Protocol server configurations for Claude Desktop, Cursor, Cline, and other MCP clients. Catches the common mistakes — missing required fields, both command and url set, non-string env values, invalid URLs — before you restart your client and wonder why the server isn't showing up.

What is validated

  • Top-level structure must be an object with a mcpServers key.
  • Each server must define either command (stdio) or url (remote), not both.
  • args must be an array of strings; env values must be strings.
  • url must be a valid absolute URL (http/https/ws/wss).
  • Unknown top-level keys and unknown server fields are flagged as warnings.

Pipeline

  • LLM JSON Repair — fix a pasted config that has comments or trailing commas before validating.
  • JSON Formatter — prettify the validated config before committing it.

Frequently asked

What is MCP?
Model Context Protocol (MCP) is an open standard for connecting AI assistants to external tools and data sources. Clients like Claude Desktop, Cursor, Cline, and Codex CLI read a JSON config file that maps server names to launchers. Each server exposes tools, resources, or prompts that the AI can call.
Where is the config file on my machine?
Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Cursor: ~/.cursor/mcp.json. Cline: stored in VS Code settings. The exact path varies by client — check the client's documentation.
What is the difference between stdio and remote transport?
Stdio servers are launched as a local process by the client (command + args). The client communicates over stdin/stdout. Remote servers run independently and expose an HTTP or SSE endpoint (url). Stdio is the most common pattern for local tools; remote is used for shared or cloud-hosted servers.
Why does my server not appear in the client after adding it?
Common causes: (1) JSON syntax error in the config — paste it here to check. (2) The command is not on PATH — use an absolute path. (3) The server process crashes on startup — check the client's MCP logs. (4) The client needs a restart after config changes.
What does the "autoApprove" field do?
"autoApprove" is a client-specific extension (not in the core MCP spec) that tells the client to automatically approve tool calls from this server without prompting the user. Use with caution — only set it for servers you fully trust, as it bypasses the human-in-the-loop approval step.