A local MCP server that gives any agent permanent memory across every Claude Code session.
Read tools for search and recall. Write tools for tags and threads. Audit log on by default. Rate-limited. Bound to 127.0.0.1. Built on the open Model Context Protocol so any MCP-aware agent can call it.
Five-minute install
Install Claude Recall (see /install), then add this block to your Claude Code MCP config:
{
"mcpServers": {
"recall": {
"command": "claude-recall-mcp"
}
}
}Restart Claude Code. The agent now has access to every Claude Code session you have ever indexed. Mid-session, it can search past work, fetch context, or apply tags without you breaking flow.
Tools the agent can call
Read
searchFull-text search across every indexed session and note.get_sessionFetch a session by id with metadata and ordered messages.list_sessionsList sessions filtered by project, tag, or date range.list_projectsList indexed projects.list_tagsList tags and tag counts.context_for_sessionReturn condensed context for a session, ready to inject.thread_getFetch a persistent context thread by id.thread_listList active and archived threads.thread_for_sessionList threads that reference a given session.
Write
apply_tagsAdd tags to a session. Honors the no-delete invariant.list_sessions_to_tagSurface untagged or partially-tagged sessions for review.
Write tools never delete. Tag application is additive. Three-layer durability holds for everything written through MCP, the same as for human writes.
Why MCP, not a wrapper API
MCP is the protocol Claude Code already speaks for tool use. Building Claude Recall as a first-class MCP server means agents call it the same way they call file edits or web fetches. No glue code. No custom adapter. No extra latency.
Audit log and rate limits
Every MCP call is appended to an on-disk audit log under ~/.recall/audit/. You can grep it. The MCP server enforces a per-tool rate limit so a runaway agent loop cannot saturate it. Default limits are conservative; configurable in the daemon settings.
Example agent prompt
Drop something like this into a fresh Claude Code session and the agent will reach into your history without you having to drive:
Find the session where I last touched the auth retry logic.
Pull condensed context for it. Tell me what I changed and what was still broken.The agent calls search, then context_for_session, and answers from the retrieved context. No human session-id juggling.
Privacy posture
- Bound to
127.0.0.1. Never on a public interface. - No outbound network calls.
- No telemetry on MCP usage.
- Audit log is local. We never see it.