memory
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@memorywho is Bob and what project is he working on?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
owner-memory
One memory about you for every AI agent. Tell Claude once where your documents live, who Bob is and what your projects are about — every agent you use knows it from then on: Claude Code in any project, Claude Desktop, a voice assistant, your own scripts.
«reply to Bob in Telegram, he writes about the TON purchase» → the agent already knows which project "TON purchase" belongs to, where its code and server are, and who Bob is.
What it is
┌────────────────────────────────────────┐
│ Postgres + pgvector │ your data, on your machine
└───────────────────┬────────────────────┘
┌───────────────────┴────────────────────┐
│ owner-memory service 127.0.0.1:8750 │ HTTP API, Bearer token
└──────┬─────────────────┬───────────────┘
┌──────────┴──────┐ ┌───────┴────────────────┐
│ MCP server │ │ Claude Code plugin │
│ `memory` │ │ (hooks) │
└──────┬──────────┘ └───────┬────────────────┘
Claude Code, Claude Desktop, cards of what a message is about
any MCP-capable agent arrive in context by themselvesEntities — you (
me),project,person,place(folders, cities),channel(Telegram, e-mail),thing(devices, a car),topic— with aliases (words people use about them) and relations ("Bob works_on Shop").Facts — about an entity or about you in general, with history: a new fact can supersede an old one ("moved to Berlin") instead of erasing it.
Lookup — a free phrase resolves to the entities it names (aliases match with your language's morphology or word for word) plus the facts that fit it.
Search by meaning — a small local multilingual model (~220 MB, CPU, nothing leaves your machine) embeds every message, fact and entity; results by words and by meaning are fused, so «когда созвон?» finds the message about the webinar.
Related MCP server: Mnemo
Install — one command
Needs Docker (or your own Postgres, see below) and, for the agent side, Claude Code.
curl -fsSL https://raw.githubusercontent.com/AlexB00M/owner-memory/main/install.sh | bash -s -- --lang englishIt starts Postgres + the service in Docker (listening on 127.0.0.1 only), creates your token in
~/.config/owner-memory/token, installs the owner-memory tools with uv,
registers the MCP server memory in Claude Code and Claude Desktop, and installs the Claude Code
plugin. Then fill it:
owner-memory status
owner-memory bootstrap # scans ~/Projects and your folders into a DRAFT
$EDITOR ~/.config/owner-memory/draft.json
owner-memory bootstrap --apply…or just talk: "my documents are in ~/Documents/Personal", "Bob is my partner on Shop" — the plugin nudges Claude to save lasting things.
Options
option | meaning |
| Postgres text search config for morphology ( |
| no Docker: your own Postgres with the |
| service port (clients then need |
| extra package for the MCP server (see Voice commands) |
| no local model: search by words only |
| do not archive Claude Code sessions every 30 minutes |
| skip that part |
Remove: ./uninstall.sh (data kept) or ./uninstall.sh --purge (Docker data deleted).
Use
In Claude Code nothing to do: the plugin shows your card at session start and the cards of whatever a message names. Claude saves new facts with the MCP tools:
tool | |
| phrase → cards (path, server, relations, facts) + facts |
| one card / a list |
| create or extend an entity (summary, attrs, aliases); matches kind + exact name only |
| "src relation dst" |
| a fact, optionally |
| facts of an entity / kind / with history |
| search past conversations of every agent; the messages around a hit |
| only on explicit request; |
Conversations
Every Claude Code session goes into the memory when it ends (and before its context is
compacted): your messages and the assistant's answers become searchable, and a cheap model
(claude -p --model haiku, your own subscription) writes a 5–10 line summary — what was
discussed, decided, proposed, left open — tagged with the projects it was about. Opened in a
project folder, a session starts with that project's card and its latest summaries; opened
anywhere else it is the assistant over everything: an overview of all your projects.
Decisions and ideas are saved as you go (kind=decision / idea).
The installer also archives every session each 30 minutes (owner-memory ingest-claude --all --summarize --idle 3600: summaries only for sessions untouched for an hour), which catches
sessions the plugin never saw — SDK apps, older sessions, other tools.
Which sessions to take — ~/.config/owner-memory/ingest.json:
{"skip": ["~/.assistant/router"], "sources": {"~/.assistant": "assistant"}, "no_summary": []}.
The summarizer command: OWNER_MEMORY_SUMMARIZER (it must read the prompt on stdin).
Vectors live in the same database (embedding columns, message_chunks for the pieces of long
messages): pg_dump moves them with everything else; the database remembers which model made
them, so a server with the same model recomputes nothing. POST /v1/embed gives other local
tools the same model's vectors (e.g. matching voice commands by meaning).
Anything else talks HTTP: Authorization: Bearer $(cat ~/.config/owner-memory/token).
curl -s -H "Authorization: Bearer $(cat ~/.config/owner-memory/token)" \
-d '{"query": "reply to Bob about the TON purchase"}' -H 'Content-Type: application/json' \
http://127.0.0.1:8750/v1/lookupThe contract (pydantic models, /v1/*) is owner_memory.contract; pip install owner-memory
without extras installs only it, for clients.
Languages and names
Morphology comes from Postgres (--lang). Stemmers mangle names, so aliases also match word
for word — in inflected languages store the case forms of names: Вася, Васи, Васе, Васю.
Voice commands (optional)
If jarvis-mcp (the SDK of the Jarvis voice assistant) is installed next to the MCP server (--with /path/to/jarvis-mcp), the server also publishes fast voice
commands for the Jarvis voice assistant («что ты знаешь про …», «запомни, что …»). Without it
nothing depends on Jarvis.
Privacy
Everything runs on your machine: the service binds to 127.0.0.1, the token file is 0600, and
no data leaves unless you move the service yourself. Do not store passwords, tokens or card
numbers — store where things are, not the secrets themselves.
Configuration
variable | default | |
|
| clients: where the service is |
|
| clients and the service |
| — | the service: token value instead of the file (Docker, servers) |
|
| the service |
|
| the service: text search config of a NEW database |
|
| the service |
|
| the service: |
|
| any 384-dim fastembed model; a new model re-embeds everything |
|
| where the model is downloaded |
Development
uv sync --all-extras
uv run pytest # service tests need Postgres+pgvector: OWNER_MEMORY_TEST_DSN
uv run ruff check . && uv run mypy src testsMIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
- KogniteOAuthdev.kognite
Hosted agent memory: store, search, and recall facts across sessions from any MCP client.
Personal knowledge graph as an AI memory layer over MCP - read, save, and link your memories.
shared AI-context layer for teams — persistent memory your agents search and update over MCP
Shared MCP memory for AI agents: knowledge base, skills, todos and agent-to-agent handoffs.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAuto-extracts entities and relationships from natural conversations to build a personal knowledge graph. Provides MCP tools for storing and querying people, organizations, topics, and interactions.35 npm2MIT
- AlicenseAqualityCmaintenanceEnables AI agents to share a portable, user-level memory layer through MCP, allowing them to store, search, update, link, and consolidate facts with optional full-text and vector retrieval.79 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query your complete local conversation history and knowledge graph over MCP, including full-fidelity transcripts, search, and typed, dated entity relationships.AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to store, search, and link typed knowledge entities such as memories, people, projects, tasks, and documents over a Streamable HTTP MCP endpoint. Combines hybrid BM25 and vector search with a knowledge graph, and separates short-lived session context from durable memory that future agents can trust.10AGPL 3.0