Paste your Cursor mcp.json, hit Validate, fix the red rows before you restart Cursor. Catches the classic mix-ups: missing type: stdio, stdio and URL fields on the same server, envFile on a remote server. Runs 100% in your browser — nothing is uploaded.
JSON syntax — the file must parse. Trailing commas and comments are the usual culprits.Top-level mcpServers object — Cursor reads servers from a top-level mcpServers key.Transport conflicts — a server with both command (stdio) and url (remote) fields fails: pick one transport per server.type: "stdio" — stdio servers require "type": "stdio". A missing or mismatched type fails.stdio command — stdio servers need a non-empty command on your system path or a full path; args must be an array of strings when present.Remote url — servers without command need a url string (http/https endpoint).env / envFile rules — env must be an object of string values; envFile only works for stdio servers, so an envFile on a remote entry warns.secret values pasted in env (heuristic warning — use ${env:NAME} interpolation instead of hardcoding) and insecure http:// URLs on non-local endpoints..cursor/mcp.json, global ~/.cursor/mcp.json. Debug via the Output panel → MCP Logs.