citadeldb-mcp
mcp-name: dev.citadeldb/mcp
Model Context Protocol (MCP) server for the Citadel encrypted memory engine. Gives any MCP client (Claude Desktop, an IDE, an agent) persistent, encrypted memory.
Memory lives in a local citadeldb-mem region:
AES-256 encrypted at rest, per-atom sealed and HMAC-authenticated, recalled through a hybrid
vector + keyword + recency + importance fusion over a PRISM approximate nearest-neighbor index,
connected by a typed edge graph, and forgotten by destroying keys (cryptographic erasure).
Install
Run it with no install and explicitly select the keyword-only test embedder (no downloads):
uvx citadeldb-mcp --db memory.cdl --embedder mock
For the best recall (recommended - this is the benchmark config): pull the semantic embedder and the cross-encoder reranker once, then enable both:
uvx citadeldb-mcp pull e5-large
uvx citadeldb-mcp pull ms-marco-minilm
uvx citadeldb-mcp --db memory.cdl --embedder e5-large --reranker ms-marco-minilm
e5-large + ms-marco-minilm is the highest-recall setup and the exact config behind the
memory benchmark numbers. Models are never downloaded automatically.
Built-in pulls use release-pinned Hugging Face revisions. Each complete snapshot is verified
against compiled sizes and SHA-256 digests, then stored with a BLAKE3 manifest under
<models-dir>/<name>/<revision>/. A flat cache created by an earlier CitadelDB release is not
trusted; run pull again to create the pinned snapshot. --model-dir and --reranker-dir
remain explicit bring-your-own-artifact paths and bypass the managed-cache manifest. Citadel
treats those directories as user-trusted and does not attest their contents.
Or install the command with pip install citadeldb-mcp or cargo install citadeldb-mcp,
then wire it into Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"citadel": {
"command": "citadeldb-mcp",
"args": ["--db", "memory.cdl", "--embedder", "e5-large", "--reranker", "ms-marco-minilm"],
"env": { "CITADEL_KEY": "your-passphrase" }
}
}
}
Tools (over a synchronous, hand-rolled JSON-RPC 2.0 stdio transport):
mem_recall- hybrid retrieval (vector + keyword + recency + importance); filter by kind/payload, expand along the memory graph, override fusion weights, and optionally attach provenance (derived_from), per-hit integrity verdicts (attest), andresource_links to each hitmem_fetch- deterministic listing of a kind (no embedding)mem_edges- typed graph introspectionmem_profile- what the memory knows about a query: recall plus its graph neighborhoodmem_summarize- per-kind digest of a regionmem_verify- re-authenticate atoms off disk: per-atom integrity verdict (authentic / tampered / key_erased / missing / plaintext_unattested)mem_remember/mem_remember_batch- store atoms with payload, importance, TTL, immutabilitymem_update- replace a stored atom's payload in place (preserves id, edges, and embedding)mem_link- connect atoms with a typed edgemem_evolve- recompute an atom's neighbor links and scoremem_evict- selective forgetting by policy (cryptographic erasure on encrypted regions)mem_forget- forget atoms by id and return a verifiable erasure receipt (cryptographic erasure on encrypted regions; skips immutable atoms unless forced)
The citadeldb-mcp binary reads the passphrase from CITADEL_KEY and serves one region
(encrypted by default); only protocol messages go to stdout, diagnostics to stderr.
Every server invocation must select an embedder. Use --embedder mock only when keyword-only
recall is intentional. The (CPU) Candle embedder is compiled into the default build;
models are fetched only on explicit pull, never automatically. e5-large + the
ms-marco-minilm reranker (shown above) is the recommended, highest-recall setup.
Embedder pull names: e5-large (recommended), e5-large-v2, bge-small, bge-base,
bge-large, minilm. Reranker: ms-marco-minilm. Or point --model-dir at a
compatible local checkpoint for the selected catalog pipeline, and build with
--features cuda-embed to run on an NVIDIA GPU.
This crate is part of the Citadel workspace.
License
Apache-2.0
Release files for citadeldb-mcp 2.1.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 | |
|---|---|---|---|
| citadeldb_mcp-2.1.0.tar.gz | 1.6 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| citadeldb_mcp-2.1.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| citadeldb_mcp-2.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| citadeldb_mcp-2.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| citadeldb_mcp-2.1.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| citadeldb_mcp-2.1.0-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details |
Total release size: 41.2 MB
Release files / citadeldb_mcp-2.1.0.tar.gz
| Download URL | citadeldb_mcp-2.1.0.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
321a584bd308caf21c85a233147651df1f0072c5d0d0a92dbc6af80c3435add7
|
|
BLAKE2b-256 checksum How to use checksums |
d75d2568846553af4035c76b89372ae22ab59b64054795f8e29040bb172c0944
|
| 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 30, 2026.
Transparency logRelease files / citadeldb_mcp-2.1.0-py3-none-win_amd64.whl
| Download URL | citadeldb_mcp-2.1.0-py3-none-win_amd64.whl |
|---|---|
| Size | 8.5 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
50dac39c2ab4f1500973b85ff13cb843d92b90cfe28051e52972425a5c45bf94
|
|
BLAKE2b-256 checksum How to use checksums |
03998dbd0c0e5009b275d21e209a4765965cd134fbe0d13239c041605a9de19a
|
| 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 30, 2026.
Transparency logRelease files / citadeldb_mcp-2.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | citadeldb_mcp-2.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 8.2 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
7fbe09113e3784ae0daf3ad03bdd3b2da8279368c18603eea5035e100d8554d3
|
|
BLAKE2b-256 checksum How to use checksums |
2b1efda6d6ef9a9ea7a334dd6268a2f701199991a098f2f439778ad49361a139
|
| 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 30, 2026.
Transparency logRelease files / citadeldb_mcp-2.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | citadeldb_mcp-2.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 7.6 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
29fa43814472179b3feba7775e6a0ac1eac8deb626c91991a11e9b003177f5fd
|
|
BLAKE2b-256 checksum How to use checksums |
8d101c7240e12349a1afe8ffc85fe80195a81bdfa66b5c66d536f3b66c109339
|
| 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 30, 2026.
Transparency logRelease files / citadeldb_mcp-2.1.0-py3-none-macosx_11_0_arm64.whl
| Download URL | citadeldb_mcp-2.1.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.3 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
446c8ccbdd8a420dbe5809d1c6111b24f2a9c1a273088a1e96b72ed17d71b0a0
|
|
BLAKE2b-256 checksum How to use checksums |
f88c9cdb258a21a6a8d448e093d6b1c03f3efc39e34f7a69a3bd318240e838e8
|
| 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 30, 2026.
Transparency logRelease files / citadeldb_mcp-2.1.0-py3-none-macosx_10_12_x86_64.whl
| Download URL | citadeldb_mcp-2.1.0-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 8.0 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
876e5a788bc96f612dbb511e1232a40020b1a93f2120327d0cf73bc9c4cd28ad
|
|
BLAKE2b-256 checksum How to use checksums |
4f3ee5f75c1f81f90058be2e1a7da53c7706d3e9f9bd7393ba51f406ed466906
|
| 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 30, 2026.
Transparency log