Lightweight MCP for infinite agent memory. Any agent, any session, anytime.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Any Agent. Any Session. Any Turn. Anytime.
The session you ran in Claude Code this morning, Openclaw can pull up this afternoon. The debugging thread Cursor worked through last week, Hermes can read like it was sitting right there. Lore gives all of your coding agents one shared memory: across every tool, across every session, and it never expires.
That is the part most "agent memory" misses. Other tools remember things for one agent, inside one app. Lore makes every session any of your agents has ever had searchable by any other agent, anytime. What Codex figured out, Claude Code knows. What you solved on Tuesday is one search away on Friday, in whatever agent you happen to be in.
And yes, it survives compaction. When a context window fills up and compacts, the work isn't gone, it's sitting right there on disk. Lore just makes it reachable again, fully searchable, right where your agents work. Local, private, and yours forever.
https://github.com/user-attachments/assets/b5c0f077-47da-4502-bf78-2ce08abf034f
Inspired by RLM
This release turns Lore from a search box over old transcripts into a small workflow substrate for agents that have to continue real work:
lore status --json reports both schemaVersion and
supportedSchemaVersion, so stale global installs are obvious before sync,
index, or push writes fail.lore status tells an agent whether a source/project
window is ready, missing, stale, or possibly unsynced before it writes a brief
or handoff from incomplete memory.lore sync <source> indexes a detected active
transcript tree incrementally. This covers codex (~/.codex/sessions, with
archived sessions as a compatibility fallback) and claude-code
(~/.claude/projects) without forcing agents to remember raw paths.lore-recall, lore-brief,
lore-handoff, and lore-dev-verification alongside the base lore skill.
They include references, examples, eval specs, validators, and committed test
reports.npm run package:smoke builds, packs, unpacks, and
validates the real tarball so README, help text, skill folders, executable
mode, and package metadata are checked together.Already installed? Refresh the global command before testing any schema or sync behavior:
If your shell cached the old path, open a new terminal or run hash -r and retry
lore help.
getUserById, foo.bar.ts, and trust-metadata
stay findable as whole words, not shredded into noise.~/.lore/lore.db on your
machine. Nothing phones home. Ever.Lore sets itself up. Drop the blurb below into any coding agent. It installs Lore, indexes your own history, and proves search works before it calls itself done. It is server-free by default, with no MCP registration required.
The deterministic recipe the agent follows lives in
AGENT-ONBOARD.md, which keeps MCP registration as an
optional step. Prefer the skill instead? npx skills add jordanhindo/lore
(below) drops in the self-bootstrapping lore skill, which does all of this the
next time you ask it to recall something.
Recommended: install the skill. It sets up the rest.
This drops the bundled lore skill into your agent (~/.claude/skills/). The
skill is self-bootstrapping: the next time you ask your agent to "remember" /
"recall" something or to "set up lore", it reads its own references/setup/index.md,
installs the lore CLI, indexes your history, and proves search works. No MCP
server required. One command installs the whole thing.
Or install the CLI directly:
Requires Node 22+. That's the whole install. lore setup takes it from here. If
npm install chokes on better-sqlite3, or lore isn't found afterward, the
Troubleshooting
section has you covered, Windows included.
The global lore command is just an npm binary shim. If you were running an old
package, update it before you trust lore sync, lore index, or lore push:
If lore status --json shows a store schemaVersion higher than
supportedSchemaVersion, your command is still stale. Reinstall the package,
open a fresh shell if needed, then rerun lore status --json.
Cloning is for contributors, or for writing a new adapter (which needs the source tree):
lore setup is the fast path. It sniffs out the harnesses on your machine,
indexes each one, checks that search works, and prints how to wire Lore into
your MCP client.
Want finer control? Point lore index at a transcript directory. For Claude
Code that's ~/.claude/projects:
Other harnesses come in with --source. Codex, openclaw, Cursor, and Hermes are
all built in:
Cursor and Hermes keep their history in a SQLite database rather than JSONL
files; point lore index at the directory and the adapter reads the store
directly. Current sampled Cursor rows expose toolResults fields but only empty
arrays, so the Cursor adapter indexes text only and fabricates no tool calls.
Re-run any of these whenever. Unchanged files get skipped, so repeat runs are cheap.
Some harnesses write transcript trees instead of emitting Lore-compatible hook payloads. For manual active-session catch-up, use the incremental sync command:
codex sync indexes ~/.codex/sessions incrementally, with
~/.codex/archived_sessions only as a compatibility fallback. claude-code
sync indexes ~/.claude/projects incrementally, including subagent
transcripts. hermes sync indexes ~/.hermes incrementally.
For cron, launchd, Task Scheduler, or any unattended timer, use the bundled
lock-protected wrapper instead of raw lore sync so multiple source jobs do not
write ~/.lore/lore.db at the same time:
You don't need the MCP server to use Lore. The lore command opens the SQLite
store directly, so search, read-back, navigation, and writing all work
server-free anywhere you have a shell. The MCP server below is just one more
reader of the same store; nothing here depends on it.
The loop is always the same: drill down, never dump. A session can be millions of tokens, so you never page a whole one into context. Search broadly, take the real ids it hands back (you never invent one), then spend them:
Other commands round out the loop: lore status (freshness/health),
lore sessions (recent conversations), lore timeline (activity by day/hour),
and lore push (add a live session from a JSON batch on stdin). Add --json to
any of them for a machine-readable envelope.
Every search filter the MCP tools accept works here too (--project, --source,
--session, --branch, --agent, --skill, --tool, --role, --model,
--since, --until, --limit).
Before asking for a current brief or handoff, check freshness:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/lore-2)<a href="https://allmcps.com/mcp/lore-2"><img src="https://allmcps.com/api/badge/lore-2?style=directory" alt="Lore on AllMCPs" /></a>