trilium-recall: Claude remembers what you wrote in Trilium #12316
Marceltov
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
If you connect Claude (or any AI assistant) to Trilium, it can search your notes. But it rarely does that on its own. Before starting a task, a model doesn't stop to ask "do my notes already know something about this?", because it doesn't know what it doesn't know. So it works out again things you already wrote down, or gets them wrong.
trilium-recall fixes that. It's a small container next to Trilium that indexes your notes and hands the assistant the few lines that matter. It runs as a plain MCP server, so any client can use it.
What it does
recall. Each call returns up to three short passages with note IDs, or nothing.In numbers
Measured on my own Trilium (280 notes, 49 test questions); yours will differ:
Charts and the full comparison are on the Measurements page. The repo includes a public test Trilium, so anyone can reproduce the test numbers.
Running it
It's one compose service next to Trilium, plus an ETAPI token and a password:
Then add
https://recall.example.org/mcpto your MCP client and log in once, or send the password as anAuthorization: Bearerheader. In Claude Code, for all your projects:claude mcp add --transport http trilium-recall https://recall.example.org/mcp -s user # then /mcp → Authenticate, and log in with RECALL_LOGIN_PASSWORDOn claude.ai, go to Customize → Connectors → Add custom connector and use the same URL. That's the whole setup.
Optional: if you use Claude Code and want recall on every prompt, without the model deciding when to look:
Details: how it works, run the engine, connect Claude.
It started inside my LLM wiki and understands its structure when there is one, but it works on any Trilium. An embedding model inside Trilium itself seems unlikely given Trilium's contribution rules (everything must work offline, and the bundle should stay small), so a separate container felt like the right place.
It's licensed AGPL-3.0-or-later. Feedback is welcome, and I'd love to hear how it does on other people's notes: the docs show how to measure your own.
All reactions