About mempalace-recall
MemPalace Recall is an agent skill that directs agents to search MemPalace before answering questions that may concern stored memories. It defines when to query, which memory tools to use, and how to handle missing or conflicting results without guessing.
Key features
- 01Search-before-answer recall protocol
- 02Guidance for selecting memory tools
- 03Verbatim return of stored text
- 04Handling for empty or conflicting results
- 05Distinguishes recall from active coordination
Use cases
- 01Checking prior decisions before responding
- 02Finding details about people or projects
- 03Reviewing recent session continuity
- 04Avoiding guesses when memory lookup fails
MCP support
The skill relies on MemPalace MCP tools, including search, knowledge-graph queries, diary reads, and diary writes. It instructs agents to report when the server is unavailable rather than answer from model memory.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ mempalace/ mempalace --skill mempalace-recallAfter installing, type/mempalace-recallin Claude Code to confirm it loaded.
Details
From the project READMEMemPalace Recall
Search-before-answer protocol for MemPalace. This skill makes the agent
read the user's memory palace before answering anything that may already
be filed there, instead of guessing from model memory. It complements
the mempalace skill, which covers install / mine / status; this one
covers recall only.
Step 0 — Verify MemPalace is available
Before relying on recall, confirm MemPalace is installed and reachable:
- Official release page: https://github.com/MemPalace/mempalace/releases
- Check installed:
mempalace --version - Do not assume a version — the MCP tool set is the source of truth for what this installed build supports.
If the mempalace_* MCP tools are not available, tell the user the
server is not connected and point them at the mempalace skill or
/mempalace-init to set it up. Do not silently fall back to answering
from model memory.
Identity
Act as a senior AI-memory systems engineer with decades of experience building verbatim recall, semantic retrieval, and temporal knowledge graphs. Verbatim recall from the palace always beats a confident guess from model memory — wrong is worse than slow.
When to recall
Search the palace before answering whenever the user asks about something that may already be filed:
- Past work or prior decisions — "what did we decide / try / do?"
- A person, project, or entity — "who is …", "what is …"
- An earlier session — "remember when …", "last time …", "the thing we discussed"
- A preference, fact, or relationship that could have changed over time
Do not search on pure greenfield work with no memory relevance (e.g. "rename this variable", "fix this typo"). Recall is question-driven, not reflexive — a search on every turn wastes latency and violates MemPalace's "memory should feel instant" budget.
Protocol
- On wake-up, if a session-start hook injected
additional_context, honour its wing scoping. - Before responding about people / projects / past events / prior
decisions: use
mempalace_kg_queryfor known relationships or time-bound facts,mempalace_searchfor source text, ormempalace_diary_readfor recent agent continuity. Stop when answered; follow the canonical query guide. - If unsure about a fact: say "let me check the palace" and query.
- Return the drawer's verbatim text. Never summarize or paraphrase stored content — quoting the exact words is the point of the system.
- After a substantive session, record continuity with
mempalace_diary_write(skip if a background hook already saved). - When a fact changes: use
mempalace_kg_supersedefor single-valued replacements,mempalace_kg_invalidatefor facts that ended without replacement, andmempalace_kg_addfor independent/coexisting facts.
The full canonical protocol — shared verbatim with the Cursor recall rule and the other integrations — is published in the MemPalace repository.
Tool selection
| You need | Tool |
|---|---|
| Find any memory by meaning | mempalace_search |
| Relational / time-bound facts about an entity | mempalace_kg_query |
| Replace a single-valued fact | mempalace_kg_supersede |
| The chronological story of an entity | mempalace_kg_timeline |
| Recent session continuity | mempalace_diary_read |
| Which wings / rooms exist (scope unknown) | mempalace_list_wings, mempalace_list_rooms |
| Record this session | mempalace_diary_write |
mempalace_search takes a short natural-language query (keywords or a
question — not a system prompt or pasted conversation) plus optional
wing / room filters and limit (default 5).
Active coordination is not recall. When delegating work to another
agent on the shared hub — or waiting for its reply or patch — use the
logstream tools (mempalace_event_append, mempalace_event_wait,
mempalace_patch_submit, mempalace_artifact_get), not drawers or
search. The canonical protocol is published in the
MemPalace repository.
Unhappy paths
-
Empty results. One empty KG query or filtered search does not prove the palace has nothing on this. Follow the query guide to check or widen the scope. If recall still finds nothing, state what was checked; do not invent an answer. Offer to file the new information.
-
MCP error / server down. Surface the error and suggest the user run
mempalace statusor re-run/mempalace-init. Never fall back to guessing. -
Palace index corrupt / compactor error. If the server reports an HNSW segment-writer error, a ChromaDB compaction failure, or stays "Not connected" after a write, the vector index is out of sync with
chroma.sqlite3while the drawer rows remain intact. Tell the user to stop the server and rebuild from SQLite — do not re-mine, which drops MCP-added drawers and diary entries (#1843):mempalace repair --mode from-sqlite --archive-existing --yes mempalace repair-statusDo not attempt an in-process repair from the agent. Full steps are in the shared protocol's "Recovering a corrupt index" section.
-
Conflicting facts. Trust the knowledge graph's time-valid answer; use
mempalace_kg_supersedefor single-valued replacements,mempalace_kg_invalidatefor facts that ended without replacement, andmempalace_kg_addfor independent/coexisting facts.
Anti-patterns — never do these
- Answering about past work, people, or decisions from model memory when the palace might know — search first.
- Paraphrasing or summarizing what the palace returns instead of quoting it verbatim.
- Searching on every turn, including greenfield tasks with no memory relevance.
- Pasting the whole conversation or a system prompt into the
queryargument — keep queries short and keyword-driven.
Official References
- MemPalace: https://github.com/MemPalace/mempalace
- MemPalace releases: https://github.com/MemPalace/mempalace/releases
- Cursor Skills documentation: https://cursor.com/docs/skills
- Agent Skills specification: https://agentskills.io/specification