VelesDB Memory MCP
VelesDB Memory is local agent memory over MCP: vectors, graph and tables, with why() showing the evidence chain behind answers.
- 103 ★ on the repository
- Last commit
Extended access
Why this level
- The agent writes facts to long-term memory where secrets stay forever.
- The HTTP daemon exposes memory to several clients on the machine.
Install
- Works in
Manual install
cargo install velesdb-memoryThe command from the README memory block, then `claude mcp add velesdb-memory -- ~/.cargo/bin/velesdb-memory`. Rust is required; otherwise use the npm package or `.mcpb`.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The agent writes facts to long-term memory where secrets stay forever.
- The HTTP daemon exposes memory to several clients on the machine.
This is third-party code. Review the repository files before installing.
What it does
`velesdb-memory` is an MCP memory server on top of the local VelesDB, a single binary of about 14 MB that fuses vector, graph and columnar storage under the VelesQL language. The agent stores facts with `remember`, links them with typed links such as `because` and searches with `recall`. `why()` follows links to context that shares no words with the query and shows the evidence chain. The memory write path has no model and no API key, and everything stays on the machine. A deterministic context compiler compresses only what the agent hands it: the README claims about 82 percent input token savings on a benchmark session. Claude Code gets six hooks that save and restore working context.
Who it is for. Developers who want persistent memory for Claude Code and other agents with local storage and auditable answers.
Good fit when
- An agent remembers project decisions between sessions and explains why it made them.
- Claude Code, Codex CLI and Claude Desktop share one memory through a local daemon.
- You want to compress a long session context without calling a model.
- A fact must expire later: the record gets `ttl_seconds`.
Not a fit when
- You need a fully open license: VelesDB Core is source-available and Premium is sold separately.
- You need a distributed database with replication: Core is single-node.
- You want semantic recall with no setup: the default embedder is simple and real semantic recall needs `embedder="ollama"`.
Example request
Remember this architecture decision and link it to its reason, then after a restart answer through `why()` why it was made.MCP
- Transport
- stdio, http
- Authentication
- not required
Limitations
The VelesDB Core License 1.0 opens the source but is not an OSI open source license, and Premium is sold under a commercial license. Core is single-node, without replication or advanced access control. `cargo install velesdb-memory` needs Rust, and without it there are `npm i @wiscale/velesdb-memory-node` and an `.mcpb` bundle from the MCP registry. Memory is permanent until you call `forget(id)` or set a lifetime, so do not store secrets. Semantic recall needs a local Ollama.
How to disable. Remove the `velesdb-memory` entry from the MCP client (`claude mcp remove velesdb-memory`), stop the daemon if installed and delete the memory data folder.
FAQ
How do I connect it to Claude Code?
Run `cargo install velesdb-memory`, then `claude mcp add velesdb-memory -- ~/.cargo/bin/velesdb-memory`. Any MCP client works.
What does `why()` do?
It starts from the best match and follows typed links, so it reaches reasons that similarity search misses. The agent creates links when writing to memory.
Does it work without a cloud?
Yes. The memory path has no model and no API key, and data stays on the machine. Semantic recall is enabled with a local Ollama through `embedder="ollama"`.
Can memory be shared between clients?
Yes. `scripts/install-memory-daemon.sh` runs `velesdb-memory` as a local HTTP daemon that Claude Code, Codex CLI, Claude Desktop, Windsurf and Devin CLI connect to.
How does `why()` differ from plain search?
`recall()` finds similar text, while `why()` follows typed links such as `because` to context that shares no words with the query. The agent creates links when it writes to memory.
Discussion
No questions or reviews yet.
Related
MCP serversAgent memory as a graph of linked facts: decisions and errors outlive the session, with no vector database or paid API calls
A self-hosted MCP memory server that keeps preferences and decisions across conversations in Claude Code, Cursor and other clients
A long-term memory MCP server for AI agents: facts fade along a forgetting curve and related records are compressed into a summary
A local-first MCP memory server for agents: session history, codebase index and a concept graph in one SQLite database
Local memory for agents with a review queue: SQLite, an audit log and a token ledger, one vault for Claude Code, Codex and Cursor
Memory for agents over MCP: five tools, one local SQLite file and layers modeled on human memory, no account
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| VelesDB Memory (this card) | no | not required | 103 | |
| MCP Memory Service | no | not required | 2,117 | stores agent memory with text search; VelesDB Memory links facts and shows the chain through `why()` |
| Mem0 | no | 68,887 | cloud and open memory with fact extraction; here a local binary with no model on write |
README in short
The VelesDB database repository with the memory MCP server in `crates/velesdb-memory`. It has Python, Node, WASM and Rust packages, a `velesdb-skills.tar.gz` skill set and Claude Code hooks.