MCP Config Validator

Paste your claude_desktop_config.json. Catch JSON errors, missing fields, and typos before they break your setup. Runs in your browser. Your API keys never leave the page.

Examples:
Paste a config to validate

What the validator checks

  • JSON syntax: reports the line and column of the first error.
  • Top-level shape: the root must be an object with a mcpServers key. Common typos like mcp_servers or servers are flagged.
  • Server shape: each server defines either command (local/stdio) or url (remote). Pick one, never both.
  • Field types: args is an array of strings, env and headers are objects mapping strings to strings.
  • Transport: type or transport must be one of stdio, sse, http, streamable-http, or websocket.
  • URLs: must be http:// or https://. Non-local http:// gets a warning.
  • Common mistakes: placeholder env values ("your-api-key", "<token>"), npx without -y, and unknown keys on a server entry.

Which MCP clients use this format?

The mcpServers shape is the de-facto standard, used by:

  • Claude Desktop: claude_desktop_config.json. Edit from Settings → Developer → Edit Config.
  • Claude Code: .mcp.json (project) or the file managed by claude mcp add.
  • Cursor: ~/.cursor/mcp.json or .cursor/mcp.json per workspace.
  • Codex CLI, Windsurf, Zed, and most other MCP-compatible clients use the same top-level shape.

Common questions

What is an MCP config file?

A JSON file that tells an MCP client like Claude Desktop, Claude Code, or Cursor which servers to connect to. The standard shape is a top-level "mcpServers" object where each key is a server name.

Where is claude_desktop_config.json?

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows: %APPDATA%\Claude\claude_desktop_config.json. Claude Desktop creates it the first time you edit the config.

Does this tool send my config anywhere?

No. Validation runs entirely in your browser with JavaScript. Your API keys, tokens, and environment variables never leave the page.

What is the difference between a local and a remote MCP server?

A local (stdio) server runs as a subprocess on your machine and uses "command" and "args". A remote server runs on the internet and uses "url" with an "http" or "sse" transport. You cannot use both "command" and "url" on the same server.

Why does the validator warn me about "npx" without "-y"?

Without "-y", npx will prompt interactively on first run to install the package. MCP clients cannot answer that prompt, so the server fails to start. Adding "-y" (or "--yes") skips the prompt.

Add Hjarni as a server

Hjarni is a simple knowledge base with a built-in MCP server. Claude and ChatGPT read your notes, search them, and write new ones. Across every conversation.

{
  "mcpServers": {
    "hjarni": {
      "url": "https://hjarni.com/mcp",
      "type": "http"
    }
  }
}

New to MCP setup? See Use Hjarni with Claude or Use Hjarni with ChatGPT.

Give your AI a memory

Write once. You both remember.

Free to start. No credit card required.

Get started, it's free

Works with Claude and ChatGPT today. Gemini coming soon.