Rekalldocs
Guides

MCP server

rekall mcp exposes your stores as Model Context Protocol tools, giving Claude Code, Claude Desktop, and Cursor millisecond neural-search inner-loop retrieval with one line of config.

The Model Context Protocol (MCP) is an open standard for giving AI agents tools. rekall mcp runs a stdio MCP server that exposes your Rekall stores as tools — so an agent gets millisecond, reasoning-grade retrieval in its inner loop with one line of config.

The wedge

4 ms is fast enough to sit inside an agent's loop. Wire Rekall in as MCP tools and your agent can query its memory hundreds of times per task — with a confidence signal to branch on — without blowing the latency budget.

Start the server

rekall mcp

It ships with the CLI client and speaks MCP over stdio, so you normally don't run it by hand — you point a client's config at it and the client launches it. It reads REKALL_API_KEY (and optional REKALL_BASE_URL) from the environment, so the same server works against the managed cloud or an enterprise self-hosted deployment.

Client configuration

One command:

claude mcp add rekall -- rekall mcp

Or add it to your project's .mcp.json (checked in, shared with your team):

.mcp.json
{
  "mcpServers": {
    "rekall": {
      "command": "rekall",
      "args": ["mcp"],
      "env": {
        "REKALL_API_KEY": "rk_live_…",
        "REKALL_BASE_URL": "https://api.rekall.sh/v1"
      }
    }
  }
}

REKALL_BASE_URL is optional — it defaults to the managed cloud. Set it to your enterprise deployment (e.g. https://rekall.internal.acme.com/v1) to point the agent's tools at your own network.

Edit claude_desktop_config.json (Settings → Developer → Edit Config):

claude_desktop_config.json
{
  "mcpServers": {
    "rekall": {
      "command": "rekall",
      "args": ["mcp"],
      "env": {
        "REKALL_API_KEY": "rk_live_…",
        "REKALL_BASE_URL": "https://api.rekall.sh/v1"
      }
    }
  }
}

Restart Claude Desktop; the Rekall tools appear in the tools menu.

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):

.cursor/mcp.json
{
  "mcpServers": {
    "rekall": {
      "command": "rekall",
      "args": ["mcp"],
      "env": {
        "REKALL_API_KEY": "rk_live_…",
        "REKALL_BASE_URL": "https://api.rekall.sh/v1"
      }
    }
  }
}

Tools

The server exposes three tools.

Run the reasoning loop over a store. Returns a SearchResult.

Prop

Type

rekall_search input schema
{
  "type": "object",
  "required": ["query", "store"],
  "properties": {
    "query":        { "type": "string" },
    "store":        { "type": "string" },
    "max_hops":     { "type": "integer", "minimum": 1, "maximum": 8, "default": 6 },
    "max_results":        { "type": "integer", "minimum": 1, "maximum": 50, "default": 5 },
    "return_trace": { "type": "boolean", "default": true },
    "filter":       { "type": "object" }
  }
}

rekall_ingest

Write documents into a store (upsert). Lets an agent grow its memory within a task.

Prop

Type

rekall_ingest input schema
{
  "type": "object",
  "required": ["store", "documents"],
  "properties": {
    "store": { "type": "string" },
    "documents": {
      "type": "array", "minItems": 1, "maxItems": 1000,
      "items": {
        "type": "object",
        "required": ["id", "text"],
        "properties": {
          "id":       { "type": "string" },
          "text":     { "type": "string" },
          "metadata": { "type": "object" }
        }
      }
    }
  }
}

rekall_list_stores

List the stores available to the configured project. No arguments.

rekall_list_stores input schema
{ "type": "object", "properties": {} }

Using it in an agent

Once configured, the agent calls the tools like any other. A typical inner loop searches memory, acts, then writes the observation back so memory grows within the task — see the agent inner-loop memory recipe.

Next steps

On this page