Auditable memory (memory3l)
PYPI · MEMORY3L-MCP · SCANNED SEP 20
Audited memory over MCP: an append-only fact ledger plus verifiable invariants I1-I5.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 2 of 34 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability0
- Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.Unverified
Stability & Change Management0
- Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.Unverified
Tool Coverage0
- Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.Unverified
Tool Safety0
- Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.Unverified
Capabilities0
- Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet.Unverified
Unverified: 5 categories
Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you. How we score packages →
How do I install the Auditable memory (memory3l) MCP server?
Auditable memory (memory3l) runs locally as a PyPI package, launched with uvx memory3l-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · memory3l-mcp
claude mcp add jayzht-memory3l-mcp -- uvx memory3l-mcp
{
"mcpServers": {
"jayzht-memory3l-mcp": {
"command": "uvx",
"args": [
"memory3l-mcp"
]
}
}
} {
"servers": {
"jayzht-memory3l-mcp": {
"command": "uvx",
"args": [
"memory3l-mcp"
]
}
}
} codex mcp add jayzht-memory3l-mcp -- uvx memory3l-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"jayzht-memory3l-mcp": {
"type": "local",
"command": [
"uvx",
"memory3l-mcp"
],
"enabled": true
}
}
} openclaw mcp add jayzht-memory3l-mcp --command uvx --arg memory3l-mcp
mcp_servers:
jayzht-memory3l-mcp:
command: "uvx"
args: ["memory3l-mcp"] {
"McpServers": {
"jayzht-memory3l-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"memory3l-mcp"
]
}
}
} assistant mcp add jayzht-memory3l-mcp -t stdio -c uvx -a memory3l-mcp
{
"mcpServers": {
"jayzht-memory3l-mcp": {
"command": "uvx",
"args": [
"memory3l-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 34
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/memory3l-mcp@0.2.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 34 packages
| Packages resolved | 34 |
|---|---|
| No linked repository | 2 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
audit Audit one episode against I1-I5 ~154
Run the invariant checks over one episode and return the violations. This is the tool to call to answer 'did this memory lose anything?'. I1 = a fact in the ledger no longer reaches any summary (silent loss); I2 = a slot's newest value is not visible at the top level, so the model is never told it; I3 = a fact's evidence no longer resolves to stored dialogue; I4 = extraction completeness against the raw turns; I5 = an erasure is verifiable and its evidence is gone. `ok: true` with no violations means none of the checked failure modes is present -- report that as the result, not as a guarantee about meanings.
| Name | Type | Req | Description |
|---|---|---|---|
| episode_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
audit_summary Audit every episode ~50
Aggregate the invariant checks over every episode that has a ledger, including the `silent_loss_rate`. Use this for an overall health answer; use `audit` when you already know the episode and want the detail.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
current Current value of every known slot ~75
Return the derived current-value registry for an episode: the newest value of each attribute, with the summary it came from. This is what the model should be told at the top level. If a value the conversation established is missing here, that is an I2 failure -- confirm it with `audit`.
| Name | Type | Req | Description |
|---|---|---|---|
| episode_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
evidence Original dialogue behind a fact ~84
Return the raw user/agent turns a fact was extracted from, resolved through its evidence pointers. Use this to justify a stored value with the actual conversation rather than the summary's paraphrase. `resolved: false` means at least one evidence pointer no longer resolves -- an I3 provenance failure; that matters and should be reported, not hidden.
| Name | Type | Req | Description |
|---|---|---|---|
| fact_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
fact Why a fact left the working set ~106
Given a `fact_id`, report the fact's full record and where it now lives: `live` (still in an active summary), `archived` (moved to the permanent archive, reachable by id) or `MISSING` (in the ledger but unreachable, which is an I1 silent loss). Also returns `reason` and `superseded_by`. Use this when asked why a piece of information is no longer in context.
| Name | Type | Req | Description |
|---|---|---|---|
| fact_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
history Every value a slot ever held ~117
Return one slot's value over time, oldest first, bounded by `upto_turn` when given. Use this for 'what was it before?' and for any question about change; `current` only answers 'what is it now?'. A slot is a lower-case attribute name such as `工位` or `office` -- call `current` first if you do not know the exact spelling, since this matches the slot literally.
| Name | Type | Req | Description |
|---|---|---|---|
| episode_id | string | yes | – |
| slot | string | yes | – |
| upto_turn | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_episodes List audited episodes ~40
List the episode ids that have an audit ledger. Every other tool needs one of these ids, so call this when you do not already know the episode.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
store_info Which ledger is being served ~55
Report the database this server reads, whether it exists, its size, and how many episodes carry an audit ledger. Call this first when a query returns nothing: an empty or wrong path is the usual cause, not an absent feature.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
temporal Versioned projection and its anomalies ~74
Return the episode's temporal (bitemporal-style) projection: row count, whether it is consistent with the ledger, any anomalies, and the DDL for recreating the table. Use this when memory state is projected into an external store and you need to know whether the two still agree.
| Name | Type | Req | Description |
|---|---|---|---|
| episode_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
tombstones What was erased, and what remains ~97
List the compliance tombstones for an episode: facts deliberately erased, with their evidence pointers, which of those are still readable, and how many residual prose mentions survive. This is the deletion-verification view (I5). A non-empty `residual_prose_mentions` or a readable evidence pointer means the content is not fully gone from the store -- report that plainly instead of calling the erasure complete.
| Name | Type | Req | Description |
|---|---|---|---|
| episode_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the Auditable memory (memory3l) MCP server?
Auditable memory (memory3l) is an MCP server listed in the public MCP registry as io.github.jayzht/memory3l-mcp. Audited memory over MCP: an append-only fact ledger plus verifiable invariants I1-I5. This page covers its PyPI package (memory3l-mcp).
Is the Auditable memory (memory3l) MCP server safe to use?
Auditable memory (memory3l) scores 34 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Auditable memory (memory3l) MCP server expose?
Auditable memory (memory3l) exposes 10 tools: store_info, list_episodes, audit, audit_summary, current, and 5 more. Their descriptions and schemas cost roughly 852 tokens of context every time the server is loaded.
Is the Auditable memory (memory3l) MCP server still maintained?
Auditable memory (memory3l) is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Auditable memory (memory3l) MCP server under?
Auditable memory (memory3l) declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.