Repo of the Day
richarvey/OmniMem: Self-hosted semantic memory for AI Agents. Persistent sessions, experience scoring, and a graveyard for dead ends, backed by knowledge acquired from the RSS you read and stored in a Valkey vector search then exposed as an MCP server.
Published: Sep 6, 2026
Open repository ↗Self-hosted semantic memory for AI Agents. Persistent sessions, experience scoring, and a graveyard for dead ends, backed by knowledge acquired from the RSS you read and stored in a Valkey vector s...
Summary
OmniMem is a self-hosted Model Context Protocol (MCP) server that gives AI coding agents persistent, searchable memory across sessions and projects. It stores five memory types (episodic decisions, project context, RSS-derived knowledge, preferences, and compiled skills) in Valkey with vector search, and exposes them through a Python FastMCP server on port 8765. The project is MIT licensed, written in Python, and ships as four Docker containers that run locally without sending data to external services.
What it is useful for
The core problem OmniMem solves is that coding agents like Claude Code, Cursor, or Codex CLI start each session with no memory of past work. OmniMem lets an agent recall previous decisions, log dead ends in a "Graveyard" so the same failed approach doesn't get suggested twice, and surface hard-won solutions via an experience scoring system. Memories move through a lifecycle (ACTIVE → DEPRIORITISED → ARCHIVED → DELETED) and are ranked by similarity × surface_score × recency × experience_weight, so older or less useful items naturally fade.
It is useful when an engineer:
- Switches between machines or projects and wants shared context for their agent
- Wants RSS articles summarized and embedded automatically as agent knowledge
- Wants a single
briefing()call to give an agent project context, stale memories, and skill suggestions - Needs a local alternative to SaaS memory layers, with on-disk Valkey storage and JSON backups via
dump_to_file()
The supported agents listed in the README include Claude Code, Claude Desktop, claude.ai, Cursor, GitHub Copilot, GitLab Duo, AWS Kiro, OpenCode, OpenAI Codex CLI, and Open Design.
How engineers can use it
The README documents two install paths. The fastest is a one-line installer that pulls pre-built Docker Hub images:
curl -fsSL https://code.squarecows.com/ric/omnimem/raw/branch/main/install.sh | bash
Building from source requires cloning the repository, copying .env.example to .env, setting VALKEY_PASSWORD and ANTHROPIC_API_KEY (the RSS worker uses Claude Haiku for summarization), then running docker compose up -d.
Connecting Claude Code means adding an entry to ~/.claude.json:
{
"mcpServers": {
"omnimem": {
"type": "sse",
"url": "http://localhost:8765/sse"
}
}
}
The web dashboard runs at http://localhost:8080 and exposes a Prometheus /metrics endpoint. The server delivers its usage guide to agents automatically via the MCP instructions field, so no separate configuration file is required.
A documented limitation: the README notes that issues and pull requests are handled on the Squarecows code host, not on the GitHub mirror, so contributors should file there. Embedding runs locally through ONNX Runtime with the all-MiniLM-L6-v2 model (no PyTorch), and the full MCP tool reference lives in docs/mcp-tools.md.