@usecarry/mcp package is a Model Context Protocol server, so any MCP client gets gated, receipted, Walrus-verified memory that persists across sessions.
The proof travels with the answer, not the vendor — the same gated memory works in Cursor, Claude Desktop, and Claude Code.
The tools
The server (name: "carry") registers five tools:
Every
carry_recall runs the same gate as the web app: blocked namespaces are never returned, and the result carries the same receipt semantics.
Install
Published on npm — no local checkout needed.1
Register with your MCP client
Add it to your MCP config (Omit the
.cursor/mcp.json, Claude Desktop config, etc.):env block to run against a deterministic mock (no network).2
Use it
Ask your agent to remember and recall facts — every recall is gated, and access can be changed on the fly with
carry_set_access.npm — @usecarry/mcp
Published and installable.
Storage
The MCP server persists to a local store (default~/.carry/store.json, override with CARRY_STORE) and uses the same Walrus + policy primitives as the web app — so a memory taught through Cursor can be recalled through Claude Desktop, gated the same way.