Claude Desktop · Cursor · VS Code

MCP Config Validator for broken JSON and server connections

An MCP config validator checks your JSON syntax, client-specific root key, server command or URL, transport, arguments, and environment variables. Paste a Claude Desktop, Cursor, or VS Code config below to find actionable errors, view safely formatted output, and download a repair report—all without sending the file off your device.

Check my MCP config now

Free · No account or email · Uses your current config, or a ready-to-use sample if you have not pasted one

JSON syntax diagnostics mcpServers checks Secret exposure warnings
MCP JSON configuration diagnostics for Claude Desktop
Local validation Your config stays in this browser
Line-by-line fixes JSON · command · URL · args · env

Browser-based JSON checker

Validate a Claude Desktop or Cursor MCP config

Select the client whose file you are editing, paste the complete JSON object, and run the check. The validator distinguishes blocking errors from warnings so you know what to fix first.

Input

Paste your MCP JSON

Local only

The expected root key and file-location guidance change with this selection.

Typical macOS file: ~/Library/Application Support/Claude/claude_desktop_config.json

Do not paste credentials you do not want included in a downloaded report.

Validation uses vanilla JavaScript in this page. No file upload or network request is made.

100 score
Immediate result

MCP configuration report

Ready to use
Servers 1
Checks 8
Errors 0
Warnings 0

What the checker found

