
Give your AI a memory that never leaves your machine.
Offline-first semantic memory engine — single binary, zero config, 30ms recall.
🇬🇧 English · 🇮🇩 Bahasa Indonesia
# Install (macOS, Linux, Windows)
curl -sSL codecora.dev/install | sh
# Store a memory with metadata
uteke remember "Deploy v2.1 to staging" --tags deploy,staging \
--entity staging-server --category infrastructure
# Hybrid search (vector + FTS5, ranked by RRF)
uteke recall "when do we deploy?"
# Stats
uteke stats
That's it. No API keys. No Docker. No Python. First run downloads the embedding model (~188MB) and you're good to go.
Listens on localhost only by default. See Docker docs for auth setup.
# One-liner (model downloads on first run, cached in volume)
docker run -d --name uteke -p 127.0.0.1:8767:8767 -v uteke-data:/data \
ghcr.io/codecoradev/uteke:latest
# Or from Docker Hub
docker run -d --name uteke -p 127.0.0.1:8767:8767 -v uteke-data:/data \
codecoradev/uteke:latest
# Or docker compose
docker compose up -d
AI agents forget everything between sessions. Uteke gives them persistent, searchable memory — entirely offline, in one binary.
| Uteke | Mem0 | Letta | Zep | |
|---|---|---|---|---|
| Setup | Single binary | pip + Docker + Qdrant | pip + Docker + Postgres | pip + Docker + Neo4j |
| API keys needed | ❌ None | ✅ OpenAI/LLM key | ✅ LLM key | ✅ LLM key |
| Offline | ✅ Fully | ❌ Cloud embedding | ❌ Needs LLM server | ❌ Needs LLM + vector DB |
| Semantic search | ✅ Local ONNX + FTS5 hybrid | ✅ Cloud embedding | ⚠️ Keyword + archival | ✅ GraphRAG |
| Full-text search | ✅ FTS5 built-in | ❌ | ⚠️ Keyword only | ❌ |
| Recall speed | ~30ms (library) | Network round-trip | Network round-trip | Network round-trip |
| Privacy | ✅ Data never leaves machine | ⚠️ Data sent to LLM | ⚠️ Data sent to LLM | ⚠️ Data sent to LLM |
| License | Apache 2.0 | Apache 2.0 | Apache 2.0 | Apache 2.0 |

uteke bench for perf testing + LongMemEval retrieval harness--batch-dir) with auto-strategy routing (document vs. memory extraction)📝 Document Engine — Wiki/knowledge base with uteke doc create/get/list and auto-chunking
🤖 Cosine Auto-Linking — Automatically creates similar_to edges between related memories
GET /graph returns nodes + edges JSON; POST /graph/edge and DELETE /graph/edge for mutation🔌 MCP Server — configure with Claude Code, Cursor, Hermes
// .mcp.json (Claude Code, Cursor)
{ "mcpServers": { "uteke": { "command": "uteke-mcp" } } }
See MCP docs for Claude Desktop, Hermes, and HTTP transport.
📖 Full documentation · CLI reference · Configuration

Hybrid search pipeline:
Everything runs in-process. No network. No cloud. No server required (unless you want server mode).
cargo build --workspace # Build
cargo test --workspace # Test (327 unit tests)
cargo clippy -- -D warnings # Lint
cargo fmt # Format
See CONTRIBUTING.md for the full contribution guide.
Apache License 2.0 — use it, fork it, ship it.
$ claude mcp add uteke \
-- python -m otcore.mcp_server <graph>