Guides

MCP integration

Recalld ships as a native MCP server. Point any MCP-compatible client at it and your assistant gets memory tools without any glue code.

Endpoint

https://eu.recalld.ai/mcp

Streamable HTTP transport, stateless. Use the host for your region.

Configure a client

{
  "mcpServers": {
    "recalld": {
      "url": "https://eu.recalld.ai/mcp"
    }
  }
}

That is the whole configuration. No key goes in the file.

Authorization

MCP does not use API keys

The endpoint rejects rcd_ keys. It is an OAuth protected resource, and the token has to come from Recalld's own authorization server.

On the first call the server answers 401 with a WWW-Authenticate header pointing at /.well-known/oauth-protected-resource. Clients that implement MCP authorization follow that automatically: they discover the authorization server, open a browser for you to approve the connection, and store the resulting token themselves.

Approval is where the agent gets chosen. The token is bound to one agent, so every tool call from that connection reads and writes that agent's memory. To connect a second agent, authorize a second connection.

Tools

ToolDoes
memory_addIngest conversation turns or documents into memory.
memory_recallRecall relevant facts with LLM-assisted selection. Returns a concise answer.
memory_searchEmbedding retrieval without LLM selection. Returns candidates for the agent to digest.
memory_filtersList the source kinds, authors and document paths the agent holds.

The arguments mirror the REST bodies. agent_id is absent everywhere, because the connection already fixes it.

Answering from one document

Both retrieval tools take the same source_kind, author and path filters as the REST endpoints. They narrow which sources the answer may come from, before ranking.

A client cannot guess those values, so memory_filters returns the ones the agent actually holds. Call it first, then pass one back. A filter that matches nothing returns no results.

thread_id over MCP

memory_add takes an optional free-form thread_id. Reuse the same value to group a session's memories, or omit it for agent-wide memory. task_id works the same as in the REST API and shares findings with other agents on the same task.

Usage and billing

MCP calls are metered exactly like REST calls, against the account that owns the agent. They show up in the same usage breakdown.