MCP Config Comparison: Claude Desktop vs Cursor vs VS Code
Each AI client uses a slightly different MCP configuration format. This comparison helps you understand the differences so you can set up MCP correctly — or migrate configs between clients.
MCP Config Builder
Build mcp.json configuration files visually for Claude Desktop, Cursor, VS Code, Windsurf, and Claude Code.
MCP Servers
No servers configured yet.
Add a server from or .
Client / Editor
Save to: claude_desktop_config.json
Generated Config
// Add at least one server to generate config
Related Guides
JSON structure differences
Most clients (Claude Desktop, Claude Code, Cursor, Windsurf) use 'mcpServers' as the root key. VS Code breaks the pattern by using 'servers' instead, and also adds support for an 'inputs' array that prompts users for secrets. Zed is the most different — it uses 'context_servers' as the root key and nests the command under a 'command' object with a 'path' field instead of a top-level 'command' string. The server entries themselves (command, args, env) are consistent across all clients.
Remote server support
VS Code has the best native HTTP support — you just set type to 'http' and provide a url. Windsurf supports remote servers via a 'serverUrl' field. Claude Desktop, Claude Code, Cursor, and Zed don't have native HTTP transport — you use the mcp-remote npm package as a bridge (npx -y mcp-remote https://your-server-url). This difference matters if you're connecting to cloud-hosted MCP servers rather than running them locally.
Unique features by client
Claude Code supports ${VAR} environment variable expansion and CLI management (claude mcp add/remove). VS Code supports ${input:id} variables that prompt users for secrets, plus ${workspaceFolder} for paths. Windsurf supports env var interpolation in all fields including serverUrl and headers. Zed's nested command structure allows for cleaner separation of the executable path from its arguments. Cursor offers both project-level (.cursor/mcp.json) and global (~/.cursor/mcp.json) config scopes.
Frequently Asked Questions
Can I share MCP configs between Claude Desktop and Cursor?
Yes — both use the same 'mcpServers' root key and identical server entry format (command, args, env). You can copy the mcpServers object between claude_desktop_config.json and .cursor/mcp.json without changes. For VS Code, you'll need to rename the root key to 'servers'.
Why does VS Code use a different root key?
VS Code's MCP support was built by the GitHub Copilot team and uses 'servers' as the root key. It also adds features like the 'inputs' array for secret prompts and ${workspaceFolder} variables. While the root key differs, the individual server configurations are compatible with other clients.
Which client has the best MCP support?
Claude Desktop and Claude Code have the most mature MCP support since Anthropic created the protocol. Cursor has excellent MCP integration with both project and global scopes. VS Code's MCP support is newer but adds unique features like secret prompts. The best choice depends on your primary development workflow.
Related Generate Tools
Box Shadow Generator
Design CSS box shadows visually with multiple layers, presets, and live preview
Flexbox Generator
Build CSS flexbox layouts visually with live preview, item config, and presets
Grid Generator
Build CSS grid layouts visually with columns, rows, gap, item placement, and presets
Border Radius Generator
Design CSS border-radius visually with per-corner controls, unit selection, and presets