Sibyl Memory MCP

Long-term agent memory in one SQLite file with FTS5 search: an MCP server, a CLI and Hermes and LangGraph adapters

  • 177 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • The agent writes and deletes memory entries, and `sibyl skills` adds hooks to `~/.claude/settings.json`
  • The plugin contacts `api.sibyllabs.org` daily and sends the account id, a device token and an operation counter
All reasons and checks

sibyl-labs/sibyl-memory

Install

Manual install

pip install sibyl-memory-mcp sibyl-memory-cli

Requires Python 3.10 or newer and Linux, macOS or WSL2. Then `sibyl init` activates the account in the browser.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The agent writes and deletes memory entries, and `sibyl skills` adds hooks to `~/.claude/settings.json`
  • The plugin contacts `api.sibyllabs.org` daily and sends the account id, a device token and an operation counter

This is third-party code. Review the repository files before installing.

What it does

Sibyl Memory keeps agent memory locally in a SQLite database with a five-tier hierarchical schema and FTS5 full-text search. There is no vector database and no embedding model: search works on text, and all memory lives in one file, `~/.sibyl-memory/memory.db`. The repository ships five PyPI packages. `sibyl-memory-client` is the SDK, `sibyl-memory-cli` provides the `sibyl` command for activation and diagnostics, `sibyl-memory-mcp` exposes memory to MCP clients, `sibyl-memory-hermes` connects it to Hermes Agent and `sibyl-memory-langgraph` implements a LangGraph `BaseStore`. The MCP server gives the agent 15 tools prefixed `memory_*` for writing, searching and deleting. `sibyl setup claude-code` registers the server in Claude Code, and the `codex` and `cursor` variants do the same for those agents. `sibyl doctor` checks the whole chain: it starts the server, saves a test memory, recalls it and deletes it.

Who it is for. Developers on Claude Code, Codex, Cursor and Hermes Agent who want memory across sessions without a separate vector database or cloud storage for the memory text itself.

Good fit when

  • The agent asks about the stack and project agreements every session and they should be saved and recalled
  • You do not want a vector database or paid embeddings and need memory in one local file
  • One memory has to serve several clients at once: Claude Code, Codex and Cursor
  • A Hermes agent or a LangGraph graph needs long-term storage between runs
  • Saved memory should be read and searched from the terminal: `sibyl memory list|search|recall` works even without an account

Not a fit when

  • You need fully offline work without an account: since client version 0.9.0 the memory tools require an activated account
  • The work runs on Windows without WSL2: native Windows is not supported
  • The company forbids any calls to external services: the plugin checks in with `api.sibyllabs.org` once a day
  • Search must be semantic, based on embeddings: only full-text search is used here

Example request

Remember that tests in this project run with pytest -x and migrations are written by hand only, and recall it in the next session

MCP

Transport
stdio
Authentication
API key

Environment variables

SIBYL_MEMORY_TELEMETRY
A value of 0 turns off sending the memory operation counter.
SIBYL_MEMORY_DB
Path to the memory database file instead of ~/.sibyl-memory/memory.db.
SIBYL_CREDENTIALS
Path to the credentials file if it is not in the default location.

Limitations

  • An account is required. Without `sibyl init` every tool call returns an `ACCOUNT_REQUIRED` error, while local data stays readable with the `sibyl memory` command.
  • The plugin contacts `api.sibyllabs.org` for activation, a daily access check and a database size check. Memory content is not sent, but an operation counter is, unless you set `SIBYL_MEMORY_TELEMETRY=0`.
  • The free tier has a size cap. Self-learning and the memory linter belong to the paid Pro and Elite tiers.
  • It runs on Linux, macOS and Windows through WSL2.
  • The code is MIT, but the account check is tied to the project's servers, so a fork without it gets no updates or support.

How to disable. Run `sibyl skills uninstall`: it removes the Claude Code hooks from `~/.claude/settings.json`, the skill shims and the Codex block. Then remove the packages with `pip uninstall`. `claude mcp remove sibyl-memory` drops the server registration in Claude Code. The `~/.sibyl-memory/memory.db` file stays on disk until you delete it yourself.

FAQ

Do I need an account to use Sibyl Memory?

Yes, since client version 0.9.0 the memory tools require an activated account, and the free tier is the default. Without one the server starts and lists its 15 tools, but every call returns a clear error. Local data is readable with `sibyl memory` even without an account.

What data goes to the Sibyl server?

Memory content stays on the computer. `api.sibyllabs.org` receives activation, a daily access check with the account id, the database size near the cap and an operation counter. The counter is turned off with `SIBYL_MEMORY_TELEMETRY=0`.

How do I connect Sibyl Memory to Claude Code?

Install the packages with `pip install sibyl-memory-mcp sibyl-memory-cli`, run `sibyl init`, then `sibyl setup claude-code` and restart Claude Code. By hand the same is done with `claude mcp add --scope user sibyl-memory -- sibyl-memory-mcp`.

Why does the memory have no vectors or embeddings?

The author chose FTS5 full-text search on SQLite to avoid a vector database and an embedding model. According to the author, this architecture scored 95.6 percent on the public LongMemEval Oracle benchmark.

What is in the memory database and how can I read it by hand?

All entries live in one file, `~/.sibyl-memory/memory.db`. The `sibyl memory list`, `sibyl memory search` and `sibyl memory recall` commands read it in the terminal, even without an activated account.

Discussion

No questions or reviews yet.

Sibyl is a self-hostable knowledge graph shared by Claude Code, Codex and Cursor for decisions, gotchas and conventions

CLIExtended access68Repository stars

A local-first MCP memory server for agents: session history, codebase index and a concept graph in one SQLite database

MCP serverExtended access438Repository stars

Shared local memory for AI agents: Claude Code, Codex, Cursor and others find the agreements of past sessions in it and record new ones

CLIBroad access2.2KRepository stars

A long-term memory MCP server for AI agents: facts fade along a forgetting curve and related records are compressed into a summary

MCP serverExtended access272Repository stars

External memory for Hermes, Claude Code, Codex and Cursor: session archive, recall layers and relevant context injected back

CLIExtended access208Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Sibyl Memory (this card)noAPI key177
Basic Memorynonot required4,566keeps memory in local Markdown files with a link graph, while here it is a single SQLite file with FTS5 search
Claude-Memno116,790a memory plugin for Claude Code sessions, while here there are five packages including an MCP server and adapters for Hermes and LangGraph

README in short

The README explains the five packages, spells out the privacy policy and a table of what a MIT fork keeps and what the server holds. It then gives installation for the SDK, Hermes and MCP, an architecture diagram, LongMemEval benchmark results and the uninstall order including the instruction-file lifecycle hooks.

README badge

Report a problem