mnestic-mcp
A local memory MCP server backed by mnestic — an embedded graph + vector + full-text database (a maintained fork of CozoDB). One process, one file, fully local: your agent's memory never leaves the machine.
mnestic is a maintained fork of CozoDB; it is not the official CozoDB. Original design credit belongs to Ziyang Hu and the Cozo Project Authors.
Install
Add to any MCP client (Claude Desktop, Claude Code, Cursor, ...):
{ "command": "uvx", "args": ["mnestic-mcp"] }
That's it. The database lives in your platform data dir (override with
--db PATH or MNESTIC_MCP_DB); embeddings run locally via
fastembed (default
BAAI/bge-small-en-v1.5, a one-time ~67 MB download that happens in the
background — keyword search works immediately, before the model arrives).
Pre-provision with uvx mnestic-mcp --download-model.
Tools
store, store_batch, search, find_related, list_recent, update,
delete, link, recall_as_of, stats — plus the two things no other local
memory server has:
search(explain=true)— per-leg attribution: exactly how much the keyword (BM25), vector (HNSW), and graph-proximity legs each contributed to every result, straight from the engine's fused three-way retrieval. Ask your agent "why did you recall that?" and get a real answer.recall_as_of(t)— time travel. Updates and deletes are never destructive (valid-time history in the engine's bitemporal storage): "what did you know about this before last Tuesday?" just works.
search is keyword-first with an automatic hybrid fallback; link builds a
typed, weighted memory graph that both find_related (budget-bounded
traversal) and the hybrid graph leg exploit.
Byte-budgeted output (0.2.0): every wide-result tool (search,
find_related, list_recent, recall_as_of) takes max_bytes (default
20 000). An over-budget result is cut at item boundaries — item content is
never trimmed — and returns truncated: true, a remaining count, and a
single-use continuation token; continue_result(token) serves the next
slice under the same budget. A wide result can no longer blow your agent's
context with no way back. (Tokens don't survive a server restart; the error
says so and tells you to re-run the query.)
Configuration
| Flag / env | Default | Meaning |
|---|---|---|
--db / MNESTIC_MCP_DB |
per-OS data dir | database file |
--engine / MNESTIC_MCP_ENGINE |
sqlite |
sqlite | rocksdb (single-instance) | mem |
--model / MNESTIC_MCP_MODEL |
BAAI/bge-small-en-v1.5 |
any fastembed model |
MNESTIC_MCP_CACHE |
data dir /models |
model cache location |
A database pins the embedding model it was built with — mixing embedding spaces is refused with an actionable error, never a silent quality collapse.
Notes
- Requires Python ≥ 3.10. Storage engines ship in the
mnesticwheel (sqlite/memalso in the sdist;rocksdbwheel-only). - Several MCP clients may share one sqlite database; writes serialize on the
file.
rocksdbis strictly single-instance. - Deleting memories under heavy churn can slowly degrade vector recall (a known engine-side HNSW defect, tracked upstream); updates are safe.
License
Mozilla Public License 2.0.
Metadata
Release files for mnestic-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mnestic_mcp-0.2.0.tar.gz | 20.8 kB | With provenance | Details for mnestic_mcp-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mnestic_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for mnestic_mcp-0.2.0-py3-none-any.whl |
Total release size: 39.3 kB
Release files / mnestic_mcp-0.2.0.tar.gz
| Download URL | mnestic_mcp-0.2.0.tar.gz |
|---|---|
| Size | 20.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
435e31ee42ff4541bfb8372abc6c35c93856a9b0a03139e7e8f3ded7001e7eac
|
|
BLAKE2b-256 checksum How to use checksums |
e8acffe62761d37177fd05e16bacab00a46641c0f287f83e6f5d8da1cabc8533
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.
Transparency logRelease files / mnestic_mcp-0.2.0-py3-none-any.whl
| Download URL | mnestic_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 18.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8bf1a7b7bb4ebf04c54734c2cb5c576e42ddc37af5233367c4162f00b9a45a1f
|
|
BLAKE2b-256 checksum How to use checksums |
b7caadff51b7db9b797a432d8fc7c17bcfefe8bd4207b2ec448919a526265d34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.
Transparency logSecurity for mnestic-mcp 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for mnestic_mcp-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.