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.
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
mcpServerskey. Common typos likemcp_serversorserversare flagged. - Server shape: each server defines either
command(local/stdio) orurl(remote). Pick one, never both. - Field types:
argsis an array of strings,envandheadersare objects mapping strings to strings. - Transport:
typeortransportmust be one ofstdio,sse,http,streamable-http, orwebsocket. - URLs: must be
http://orhttps://. Non-localhttp://gets a warning. - Common mistakes: placeholder env values (
"your-api-key","<token>"),npxwithout-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 byclaude mcp add. - Cursor:
~/.cursor/mcp.jsonor.cursor/mcp.jsonper 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 memoryWrite once. You both remember.
Free to start. No credit card required.
Get started, it's freeWorks with Claude and ChatGPT today. Gemini coming soon.