Skip to content

Summary

Indexes the coding-agent sessions already sitting on your disk — months of history from before you installed it — and serves them back over MCP. 3.5 GB searched in ~1.5 ms, no LLM, no embeddings.

Features

  • Indexes agent sessions already on disk — history from before you installed it
  • ~1.5 ms median search across 3.5 GB
  • 84.9% hit@1 on LongMemEval-S, 69.8% on LoCoMo — harnesses included in the repo
  • No LLM, no embeddings, no API key
  • Reads across seventeen agent harnesses
  • Session-start auto-recall where the harness supports it
  • One zero-dependency binary; moves between machines over SSH
  • Per-platform .mcpb bundles for desktop MCP clients

Installation

Set up this MCP server in your favorite AI agent — copy a ready-made configuration below.

Any MCP-compatible agent

Most agents (Claude, Cursor, Windsurf, VS Code, and more) read a standard mcpServers configuration.

  1. Open your agent's MCP configuration file.
  2. Merge the snippet below into it.
  3. Restart the agent — the "deja-vu" tools will be available.
{
  "mcpServers": {
    "deja-vu": {
      "command": "npx",
      "args": [
        "-y",
        "@vshulcz/deja-vu",
        "mcp"
      ]
    }
  }
}

Description

Every other memory tool starts empty and records forward, which means it is useless for the first few months. deja-vu starts full. It indexes the session transcripts your coding agents have already written to disk — months of history from before you installed it — and hands them back to any agent over MCP.

The numbers

Median search over 3.5 GB is about 1.5 ms. Retrieval accuracy is 84.9% hit@1 on LongMemEval-S and 69.8% on LoCoMo, with zero LLM calls, zero embeddings and zero API keys. Both benchmark harnesses ship in the repository and run on the public datasets in minutes, so the claims are checkable rather than asserted.

What it recalls

The pitch is a question asked twice: without deja-vu the agent has no record of it; with deja-vu it answers using a decision made eight months earlier — and nobody ran a search, the agent called deja itself. It reads across seventeen agent harnesses, so a decision recorded in Claude Code is available in Codex or OpenCode later.

Install and wiring

One zero-dependency Go binary, fully local:

curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh

Also available through go install, npx @vshulcz/deja-vu, and Homebrew (brew install vshulcz/tap/deja-vu). Desktop clients that take MCP bundles can use the per-platform .mcpb from each release, which carries the binary so there is nothing else to install.

deja install --all wires MCP recall into every agent it finds on the machine, editing configs and keeping a .bak; deja install --auto adds session-start auto-recall where the harness supports it. Install also builds the index from your existing history. It moves with you between machines over SSH, and ships shell completions for bash, zsh and fish.

MIT licensed, with an OpenSSF Scorecard badge on the repository.

Related MCP Servers

See all deja-vu alternatives

MCP: Compartment

by Max Freedom Pollard

Encrypted, fully offline agent memory: one local vault shared by every agent on the machine, AEAD-encrypted down to the embedding vectors, searched in about 12 ms.

MCP: ripwire

by Red Hat

Featured

Red Hat's zero-dependency C++23 code-context engine — ranked call graphs and blast-radius analysis, indexing a repo in under half a second with no server and no database.

MCP: Graphicle

by Graphicle

Local-first Rust MCP server that maps your repo into a code graph and project memory, then hands coding agents cited file-and-line excerpts.

MCP: OKF Agent Memory

by okf-memory

Git-native persistent memory for coding agents — sub-300µs BM25 search over version-controlled plain text, with no embeddings, no database and no API costs.

Browse all MCP servers →