USE CASES & PLUGIN

Where a memory with receipts helps.

Back to the demo ↑

01 / USE CASES

Who it is for

Proactive personal agents

Agents that book, buy and plan for you need your preferences and commitments, with proof. Before acting, the agent checks your diet, your Friday and who's coming. Every fact comes with the conversation it was said in. Anything not in memory becomes a question for you.

  • Your dietfound, with the conversation it came from
  • Your Fridayfound, with its date
  • Who's comingnot in memory, so the agent asks you

Companions and coaching personas

The longer the relationship, the more a persona has to remember. One real test user named the cat three ways over the summer:

  1. Sombra
  2. Fig
  3. Sombra

The Librarian shows every dated version, so the persona can ask instead of guessing. It covers the five question types: facts, recommendations, updates, dates, and memories that were never there (“not in memory”).

Customer support

“What did we promise this customer in March?”

The promise, the date and the conversation it was made in.

Team memory

“What did we decide about pricing?”

The decision and when it was made, or “never decided”.

02 / PLUGIN

Give any agent this memory

Librarian runs as an MCP server. Add it to Claude Code, Claude Desktop or Cursor and the agent can recall, search and cite the same archives as the demo.

Claude Code
claude mcp add --transport http librarian https://librarian67.pages.dev/mcp
Claude Desktop · Cursor
{
  "mcpServers": {
    "librarian": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://librarian67.pages.dev/mcp"]
    }
  }
}
recall
Evidence for a question, or not in memory
search
Free-text search over one archive
timeline
Every dated mention of a topic
ask_reactor
Reactor answers with citations
get_answer
Poll a Reactor answer
list_users
The 15 demo archives

03 / HTTP API

Or call it over plain HTTP

POST /api/pack
{"split": "test", "history_id", "question"} → the evidence pack: a few dated passages and notes computed in code
POST /api/search
{"split", "history_id", "query", "k"} → the top sessions for any text, oldest first
POST /api/jobs
{"kind": "ask" | "askback", …} → a job id; GET /api/jobs/<id> → Reactor's answer with citations
POST /api/upload
Your own archive (ChatGPT export, WhatsApp chat, notes) → a new history to ask
GET /api/status
Whether the search models and Reactor are available
Example
curl -s https://librarian67.pages.dev/api/pack \
  -H 'content-type: application/json' \
  -d '{"split": "test", "history_id": "h_d99a2da8f8ee",
       "question": "What is my cat'\''s name?"}'
The Librarian holds up the right page.

OPEN SOURCE

Read the code, run it yourself.

Retrieval runs on local models. Reactor writes the answer and cites its pages. The code is MIT licensed.

Open the demogithub.com/Concorde002/librarian