fable MCP server

fable MCP server

Enables Claude to search, recall, and remember its own past conversations by indexing them into a local SQLite vault, providing direct access to the full context of previous sessions.

Category
Visit Server

README

<div align="center">

fable

Your Claude already has a memory. fable unlocks it.

</div>

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.

fable demo

pipx install git+https://github.com/grooverLab/fable
fable discover      # every conversation you ever had — unlocked, in seconds
fable serve         # browse your memory in a dashboard

100% local · no API keys · no cloud · no daemons. Your conversations never leave your machine.

  • 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.

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 & /clear ⚠️ 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, reversibly
  • fable 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

search dashboard

MIT · local-first forever (non-goals) · built with Claude Code, for Claude Code · @claude answers issues here — the butler is Claude · architecture deep-dive · Star History Chart

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured