Nine servers, six clients, one page each: the config file that client actually reads, the entry to put in it, three prompts that were run against the server, and the hosted endpoint if you would rather install nothing. The two facts that cause most failed installs are in the table below: the file name and the top-level key are not the same across clients.
| Client | Config file | Key | Watch out for |
|---|
| Claude Desktop | claude_desktop_config.json | mcpServers | paths must be absolute and env inheritance is limited |
| Claude Code | .mcp.json | mcpServers | local scope is the default and is per-directory |
| Cursor | .cursor/mcp.json | mcpServers | the current field table marks "type" as required |
| VS Code | .vscode/mcp.json | servers | the key is "servers", not "mcpServers" |
| Windsurf | mcp_config.json | mcpServers | legacy Cascade agent only, and a 100-tool ceiling |
| Cline | mcp.json | mcpServers | omitting "type" falls back to the legacy sse transport |