Local memory store for coding agents.
Munin is a local, language-agnostic memory system that lets you store and retrieve project context using semantic search. Named after Odin's raven of memory, it provides a Postgres + pgvector backend with an OpenAI-compatible embedding server, exposed via a CLI and MCP server. Automatically scope memories by Git project and recall context across projects when needed.
cd muninmkdir -p models
curl -L -o models/nomic-embed-text-v1.5.Q4_K_M.gguf \
https://huggingface.co/nomic-ai/nomic-embed-text-v1.5-GGUF/resolve/main/nomic-embed-text-v1.5.Q4_K_M.ggufUsing Podman (recommended, rootless):
podman compose up -dOr Docker:
docker compose up -dWait for both services to report as healthy:
podman compose ps # or: docker compose psfor f in sql/*.sql; do cat "$f" | podman exec -i munin-postgres psql -U munin -d munin; doneIf using Docker, replace podman exec with docker exec.
pipx install -e .munin doctorStore a memory:
munin remember "First thought from the quickstart"Retrieve it:
munin recall "quickstart"To use munin with Claude Code, add this to your ~/.claude/.mcp.json:
{
"mcpServers": {
"munin": {
"command": "munin-mcp"
}
}
}| Command | Purpose |
|---|---|
munin remember <text> |
Store a memory with optional tags and scope |
munin recall <query> |
Semantic search over stored memories |
munin show [id] |
Display a specific memory or list all |
munin forget [id] |
Delete a memory |
munin projects |
List all projects in the memory store |
munin stats |
Show memory usage statistics |
munin import <file> |
Bulk import memories from JSONL |
munin doctor |
Self-diagnosis and health check |
munin completion |
Generate shell completions (bash, zsh, fish) |
cli/ ─┐
├─> core/ ─> postgres (pgvector)
mcp/ ─┘ └> llama.cpp embed
The core/ module is the single source of truth. The CLI and MCP server are thin wrappers around core functions. The database remains "dumb" — embeddings are computed client-side and passed as vectors. All memories are stored in a single thoughts table with metadata filters for project, scope, and tags.
- Design Decisions — rationale and architecture choices
- Release Plan — milestones M0–M5
- Epic Documentation — user stories and acceptance criteria
Munin is in active development. See the release plan for upcoming features and milestones.