MCP Clients

Rekall's MCP server speaks the standard Model Context Protocol over stdio, so any MCP-compatible client can use its 40+ memory tools. The launch command is the same everywhere — only the config-file location and JSON/YAML shape differ per client.

Overview

Every client below launches the same Rekall MCP server and connects to your running Rekall backend. Pick your client for the exact config-file path and snippet. If your client isn't listed but supports MCP over stdio, use the launch command below and adapt it to that client's config format.

Same store, every client

All clients write to the same Rekall account, so a memory captured in Claude Desktop is recallable from Cursor, Zed, or any other connected client. Set a shared REKALL_USER_ID and WORKSPACE to keep context aligned.

The Launch Command

Rekall's MCP server is started by the start-mcp.sh script in your checkout, run via bash. Every client uses this same command — point args at the absolute path to the script:

Rekall MCP launch command
{
"command": "/bin/bash",
"args": [
"/absolute/path/to/rekall/start-mcp.sh"
],
"env": {
"REKALL_USER_ID": "your_user_id",
"WORKSPACE": "work"
}
}

Under the hood, start-mcp.sh changes into backend/, loads .env, and runs the server with npx tsx src/mcp/server.ts on stdio. The Rekall backend (PostgreSQL, Redis) must be running and reachable at http://localhost:9876/health.

Always use an absolute path

Clients launch the server from their own working directory, so a relative path like ~/rekall/start-mcp.sh will fail. Use the fully-qualified path to start-mcp.sh.

Supported Clients

VS Code (Copilot agent mode) and Goose register the same launch command in their own config formats — see the MCP Server reference for the full tool list and generic setup.

Environment Variables

VariableDescription
REKALL_USER_IDIdentifies whose memories are stored and retrieved. Use the same value across clients to share context.
WORKSPACEScopes memory to a workspace (e.g. personal or work) so contexts stay separate.
REKALL_SESSION_IDOptional. Tags memories with a session label (e.g. the client name) to track where they came from.
Rekall
rekall