Skip to content
MCP tools · Validator · Claude Code
.mcp.json, checked.
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.
§ 01
Paste & validate
.mcp.json
§ 02
What this checks
9 checks
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).
- Universal screens: possible
secret values pasted in env (heuristic warning — prefer ${VAR} expansion) and insecure http:// URLs on non-local endpoints.
Checks grounded in the official reference:
code.claude.com/docs/en/mcp (typeless-url error, type aliases, stdio command handling, whitespace warnings,
${VAR} expansion). Server names: letters, numbers, hyphens and underscores only. Status check:
claude mcp list or
/mcp inside Claude Code.