fable MCP server
fable is a local memory and recall server for Claude Code that indexes your entire conversation history, making it searchable and retrievable mid-session — operating entirely locally without API keys or cloud services.
fable_search– Search across all past sessions by keyword, project, tag, file, or action verb; returns ranked threads with metadata (IDs, token counts, decisions).fable_thread– Retrieve exact, verbatim turns from a past conversation thread under a token budget — not a summary, the actual transcript.fable_block– Recover a specific tool result or turn byte-for-byte by UUID.fable_prune– Strip tool noise, images, and bloat from the current session transcript, with the original automatically sealed in a vault backup.fable_remember– Store durable facts, preferences, or rules that are auto-injected at the start of every future session (optionally scoped to a project).fable_recall– Read back all previously stored durable facts, globally or per-project.fable_context– Auto-assemble a budget-aware context pack from the most relevant past threads for a given task.fable_files– List all files Claude has edited across the archive or within a session, with edit counts and timestamps.fable_file_history– Reconstruct every version of a file Claude has ever edited, with timestamps and session info.fable_file_diff– Generate a unified diff between any two reconstructed historical versions of a file.fable_tags– Discover taxonomy tag families and values for precise tag-filtered recall searches.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fable MCP serverwhat did we discuss about the database schema?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
fable Recall
Your Claude already has a memory. fable unlocks it.
Quickstart · Why fable · Benchmarks · Roadmap · Discussions
Every conversation you've ever had with Claude Code is already saved on your machine — every decision, every debugging hunt, every 2 AM breakthrough, word for word. Claude just isn't allowed to use it.
Mid-session, compaction builds a wall: everything behind it is locked away
to save tokens, and Claude carries on with a thin summary. /clear wipes
the slate. And after 30 days, Claude Code quietly deletes the files
themselves. Your project's real memory — locked, then destroyed, by
design.
Everyone else sells you a replacement memory: summaries, extracted facts, vector stores. fable does something different — it unlocks the real one.

pipx install git+https://github.com/grooverLab/fable
fable install # one command: register the MCP, install hooks, index your history
fable serve # browse your memory in a dashboard100% local · no API keys · no cloud · no daemons. Your conversations never leave your machine.
pipx install git+https://github.com/grooverLab/fable # install the CLI
fable install # one-shot: claude mcp add + Claude Code hooks +
# ~/.fable home + index every transcript
fable serve # dashboard at http://127.0.0.1:8765
pipx upgrade fable-recall # update later (pulls latest from GitHub)fable install is idempotent — safe to re-run; it skips anything already wired.
To do it by hand: fable setup (home) · claude mcp add fable -- fable mcp (MCP) · fable discover (index).
command | what it does |
| rank threads by relevance ( |
| assemble a budgeted context pack |
| a thread's raw turns, byte-identical |
| a file's full edit history across sessions |
| generate AI summary cards (background) |
| (re)scan + index all Claude Code projects |
| slim a session · export · index stats |
| the dashboard |
Ask about past conversations with Claude — get the real answer. "What did we decide about auth last month?" Claude searches its own history mid-session (via MCP) and quotes the actual transcript — not a summary, not an extracted "fact." The conversation itself.
The wall stops costing you. fable catalogs everything before compaction walls it off, and hands back exactly what Claude lost — on demand, under a token budget you set.
The 30-day deletion becomes irrelevant. Sealed into a local vault, byte-identical, for as long as you decide.
Related MCP server: acheron-mcp-server
First of its kind — five things no other tool does
🧵 Composed Sessions. Hand-pick conversations from any project, any month — put them in your order — and fable builds a brand-new session that Claude resumes as its own lived history. A workspace with curated memory. (Empirically verified: restitched sessions resume cleanly, signatures intact.)
🕰️ File time-travel. Your transcripts accidentally versioned
everything. fable reconstructs every file's edit history — every Edit
and Write Claude ever made, across every session — with side-by-side
comparison between any two moments of a file's life, and a jump back to
the conversation that made each change. (fable file src/loader.py)
✂️ Transcript Surgery. Your 80 MB session is paying rent on dead threads. Remove whole conversations — fable re-stitches the timeline, shows you the simulation first, and keeps every removed byte recallable forever. Reversible by construction.
🪶 Pruning that loses nothing. Slim every message (tool noise, images, bloat) before resuming a heavy session — with an itemized preview of the savings, and the original sealed in the vault first.
🔍 Memory Diff. See exactly what any prune or cleanup cost any conversation — generation by generation, byte by byte. Nobody else can even show you what was lost.
How it works (the short version)
fable indexes your transcripts into a local SQLite archive: an immutable vault (every byte, forever) plus a search map (keyword + semantic, optional local embeddings via Ollama). Hooks run before Claude Code's compaction and cleanup; an MCP server gives Claude search / recall / remember tools. Measured on a real archive — 191,000 records, 6,000 conversations:
recall@1 | recall@5 | search (p50) | full re-index |
76.7% | 90.0% | 135 ms | 6.6 s |
Reproduce it: python3 scripts/benchmark.py. No competitor publishes
retrieval numbers.
Why fable — and not another memory layer
fable | claude-mem | mem0 / Letta | native Claude Code | |
Memory = your actual conversations | ✅ | ❌ summaries | ❌ fact snippets | ⚠️ locked behind the wall |
Survives the 30-day deletion & | ✅ | ⚠️ its summaries do | ❌ | ❌ |
Claude searches its own history (MCP) | ✅ | ✅ | ❌ | ❌ |
Composed sessions / file time-travel / surgery / diff | ✅ first of its kind | ❌ | ❌ | ❌ |
Zero API keys, fully offline | ✅ | ✅ | ❌ | ✅ |
Footprint | one SQLite file | Node + Chroma daemon | cloud / Docker | — |
(Fair is fair: mem0 fits multi-LLM production agents; ccusage goes deeper on billing analytics. Different jobs, both compatible with fable.)
Trusted the hard way
fable's first user is the session that built it: mid-build, that session
was pruned by fable (7.8 MB → 3.0 MB), kept working through compaction via
its own hook, and is now searchable through its own MCP server — and
fable file fable/recall.py replays its own source code being written,
18 versions deep. The build history eats its own dogfood — all $83k of
API-equivalent work in the author's archive included.
What people use it for
"Why did we choose X?" — architecture archaeology, weeks later
"When did this function break?" — file time-travel to the exact edit and the conversation around it
Picking up a debugging hunt exactly where the wall cut it off
A composed "workspace" session: threads from three projects, one memory
Slimming a heavy session before
--resume, reversiblyfable remember "we deploy Fridays only"— standing rules, every session
Try it on a fictional sample first:
python3 demo/seed_demo.py && fable --db demo/demo.db serve
MIT · local-first forever (non-goals) · built with Claude
Code, for Claude Code · @claude answers issues here — the butler is
Claude ·
architecture deep-dive ·
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/grooverLab/fable'
If you have feedback or need assistance with the MCP directory API, please join our Discord server