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:
winget install OpenJS.NodeJS.LTS2Get 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.jsonAdd 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.
{
"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:
{
"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:
{
"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:
initializeis unauthenticated; every tool call requires both auth headers (or the query params). Double-checkX-Project-Id— it is the most commonly missed header. - Server never appears in Claude Desktop. Run
npx -y mcp-remote --helpin 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 inargs. Use the env-var pattern from step 3, or the query-param variant.
Endpoint reference
| MCP endpoint | https://cubememory.com.br/gateway/v1/mcp |
| Transport | Streamable HTTP (JSON-RPC 2.0) |
| Auth headers | Authorization: Bearer <key> + X-Project-Id: <proj> |
| Auth via URL | ?key=<key>&project_id=<proj> |