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
| Tool | Does |
|---|---|
| memory_add | Ingest conversation turns or documents into memory. |
| memory_recall | Recall relevant facts with LLM-assisted selection. Returns a concise answer. |
| memory_search | Embedding retrieval without LLM selection. Returns candidates for the agent to digest. |
| memory_filters | List 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.