MCP config, client by client

Every client claims to speak MCP, and then disagrees on the config. VS Code calls the root key servers while everyone else calls it mcpServers. Windsurf points at a remote server with serverUrl where others use url. Claude Code has no file at all — it is a CLI. Copying a config between them fails, usually with no error message. Here is each one, verified.

The differences that break configs

ClientRoot keyRemote serverConfig location
Claude DesktopmcpServerslocal stdioclaude_desktop_config.json
Claude CodeCLI (no file to edit)--transport http.mcp.json / ~/.claude.json
CursormcpServerslocal stdio.cursor/mcp.json
VS Codeservers"type": "http" + url.vscode/mcp.json
WindsurfmcpServersserverUrl~/.codeium/windsurf/mcp_config.json

Pick your client

Claude Desktop Claude Code Cursor VS Code Windsurf

What PostWire's MCP server gives your agent

ToolWhat it does
generate_postsOne prompt in, a native draft per network out — respecting each one's character limit, hashtag rules and link conventions.
post_to_socialPublish to one or many networks in a single call.
get_post_statusCheck what happened to a post after it was accepted.
list_platformsWhich networks are available and which need approval.
my_accountPlan, usage and which brands are connected.

Hosted endpoint: https://postwire.io/api/mcp. Local package: npx -y postwire-mcp with POSTWIRE_API_KEY.

Get an API key free →

Questions people actually ask

Why does my MCP config work in Cursor but not VS Code?
Because VS Code uses "servers" as the root key while Claude Desktop, Cursor and Windsurf use "mcpServers". A config copied between them is ignored without an error.
Which MCP clients support remote servers?
Claude Code (--transport http), VS Code ("type": "http") and Windsurf ("serverUrl") connect to a hosted server directly. For Claude Desktop and Cursor the reliable route is running the server locally over stdio.