MCP config file locations and formats: Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Cline
Where each AI client stores its MCP configuration, which JSON key it uses (mcpServers or servers) and how remote URLs are written, side by side.
Quick reference
| Client | File | Top-level key | Remote server field |
|---|---|---|---|
| Claude Desktop | claude_desktop_config.json (Settings → Developer → Edit Config) | mcpServers | Remote servers are added as connectors in the app |
| Cursor | ~/.cursor/mcp.json / .cursor/mcp.json | mcpServers | url |
| VS Code | .vscode/mcp.json (also .mcp.json) | servers (in .vscode/mcp.json) | "type": "http" + url |
| Windsurf (Cascade) | mcp_config.json (Cascade → … → Open MCP config file) | mcpServers | serverUrl / url |
The shared mcpServers format
Claude Desktop, Cursor and Windsurf accept the same local server entry:
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": [
"mcp-server-fetch"
]
}
}
}VS Code (.vscode/mcp.json)
Uses servers and a type for each entry:
{
"servers": {
"fetch": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-fetch"
]
},
"socketlist": {
"type": "http",
"url": "https://socketlist.pages.dev/mcp"
}
}
}Full guides
Claude Desktop · Cursor · VS Code · Windsurf · Claude Code · Codex · config generator