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
MCP server

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.
All reasons and checks

cyberlife-coder/velesdb

Install

Manual install

cargo install velesdb-memory

The 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 review

Extended 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.

Agent memory as a graph of linked facts: decisions and errors outlive the session, with no vector database or paid API calls

MCP serverExtended access244Repository stars

A self-hosted MCP memory server that keeps preferences and decisions across conversations in Claude Code, Cursor and other clients

MCP serverExtended access283Repository stars

A long-term memory MCP server for AI agents: facts fade along a forgetting curve and related records are compressed into a summary

MCP serverExtended access272Repository stars

A local-first MCP memory server for agents: session history, codebase index and a concept graph in one SQLite database

MCP serverExtended access438Repository stars

Local memory for agents with a review queue: SQLite, an audit log and a token ledger, one vault for Claude Code, Codex and Cursor

PluginExtended access180Repository stars
Official

Memory for agents over MCP: five tools, one local SQLite file and layers modeled on human memory, no account

MCP serverExtended access29Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
VelesDB Memory (this card)nonot required103
MCP Memory Servicenonot required2,117stores agent memory with text search; VelesDB Memory links facts and shows the chain through `why()`
Mem0no68,887cloud 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.

README badge

Report a problem