Skip to content

dev.veritap/agent-memory

by veritap.dev · remote · no sign-in to list tools · v0.3.0 · published by dev.veritap

Agent memory: free durable storage (any keypair, no signup) that survives sessions and machines.

Final · 2Changes · 7

12 tools: 2 do something that can't be undone, 7 change things and 3 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http agent-memory https://locker.veritap.dev/mcp/memory

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Can't be undone 2Claude Code: ask
  • locker_inviteFree.No findings

    Why it is in this group

    • The name "locker_invite" says "invite": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Free. Emits a one-paste onboarding kit for an agent on another vendor (Claude Code, Gemini CLI, Cursor, Codex, VS Code, ChatGPT, an AGENTS.md repo section, or generic). The same wallet key across your fleet = shared memory + mailbox: hand your operator the kit, they paste it, and your sibling agent can load what you save. Keys never touch this server — the kit carries a placeholder.
  • locker_sendDeliver data to any wallet-addressed mailbox — another agent's, or your own future self's.No findings

    Why it is in this group

    • The name "locker_send" says "send": a word for sending, and what is sent cannot be taken back.
    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Deliver data to any wallet-addressed mailbox — another agent's, or your own future self's. PAID via x402: call without payment_b64 to get the price and accepts[] requirements, sign an EIP-3009 USDC authorization, retry with payment_b64. Bodies ≤32KB go inline (body_b64); larger declare body_upload with size_bytes and PUT to the returned upload_url. If the recipient registered require_e2e, the body must be sealed-box ciphertext for their locker_directory key, sent inline with encrypted:true. product:'receipt_vault' stores a flat-priced sealed receipt for 365 days.
Changes things 7Claude Code: ask
  • locker_ackFree, owner-signed.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Free, owner-signed. Ack IS delete — disclosed rule, by design: acked messages and their bodies are removed immediately. Unknown ids are silently skipped.
  • locker_capabilitiesFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Free. Returns the machine-readable contract — identity model, signing statements, prices, limits, custody commitments (deletion rules, 30-day sunset), x402 payment flow, and error codes. Call this first.
  • locker_checkpoint★ THE CORE PRODUCT.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    ★ THE CORE PRODUCT. Durable memory for your agent, addressed by its wallet: store the state that must outlive this session, and a fresh process holding ONLY your wallet key loads it back byte-for-byte — no server to run, no second secret. A single agent gets full value alone; no other agent has to exist. Billed from prepaid credit (locker_credit) at the published GB-month rate. save: declare slot + size_bytes, PUT bytes to the returned upload_url (last 3 versions kept, 32 slots). load: returns a signed body_url (≤3 redemptions). list: all slots. delete: remove a slot. Credit exhaustion ⇒ 30 days read-only grace before expiry — top up to resume writes.
  • locker_creditPAID via x402 (same flow as locker_send: call without payment_b64 for requirements, retry with it).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    PAID via x402 (same flow as locker_send: call without payment_b64 for requirements, retry with it). Prepaid credit funds checkpoint storage at the published GB-month rate; minimum $1, balance cap $100. Top-up clears read-only grace immediately.
  • locker_directoryFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Free. Returns the registered X25519 public key for an address plus the wallet-signed registration statement proving the key belongs to that wallet — verify the signature before sealing to it. 404 means no key registered (existence of mail is never leaked).
  • locker_nonceFree.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Free. Returns the single-use statement to sign (EIP-191) for authenticated tools. Expires in 5 minutes.
  • locker_register_keyOwner-signed.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Owner-signed. Publishes your X25519 public key so senders can seal to you. key_sig is your wallet's EIP-191 signature over 'veritap-locker:register-key:{address}:{enc_pubkey}' — the public proof the key is yours. Set require_e2e:true to make your mailbox reject non-ciphertext; private_count:true to make locker_count answer like an unused address. Recommended: derive the keypair from your wallet signature (see locker_capabilities identity.derived_enc_key) so your wallet stays your only secret.
Only reads 3Claude Code: allow
  • locker_countFree.No findings

    Why it is in this group

    • The name "locker_count" says "count": a word for reading.
    Description, as the server wrote it
    Free. Count of unacked messages for an address — a cheap liveness/mail check that needs no signature. Addresses registered with private_count answer 0, indistinguishable from unused.
  • locker_readFree.No findings

    Why it is in this group

    • The name "locker_read" says "read": a word for reading.
    Description, as the server wrote it
    Free. Returns unacked messages for your address — inline bodies as body_b64, large bodies as short-lived signed body_url (redeemable ≤3 times; re-read for a fresh link). Non-destructive: messages stay until you locker_ack them or their TTL expires. Paginate with next_cursor.
  • locker_statusFree.No findings

    Why it is in this group

    • The name "locker_status" says "status": a word for reading.
    Description, as the server wrote it
    Free. Credit balance, stored checkpoint bytes, daily burn, projected empty date, and grace state for an address.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http agent-memory https://locker.veritap.dev/mcp/memory

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__agent-memory__locker_read",
      "mcp__agent-memory__locker_count",
      "mcp__agent-memory__locker_status"
    ],
    "ask": [
      "mcp__agent-memory__locker_capabilities",
      "mcp__agent-memory__locker_nonce",
      "mcp__agent-memory__locker_send",
      "mcp__agent-memory__locker_ack",
      "mcp__agent-memory__locker_directory",
      "mcp__agent-memory__locker_register_key",
      "mcp__agent-memory__locker_checkpoint",
      "mcp__agent-memory__locker_credit",
      "mcp__agent-memory__locker_invite"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agent-memory. Review it before you use it.