LabscoMCP early access ↗
cunicopia-devMCP SERVER

Local Context Memory MCP

Persistent memory for any MCP client, stored on your own hardware — SQLite plus FAISS for one person, PostgreSQL plus pgvector for domains and teams.

by cunicopia-dev ↗Agent MemoryCommunity

LABSCO SUMMARY

Domain separation is the reason to pick the heavier build.

Both builds remember; only the PostgreSQL one keeps work, health and personal memory in separate contexts an agent can switch between, which is the difference between a memory store and a memory pile. Start on the SQLite image — one command, one directory — and move when you need isolation or concurrent access. Ollama is worth installing either way; without it, search is keyword-only.

What it is

A memory server you host yourself, in two interchangeable builds. The SQLite + FAISS build is a single directory with no database server. The PostgreSQL + pgvector build adds domain segmentation — separate memory contexts for work, health, personal — and concurrent access. Both expose the same core tools; both run as self-contained Docker images.

What you get

  • Facts written into memory with an optional source and importance, indexed for semantic search as they land — store_memory
  • Stored memories changed without losing their place in the index — update_memory
  • Relevant memories retrieved by meaning or by keyword, with a limit you set — search_memories
  • On the PostgreSQL build, separate contexts you can switch between and enumerate — list_memory_domains, with domain accepted by the store and search calls
  • Memory reachable as a resource without a tool call: memory://query on SQLite, memory://domain/query on PostgreSQL
  • A prompt that turns a set of retrieved memories into a structured summary — summarize_memories
  • Graceful degradation: with Ollama present, search is vector-based; without it, the system falls back to text search rather than failing

Requirements

Docker, or Python 3.12+ for a local install. The quickest path is one command with a volume for your data — docker run --rm -i -v ./memory-data:/app/data cunicopia/local-memory-mcp:sqlite, or the :postgres tag, which brings its own database. Ollama with nomic-embed-text is optional but recommended; without it you get keyword search instead of semantic. Configuration is by environment: OLLAMA_API_URL (default http://localhost:11434), OLLAMA_EMBEDDING_MODEL, and MCP_DATA_DIR on SQLite. The PostgreSQL image runs its own database and already sets its password, so the Docker entry needs nothing extra. A manual PostgreSQL install needs POSTGRES_PASSWORD and takes DEFAULT_MEMORY_DOMAIN; in that case, change the example user and password in sql/create_user.sql — the repository says so in bold, twice.

Setup effort

One command — docker run --rm -i -v ./memory-data:/app/data cunicopia/local-memory-mcp:sqlite