# chainmemory-mcp

Cross-model, cryptographically verifiable memory for Claude, ChatGPT, and any AI agent — own your AI's memory and carry it across every model. MCP server, 36 tools: remember, semantic search, on-chain verification proofs, forensic audit, selective inject,

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the package rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 2.7.1
- **Author:** ChainMemory Team
- **License:** MIT
- **npm:** chainmemory-mcp
- **Source:** https://github.com/chaelynet/chainmemory-mcp
- **Compatible clients:** claude-code, cursor, copilot, gemini (basis: transport)

## Trust

60/100 (B), scored on the package rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: not run
- Obfuscation scan: not run
- Evidence age: 1 day

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-16T20:06:10.040Z
- **Version scanned:** 2.7.1
- **CVEs:** none found by OSV at scan time

## Tools

36 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `chainmemory_remember`
- `chainmemory_new_seed` — Generate a fresh 12-word BIP-39 phrase for the blind vault. Created locally, never sent anywhere and never stored by this server: write it down on paper. Losing
- `chainmemory_open_sealed` — Read a sealed memory: fetches the encrypted blob and decrypts it locally with CHAINMEMORY_SEED_PHRASE. Only works for memories sealed with that same phrase. Fre
- `chainmemory_recall` — Recall the user's most recent memories, newest first. Use at conversation start for continuity. IMPORTANT: this returns an 80-character PREVIEW of each memory, 
- `search_memories` — SEMANTIC search over the user's memories (cosine similarity over cached embeddings, blended with recency and importance). Returns the FULL text of each match — 
- `get_memory` — Read ONE memory in full, decrypted from chain, with an integrity check: the server recomputes the event_hash from the plaintext and compares it against the hash
- `get_memory_proof` — Get the shareable anchoring proof of one of your memories: event_hash plus its on-chain coordinates. A third party can verify that hash in the contract WITHOUT 
- `verify_project_state` — PUBLIC verification of a Project Brain: returns every anchored version with its state_hash and on-chain coordinates (anchor id, tx, block), plus the instruction
- `audit_memory` — Full forensic audit of ONE memory: recomputes its event_hash from the stored plaintext, compares it against the hash anchored on-chain, and reports its anchorin
- `audit_state` — Full audit of a Project Brain: recomputes the state_hash of the current version with the deterministic engine, compares it against the stored one, and returns t
- `quote_inject` — Price an inject BEFORE paying for it: which memory ids exist, which do not, total characters, estimated tokens, the exact AIC cost with its burn/treasury split,
- `list_memories_filtered` — List memories filtered by project tag and archived status, newest first. Returns metadata plus an 80-character PREVIEW of each memory — not the full text. Use g
- `update_memory_tags` — Replace the tags of an existing memory. Free. Tags are what keeps a memory findable by project, and the ONLY way to find a sealed one, since its content cannot 
- `archive_memory` — Archive a memory: it stops appearing in recall, listings and inject, but stays on-chain and keeps its proof. Free and reversible with unarchive_memory. This is 
- `unarchive_memory` — Restore an archived memory so it shows up again in recall, listings and inject. Free. Nothing was ever deleted: archiving only hides it.
- `chainmemory_stats` — Public network statistics: chain id, current block, registered AIs, total and episodic memories, AIC supply. Free and needs NO API key. Use it to check the netw
- `chainmemory_register` — Register an AI identity on-chain. Free, once per identity. Most users never need it: an identity is created automatically the first time an API key writes. Use 
- `chainmemory_profile` — Get this AI's identity and memory counters: name, model, owner wallet, reputation, active status, and four counts that mean different things — chain_memories (a
- `chainmemory_seal` — Seal a memory permanently with a direct contract call. FEE: 0.001 AIC, and it is the ONLY tool that needs a wallet private key in AICHAIN_KEY. Irreversible. Mos
- `list_projects` — List the user's projects with their numeric id, slug, keywords and colour. Free, read-only. Call it before create_project to avoid duplicates, and before delete
- `create_project` — Create a project to group memories. Free. The project name becomes the FIRST TAG of every memory written under it, which is how list_memories_filtered finds the
- `delete_project` — Delete a project. Free. Takes the NUMERIC id from list_projects — passing the slug returns 400 'invalid id'. Memories keep their tag and stay findable; only the
- `list_project_templates` — List the built-in project templates with their ids. Free. Call it before add_project_from_template: that tool needs one of these ids and they are not guessable.
- `add_project_from_template` — Create a project from a built-in template, with its auto-tagging keywords already set. Free. Call list_project_templates first: the template id is required and 
- `get_my_context`
- `get_project_state`
- `update_project_state`
- `list_role_contracts`
- `get_role_contract`
- `list_role_sessions`
- `get_role_session`
- `assume_role`
- `release_role`
- `get_inject_balance`
- `inject_memories`
- `get_inject_history`

## Install

**Verdict: review** — Installable, but 1 thing to check first: No publisher has proved control of this listing; it is indexed, not vouched for.
**Cautions** (coverage gaps and advisories — never blocking)
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"chainmemory\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"chainmemory-mcp\"\n      ],\n      \"env\": {\n        \"CHAINMEMORY_API_KEY\": \"<YOUR_CHAINMEMORY_API_KEY>\",\n        \"CHAINMEMORY_SEED_PHRASE\": \"<YOUR_CHAINMEMORY_SEED_PHRASE>\",\n        \"AICHAIN_KEY\": \"<YOUR_AICHAIN_KEY>\"\n      }\n    }\n  }\n}"
```
**Credentials it will ask for** (names only — Forge never holds a value):
- `CHAINMEMORY_API_KEY` — Chainmemory API Key (required)
- `CHAINMEMORY_SEED_PHRASE` — Chainmemory Seed Phrase (optional)
- `AICHAIN_KEY` — Aichain Key (optional)
Placeholders only. Forge never holds, brokers, or transmits a credential value — replace each <YOUR_NAME> in your own config file. Do not send a value back to Forge; no Forge endpoint accepts one.
- This entry needs 3 credentials (1 required). The generated config carries placeholders, so it will fail in the editor rather than at runtime if they are left unset.

## Blast radius

Extensive blast radius — deletes data; holds an api key.
- Floor 55, ceiling 55 (tier: extensive)
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/chainmemory-mcp
- Install plan: https://forgeregistry.com/api/v1/packages/chainmemory-mcp/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/chainmemory-mcp
- HTML page: https://forgeregistry.com/registry/chainmemory-mcp
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
