Cube Memory / Docs / MCP on Windows

Connect Claude Desktop on Windows via MCP

Claude Desktop on Windows does not talk to remote HTTP MCP servers directly — it needs a local STDIO proxy. This guide sets that up with mcp-remote in about two minutes, including the two Windows-specific traps (spaces in headers, Node.js requirement) that are easy to lose an afternoon on.

1Install Node.js LTS

npx ships with Node. In PowerShell or cmd:

PowerShell / cmd
winget install OpenJS.NodeJS.LTS

2Get your credentials

You need two values from your dashboard: an API key (cm_live_...) and your Project ID (proj_...). Both are required — the MCP endpoint authenticates with Authorization: Bearer <key> and X-Project-Id.

3Edit the Claude Desktop config

Open (or create) this file:

%APPDATA%\Claude\claude_desktop_config.json

Add the server below. Note the env-var indirection (${CUBE_AUTH}): passing Bearer <key> directly as an argument breaks on Windows because cmd.exe mangles arguments containing spaces.

claude_desktop_config.json
{
  "mcpServers": {
    "cube-memory": {
      "command": "cmd",
      "args": [
        "/c", "npx", "-y", "mcp-remote",
        "https://cubememory.com.br/gateway/v1/mcp",
        "--transport", "http-only",
        "--header", "Authorization:${CUBE_AUTH}",
        "--header", "X-Project-Id:${CUBE_PROJECT}"
      ],
      "env": {
        "CUBE_AUTH": "Bearer cm_live_YOUR_API_KEY",
        "CUBE_PROJECT": "proj_YOUR_PROJECT_ID"
      }
    }
  }
}
Alternative: no headers at all (query-param auth)

The endpoint also accepts ?key=...&project_id=... in the URL, which sidesteps the spaces problem entirely. Slightly less tidy (the key lives in the URL), but has fewer moving parts:

claude_desktop_config.json (query-param variant)
{
  "mcpServers": {
    "cube-memory": {
      "command": "cmd",
      "args": [
        "/c", "npx", "-y", "mcp-remote",
        "https://cubememory.com.br/gateway/v1/mcp?key=cm_live_YOUR_API_KEY&project_id=proj_YOUR_PROJECT_ID",
        "--transport", "http-only"
      ]
    }
  }
}

4Restart Claude Desktop

Fully quit Claude Desktop (system tray → Quit) and reopen it. The cube-memoryserver appears under Search & Tools with five tools: search_memory, store_memory, list_memories, search_notes and get_note.

Using Claude Code instead?

Claude Code (CLI/desktop) supports remote HTTP MCP natively — no Node proxy needed. Drop this into your project's .mcp.json:

.mcp.json
{
  "mcpServers": {
    "cube-memory": {
      "type": "http",
      "url": "https://cubememory.com.br/gateway/v1/mcp",
      "headers": {
        "Authorization": "Bearer cm_live_YOUR_API_KEY",
        "X-Project-Id": "proj_YOUR_PROJECT_ID"
      }
    }
  }
}

Troubleshooting

  • 401 on tools/list but initialize works. That is expected: initialize is unauthenticated; every tool call requires both auth headers (or the query params). Double-check X-Project-Id — it is the most commonly missed header.
  • Server never appears in Claude Desktop. Run npx -y mcp-remote --help in a terminal first — if Node is missing or blocked by a corporate proxy, that is where it fails.
  • Garbled auth / "invalid key" with a correct key. You probably passed Bearer <key> inline in args. Use the env-var pattern from step 3, or the query-param variant.

Endpoint reference

MCP endpointhttps://cubememory.com.br/gateway/v1/mcp
TransportStreamable HTTP (JSON-RPC 2.0)
Auth headersAuthorization: Bearer <key> + X-Project-Id: <proj>
Auth via URL?key=<key>&project_id=<proj>