Labsco
MCP SERVER

Memory MCP Server

by pomazanbohdan

Long-term memory and code search for an agent, running entirely on your own machine — the vector index, knowledge graph and code index all sit inside one binary.

Agent MemoryVerified
Summary
It keeps an agent's notes and your codebase in one local store, and the retrieval side is the reason to reach for it.

recall is the single entry point worth learning: it blends semantic, keyword and graph results in one call instead of making you choose. Memories are versioned rather than overwritten — invalidate soft-deletes and points at the replacement, and get_valid replays what was true at any timestamp you name.

What it is

A memory server written in Rust that ships as a single self-contained executable: SurrealDB, the embedding model and the graph all run inside the process, so there is no separate vector store or graph database to stand up.

What you get
  • Store, update, list and delete memories, and pull any one of them back in full by ID
  • recall as the default way in — it fuses vector, BM25 and graph hits through reciprocal rank fusion so you do not have to pick a search mode
  • search_memory when you do want to pick: vector for semantic similarity, bm25 for exact keyword matching
  • Point-in-time reads — get_valid takes an ISO 8601 timestamp and returns the memories that were valid then
  • invalidate soft-deletes a memory with a reason and can link the memory that supersedes it
  • Code indexing: index a directory once, then search it by meaning, by symbol name, or by walking the call graph from a symbol
  • A knowledge graph you can write to — create entities and typed relations, fetch what is related at a given depth and direction, and detect communities
Requirements

No account and no API key — the embedding model is baked into the binary and runs on CPU. The Docker path wants three things on the run command: a named volume at -v mcp-data:/data so the database and the ~1.2 GB model survive restarts, your code at -v $(pwd):/project:ro for indexing, and --init for a clean shutdown. Also published to npm as memory-mcp-1file.

Setup effort

One command — claude mcp add memory -- npx -y memory-mcp-1file