Claude Desktop + MCP Module: bridging the stdio/HTTP mismatch with mcp-remote

If you've set up the MCP Module (Early Access) and Claude Desktop shows "not a valid MCP server configuration" or silently drops your server entry, this is why.

claude_desktop_config.json only supports local (stdio) servers, direct url / type: "http" entries get silently rejected. The example JSON in the MCP Module Early Access thread was written for a generic MCP client, not Claude Desktop specifically.

:cross_mark: This will be silently rejected:

"servers": {
  "ignition": {
    "url": "http://localhost:8088/data/mcp/your_project_name",
    "type": "http",
    "headers": {
      "X-Ignition-API-Token": "your-token-here"
    }
  }
}

:white_check_mark: Use this instead, bridge it with mcp-remote, a small Node package that translates the HTTP endpoint into the stdio interface Claude Desktop expects. Still no tunnel needed, still localhost, just one extra layer. You'll need Node.js installed:

"mcpServers": {
  "ignition": {
    "command": "npx",
    "args": [
      "-y",
      "mcp-remote",
      "http://localhost:8088/data/mcp/your_project_name",
      "--header",
      "X-Ignition-API-Token:${IGNITION_API_TOKEN}"
    ],
    "env": {
      "IGNITION_API_TOKEN": "API_KEY_HERE"
    }
  }
}

npx will download mcp-remote the first time it runs, so the first launch may take a few extra seconds while it fetches the package, that's normal, not a hang. Once it connects, you'll see:

Hope this saves someone else the debugging time, happy to help if anyone hits a different error on this path.

3 Likes