What it does
Agent Memory MCP watches your workspace, stores failures, decisions, and attempts in SQLite, and exposes search and context tools to any MCP-compatible client (Cursor, Claude Desktop, Zed, etc.). Optional LLM extraction adds facts and preferences without shipping code to the cloud by default.
Architecture
Watcher / MCP / HTTP → Storage → MemoryEngine (SQLite)
↓
Optional LLM extractor → facts
MCP tools
| Tool | Purpose |
|---|---|
remember | Store memory for a project path |
search_memory | Keyword + semantic search (FTS5 + local vectors) |
get_repo_context | Bundle failures, decisions, attempts for a repo |
mark_failure_resolved | Clear a recurring failure signature |
forget | Soft-delete by id or signature |
Prompt: inject_memory_context — preload repo memory into a session by path.
Run locally
cd agent_memory_mcp pip install -e ".[dev]" # Optional LLM extraction: pip install -e ".[llm]" # Daemon (API :9000, watcher on by default) agent-memory serve --root ~/agent_companion_data # MCP client config (example) # command: agent-memory args: ["mcp", "--root", "~/agent_companion_data"]
Configure via mcp.json in your editor; see the project README for
AGENT_MEMORY_LLM_PROVIDER and NVIDIA/Hermes auth notes. Data lives under
~/agent_companion_data/memory.db — not on this static site.
Operator UI
A small dashboard (memory browser, logs, configuration) ships with the repo and talks to the same backend on port 9000.
Build with npm run build in ui/, then agent-memory serve --ui.
How it works — components
Filesystem watcher
Passively observes the workspace for log errors and code churn — the theory is that the most useful memory is captured automatically, not when an agent remembers to write it.
SQLite + FTS5 + vectors
A single embedded DB holds structured rows; full-text (FTS5) plus local vectors give hybrid keyword+semantic recall without a cloud vector store.
MCP tool surface
remember, search_memory, get_repo_context expose memory to any MCP client — the protocol boundary keeps the store editor-agnostic.
Optional LLM extractor
When enabled, an LLM distills raw events into facts/preferences; default-off keeps the system local and cheap, extraction is an opt-in enrichment layer.
Elsewhere
Source: local project agent_memory_mcp under localcode/.
Profile: github.com/xdutsuay for related experiments.