Uteke Gives Every AI Agent a Memory That Never Leaves
· Tutorials
A Rust MCP server that stores agent memories locally: ONNX embeddings, SQLite, ~45 ms recall, zero API keys. One brain for every AI agent. Buried Treasure No14.
Last updated: September 6, 2026 · 7-minute read
One memory, every agent, zero cloud — the entire Uteke pitch fits in six words, and the release published the same day as this article says the pitch is moving fast. Uteke is a Rust-based memory engine for AI tools: a CLI for your own recall, an MCP server for Claude Code, Cursor, Copilot and any MCP-compatible agent, and a storage design — local ONNX embeddings over SQLite with an HNSW index — that keeps every byte on your machine.
Buried Treasure №14, and the direct answer to the biggest gap the Claude Code memory setup left open: that solution binds memory to one tool. Every fact below comes from the repository, README and releases, verified September 6, 2026.
What the repo actually shows
The vitals: 238 stars, Apache-2.0, Rust 1.85+, created May 29, 2026, pushed to on the day of writing. The release cadence is the metronome kind — v0.14.2 in mid-August, then v0.15.0, v0.16.0, and v0.17.0 published September 6, the same date this was verified. Four open issues and 25 forks against a CI badge in the README header complete a young-but-disciplined maintenance picture.
The README's quick start is the honest kind — the one that survives contact with a fresh machine. Install with a single curl, store with uteke remember, recall with uteke recall, and the only heavy step is a one-time 188 MB embedding model download. No API keys anywhere in the flow is the design decision everything else follows from.
Why shared memory across agents matters now
By late 2026 the typical power user runs two or more AI tools daily — a coding agent in the terminal, an editor assistant, maybe a chat client — and each one re-learns your stack, conventions and preferences from scratch. The memory products solving this are mostly cloud services, which means your project context, architectural decisions and sometimes credentials-adjacent notes transit someone else's server to be useful.
Uteke's answer is structural: one local store, exposed two ways. The CLI makes recall a shell habit — uteke recall "when do we deploy?" searches by meaning, not keywords, and returns in roughly 45 milliseconds per the project's own badge. The MCP server exposes the same store to any MCP client, which is the integration surface the MCP ecosystem standardized into the default this year. One brain, many front-ends, no egress.
Under the hood, briefly
The stack is chosen for the constraint that defines the product. Embeddings run locally through ONNX Runtime — CPU-first, no GPU requirement, which is why the model download is a one-time cost rather than a per-query bill. Vectors live in SQLite with an HNSW index, the same approximate-nearest-neighbor family behind production vector databases, sized for the single-user scale where simplicity beats throughput.
For teams wanting shared memory, a Docker mode exposes the store as a server on port 8767 with a mounted volume, so a household or small office can run one instance rather than N. That is also the natural self-hosting seam — the same instinct behind the local-AI privacy cluster this site keeps returning to.
The honest caveats
Three, in series tradition. First, semantic search quality is only as good as its embedding model, and Uteke's local model trades some recall nuance against the frontier embedding APIs — the ~45 ms badge is speed, not a quality benchmark, and this site has not run comparative evals. Second, v0.17 means the MCP surface and CLI flags may still shift; pin versions in agent configs, because a breaking change in a memory layer propagates into every tool that depends on it. Third, scale honesty: HNSW-over-SQLite is sized for personal and small-team corpora. If you are indexing a monorepo's entire history, benchmark before committing — then read the context-engineering piece for why retrieval strategy matters more than raw storage anyway.
Who it is for, who should skip
Strong fit: multi-tool AI users who want Claude Code, Cursor and Copilot to share one factual baseline; privacy-sensitive developers whose project context should not leave the machine; and anyone on metered or unreliable connections where cloud memory adds latency and failure modes.
Skip it if a single tool's built-in memory already covers your workflow, or if team-wide memory with admin controls is the requirement — that is a product category of its own. The tinkerer caveat from every local-first review applies: you own the store, which also means you own its backups.
Verdict
Uteke is the cleanest local-first implementation of the idea that agent memory should be infrastructure, not a feature locked inside each vendor's app. Apache-2.0, Rust-fast, MCP-native, shipping a release the day this was written — at 238 stars it is the least-hyped entry in the agent-memory race and architecturally one of the most coherent. Wire it into one agent this week and let the recall habit compound.
Next Buried Treasure: fifteen package formats, one container, your own private npm-and-Docker universe.
---
Not affiliated with the Uteke project. Facts verified from the GitHub repository, README and releases on September 6, 2026. More open-source discoveries in the Buried Treasure series.