Recalld
Managed long-term memory for AI agents. Facts evolve as information changes, and agents retrieve relevant context without a custom memory system.
Hosted MCP Server
npx add-mcp 'https://eu.recalld.ai/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
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.