Skip to main content

Connect Claude Desktop

Claude Desktop talks to MCP servers over stdio, but EDITED MCP is HTTP-only. Bridge the two with mcp-remote: it spawns as a stdio server and forwards every JSON-RPC call to the remote HTTP endpoint.

We're evaluating lighter-weight connection options for Claude Desktop and will update this guide as they become available.

1. Edit the Claude Desktop config

Open the config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add an mcpServers entry:

{
"mcpServers": {
"edited-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.edited.com/mcp",
"--header",
"x-api-key: YOUR_API_KEY",
"--transport",
"http-only"
]
}
}
}

Replace YOUR_API_KEY with your key. It lives in this local config file (claude_desktop_config.json) on your machine — not in any repo.

Two details in those args matter:

  • No trailing slash on the URL. The gateway redirects …/mcp/ to a plain http:// URL that drops the request, so mcp-remote can't complete the handshake through it — see Troubleshooting for the error this produces.
  • --transport http-only. EDITED MCP speaks Streamable HTTP only. Without this flag, mcp-remote falls back to the legacy SSE transport when a first attempt fails, which the gateway rejects with a 405.

Windows

Claude Desktop on Windows has a known bug where spaces inside args values are mangled when it invokes npx — and "x-api-key: YOUR_API_KEY" contains a space. Move the key into env and drop the space after the colon:

{
"mcpServers": {
"edited-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.edited.com/mcp",
"--header",
"x-api-key:${MCP_API_KEY}",
"--transport",
"http-only"
],
"env": {
"MCP_API_KEY": "YOUR_API_KEY"
}
}
}
}

2. Restart Claude Desktop

The server appears in Claude's tool list once the desktop app restarts. Look for the EDITED MCP tools (the mdmcp-search_* lookups) in the available-tools panel.

3. Verify

Ask Claude something only this server can answer:

"Find me three retailers similar to Zara in the UK."

You should see Claude call mdmcp-search_retailers with country_code: "UK".

Server prompts aren't applied automatically

EDITED's server-defined prompts (like mdmcp-market_data_query_guide) are available to the client but aren't injected into your conversation on their own — invoke them explicitly (in Claude Desktop, from the prompt/command picker) or fetch them with prompts/get. See How to query → Using the server-defined prompts.

Troubleshooting

Tools don't appear

  • Check the MCP logs — mcp-remote writes connection errors there:
    • macOS: ~/Library/Logs/Claude/mcp.log and mcp-server-edited-mcp.log
    • Linux: ~/.config/Claude/logs/mcp.log and mcp-server-edited-mcp.log
    • Windows: %APPDATA%\Claude\logs\
  • Confirm the server is reachable: curl -I https://mcp.edited.com/mcp should return an HTTP status (e.g. 401 without a key), not a connection error.

SSE error: Non-200 status code (405) in the logs

The URL in your config has a trailing slash (…/mcp/). The gateway 307-redirects that form to a plain-HTTP URL the proxy can't follow, so mcp-remote falls back to the legacy SSE transport — which EDITED MCP doesn't support, hence the 405. Remove the trailing slash (…/mcp) and add --transport http-only as shown above, then restart Claude Desktop.

Server fails to start on Windows (ENOENT / spawn errors)

Some Windows setups can't spawn npx directly. Invoke it through cmd instead: "command": "cmd", and prepend "/c", "npx" to args.

mcp-remote keeps disconnecting

  • The desktop app times out idle servers. It'll reconnect on the next tool call — no action needed.

Authentication

Every request needs an x-api-key header, which mcp-remote forwards via its --header argument (shown above). A 401 in the logs means the key is missing or not enabled for MCP — see Authentication & access for how to get one.