# io.github.Mars-proj/verifiable-memory (pypi · verifiable-memory-mcp)

Memory for AI agents that can't hallucinate — cited or abstains, provable forget, deterministic.

- Trust score: 13/100 (low)
- Change this week: −20
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- pypi · `verifiable-memory-mcp`: 13/100 (this document), [markdown](https://verifymcp.io/servers/mars-proj-verifiable-memory/verifiable-memory-mcp.md), [page](https://verifymcp.io/servers/mars-proj-verifiable-memory/verifiable-memory-mcp)

## Channel facts

- Registry: `pypi`
- Package: `verifiable-memory-mcp`
- Version: `0.1.2`
- Transport: `stdio`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 38/100
  - Malware scan not yet available for this package.
  - No known CVEs affecting this package version or its production dependencies.
  - Install-script risk not yet assessed.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 6/100
  - Repository check failed: no source repository is declared.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license (MIT License) isn't a recognized OSI-approved license.
  - Actively maintained (last published 48 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 0/100
  - Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: our sandbox run of this package did not complete, so we have no schema to compare.
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- **Capabilities**: 0/100
  - Protocol version not yet verified: our sandbox run of this package did not complete, so we never saw its MCP handshake.

**Unverified: 4 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.

## Install

### Claude

```bash
claude mcp add mars-proj-verifiable-memory -- uvx verifiable-memory-mcp
```

### Codex

```bash
codex mcp add mars-proj-verifiable-memory -- uvx verifiable-memory-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mars-proj-verifiable-memory": {
      "type": "local",
      "command": [
        "uvx",
        "verifiable-memory-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add mars-proj-verifiable-memory --command uvx --arg verifiable-memory-mcp
```

### Hermes

```yaml
mcp_servers:
  mars-proj-verifiable-memory:
    command: "uvx"
    args: ["verifiable-memory-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "mars-proj-verifiable-memory": {
      "command": "uvx",
      "args": [
        "verifiable-memory-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 13, 0)

- [security improvement] Malware scan: unverified → pass

### 2026-08-01 (score 13, −2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 15, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-28 (score 33, 0)

- [functional] Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- [functional] Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.

### 2026-07-26 (score 33)

First indexed and scored.

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (13)

### `learn_fact` (~104 tokens)

Store a fact (subject, relation, object) the agent must recall EXACTLY later, with its source. Call whenever the user states a fact, preference, decision, name, number, or rule worth remembering — it persists across sessions and is never silently distorted. Optional valid_from for valid-time.

Input parameters:

- `object` (string, required)
- `relation` (string, required)
- `source` (string)
- `subject` (string, required)
- `valid_from` (number)

### `recall` (~87 tokens)

Look up a stored fact and return the answer WITH its cited source — or an honest 'unknown'. ALWAYS call this before answering a factual or memory question instead of guessing: it returns nothing rather than hallucinating, and includes a signed, verifiable receipt. Optional as_of for valid-time.

Input parameters:

- `as_of` (number)
- `relation` (string, required)
- `subject` (string, required)

### `update_fact` (~71 tokens)

Update a fact's value without retraining: closes live versions (valid_to=t) and opens a new one. History is preserved.

Input parameters:

- `new_object` (string, required)
- `relation` (string, required)
- `source` (string)
- `subject` (string, required)
- `t` (number)

### `history` (~44 tokens)

Full life-line of a fact (all versions live+closed, with sources and valid-time). Audit/compliance.

Input parameters:

- `relation` (string, required)
- `subject` (string, required)

### `forget` (~84 tokens)

Permanently and PROVABLY delete a stored fact (GDPR / right-to-be-forgotten). Use when the user asks to forget or remove information — the fact is fully erased and you get a signed proof of deletion. object optional (omit to delete all values).

Input parameters:

- `object` (string)
- `relation` (string, required)
- `subject` (string, required)

### `contradictions` (~70 tokens)

Audit knowledge for conflicts: for functional relations (one value expected, e.g. 'capital','birthdate') return any (subject,relation) holding >1 live value, showing BOTH sources — call before trusting facts that may have been updated or come from multiple sources.

Input parameters:

- `functional_relations` (array, required)

### `knowledge_root` (~21 tokens)

Merkle root committing the entire current knowledge state (one hash).

### `prove_fact` (~40 tokens)

Merkle inclusion proof that a fact is in the knowledge state (without revealing other facts).

Input parameters:

- `relation` (string, required)
- `subject` (string, required)

### `verify_proof` (~43 tokens)

Verify a Merkle inclusion proof (leaf, proof, root).

Input parameters:

- `leaf` (string, required)
- `proof` (array, required)
- `root` (string, required)

### `verify_receipt` (~32 tokens)

Verify a signed receipt returned by recall/forget (tamper-evident).

Input parameters:

- `receipt` (object, required)

### `multihop` (~58 tokens)

Multi-hop chain: start entity + list of relations, follows subject->object each step (exact only, 0% hallucination).

Input parameters:

- `as_of` (number)
- `relations` (array, required)
- `start` (string, required)

### `all_paths` (~46 tokens)

All exact fact-paths between start and end entities (each path citable).

Input parameters:

- `end` (string, required)
- `max_depth` (number)
- `start` (string, required)

### `stats` (~13 tokens)

Counts + current knowledge root.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/mars-proj-verifiable-memory/verifiable-memory-mcp#diagnostics

## Score history

- 2026-08-03: 13
- 2026-08-02: 13
- 2026-08-01: 13
- 2026-07-31: 15
- 2026-07-29: 33
- 2026-07-28: 33
- 2026-07-27: 33
- 2026-07-26: 33

## Links

- PyPI project: https://pypi.org/project/verifiable-memory-mcp/
- Socket report: https://socket.dev/pypi/package/verifiable-memory-mcp
- Changelog RSS feed: https://verifymcp.io/servers/mars-proj-verifiable-memory/verifiable-memory-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/mars-proj-verifiable-memory/verifiable-memory-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/mars-proj-verifiable-memory/verifiable-memory-mcp