Fix errors before warnings
    Normalized JSON output
    
                

    Free · No registration · Includes diagnostics, corrected JSON, file path, and restart checklist

    Errors you can act on

    An MCP JSON checker built around real config failures

    A valid JSON document can still be an invalid MCP configuration. These checks cover both the document structure and the server settings most likely to prevent a client from connecting.

    JSON syntax and root keys

    Detects malformed JSON, arrays used as the root value, missing mcpServers or servers objects, and client-specific root-key mismatches.

    Command, args, and env

    Checks local stdio server commands, verifies argument arrays, inspects environment-variable value types, and flags configurations with neither a command nor URL.

    URL, transport, and secrets

    Reviews HTTP and HTTPS endpoints, recognized transport values, conflicting connection methods, header types, and credentials that may be unsafe to share.

    0 core validation categories
    0 selectable client profiles
    0 config uploads required

    MCP configuration fix guide and copy-ready templates

    Use the file locations, known-good structures, and diagnostic matrix below after validating. Replace placeholder paths and URLs with values from the server’s own installation instructions.

    Claude Desktop and Cursor config file locations

    Open the client-specific file, back it up, then validate the entire JSON object rather than only one server entry.

    • Claude macOS ~/Library/Application Support/Claude/claude_desktop_config.json
    • Claude Windows %APPDATA%\Claude\claude_desktop_config.json
    • Cursor ~/.cursor/mcp.json
    • VS Code .vscode/mcp.json

    Local stdio MCP server template

    A stdio entry starts a local executable. Keep each argument as a separate JSON array item.

    claude_desktop_config.json
    {
      "mcpServers": {
        "my-local-server": {
          "command": "npx",
          "args": [
            "-y",
            "your-mcp-package"
          ],
          "env": {
            "API_KEY": "replace-me"
          }
        }
      }
    }

    Remote HTTP MCP server template

    A remote entry connects to a URL instead of launching a local process. Use HTTPS for non-local endpoints.

    Remote server configuration
    {
      "mcpServers": {
        "my-remote-server": {
          "type": "http",
          "url": "https://example.com/mcp",
          "headers": {
            "Authorization": "Bearer replace-me"
          }
        }
      }
    }

    Safe restart checklist

    Valid JSON is the first gate. Complete these operational checks before assuming the server package is broken.

    1. Save a backup of the previous working config.
    2. Confirm the command exists by running its version or help command in a terminal.
    3. Replace relative file paths with absolute paths where the server requires them.
    4. Save the corrected JSON with UTF-8 encoding.
    5. Fully quit and reopen the MCP client.
    6. Review the client’s MCP or developer logs for the first concrete error.

    Claude Desktop MCP connection error matrix

    Match the visible symptom to the earliest check that can confirm or eliminate its likely cause.

    Symptom Likely cause What to check
    Unexpected token Invalid JSON syntax Look for trailing commas, missing quotes, unescaped backslashes, or unmatched braces near the reported position.
    Server not listed Wrong root key or file Confirm the selected client, exact config file location, and whether the root object is mcpServers or servers.
    spawn ENOENT Command not found Run the command in a terminal, inspect the client’s PATH, or use the executable’s absolute path.
    Server exits immediately Bad args or missing env Check that args is an array of strings and that required environment variables are present.
    HTTP 401 / 403 Remote authentication failure Verify the authorization scheme and token source. Rotate any credential that was exposed publicly.
    Connection timeout Wrong URL or transport Confirm the endpoint, HTTPS certificate, server availability, and whether the client expects HTTP or legacy SSE.

    Three-step workflow

    How to check and repair an MCP config

    Work from syntax to schema to runtime. This order prevents a missing executable from distracting you while the client cannot parse the file at all.

    01

    Select your MCP client

    Choose Claude Desktop, Cursor, VS Code, or Generic so the checker can apply the expected root key and provide the relevant file path.

    02

    Paste and validate the JSON

    Paste the complete file. Fix blocking errors first, then review warnings about command, url, args, env, and secrets.

    03

    Download, save, and restart

    Download the repair report, compare its normalized JSON with your backup, save the intended changes, and fully restart the client before checking logs.

    MCP config FAQ

    Frequently asked MCP JSON questions

    Short answers for the configuration, transport, privacy, and troubleshooting questions developers commonly encounter.

    Where is the Claude Desktop MCP config file?

    On macOS, the usual location is ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows, it is normally %APPDATA%\Claude\claude_desktop_config.json. Fully quit Claude Desktop before replacing the file, keep a backup, and reopen the app afterward.

    What does mcpServers mean in a Claude or Cursor config?

    mcpServers is a top-level JSON object whose keys are server names. Each value describes how the client should connect, usually through a local command with args, or through a remote url. VS Code configurations may use a top-level servers object instead.

    Why is valid JSON still rejected as an MCP config?

    JSON validity only proves the document can be parsed. The client can still reject or ignore it when the root key is wrong, a server value is not an object, neither command nor url exists, or fields such as args and env use the wrong data type.

    What is the difference between stdio, HTTP, and SSE?

    stdio launches a local process and exchanges messages through standard input and output. HTTP connects to a remote MCP endpoint. SSE is an older remote connection pattern still used by some existing servers. Use the transport documented by the server and supported by your client version.

    How do I fix “spawn ENOENT” in Claude Desktop?

    spawn ENOENT usually means the configured executable cannot be found. Run the command in a terminal, verify it is installed, compare the terminal PATH with the desktop app’s environment, and consider using an absolute executable path. Also check that the command name is not incorrectly placed inside args.

    Is it safe to paste a config containing API keys?

    This page performs validation in your browser and does not upload the pasted text. It also warns about values that resemble credentials. Even so, avoid sharing screenshots or downloaded reports containing real secrets, and rotate any credential you believe has been exposed.

    Does the downloaded MCP fix report require an account?

    No. Clicking a report button immediately generates a Markdown file in your browser using the selected client, current diagnostics, normalized JSON, and restart checklist. If you have not entered a config, the report contains a usable sample configuration.

    Does a passing result guarantee that the MCP server will start?

    No. A passing result confirms the checks described on this page, not the availability of an executable, package, network endpoint, credential, filesystem permission, or client-specific feature. After fixing the config, restart the client and inspect its runtime logs.

    Take the diagnostics into your next MCP troubleshooting session

    Generate a Markdown report containing the selected client, file path, validation score, prioritized findings, normalized JSON, and a six-step restart checklist.

    Free · No registration · Generated locally from your current result