Paste your Claude Code .mcp.json, hit Validate. Catches the silent killer: a url with no type reads as stdio and never connects. Plus transport fields, env and headers shape. 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 — project scope reads servers from a top-level mcpServers key.url without type — an entry with url but no type is a configuration error: Claude Code reads typeless entries as stdio, skips the server and reports it. Always fails.type enum — type must be one of stdio, http (alias streamable-http), sse or ws. sdk warns: only SDK host apps can register it, Claude Code skips it.stdio fields — stdio entries need a command string; a missing command fails. args must be an array of strings when present.Remote fields — http/sse/ws entries need a url string (https, or wss for ws).env / headers shape — env and headers must be objects of string values when present.Hidden whitespace — leading/trailing whitespace in command, url, args, env or headers values warns (usually a pasted token with a trailing newline).secret values pasted in env (heuristic warning — prefer ${VAR} expansion) and insecure http:// URLs on non-local endpoints.${VAR} expansion). Server names: letters, numbers, hyphens and underscores only. Status check: claude mcp list or /mcp inside Claude Code.