{"serverId":"mcp-registry/dev.veritap/agent-memory","tools":[{"name":"locker_ack","fixed":{"name":"locker_ack","description":"Free, owner-signed. Ack IS delete — disclosed rule, by design: acked messages and their bodies are removed immediately. Unknown ids are silently skipped.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["address","nonce","signature","message_ids"],"properties":{"nonce":{"type":"string","description":"Nonce from locker_nonce (single-use; expires in 5 min)."},"address":{"type":"string","description":"EVM wallet address (0x…, the mailbox identity)."},"signature":{"type":"string","description":"EIP-191 wallet signature over the exact nonce string."},"message_ids":{"type":"array","items":{"type":"string"},"maxItems":500}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"title":"Acknowledge (= delete) read messages"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":199,"tokensAfter":199},{"name":"locker_capabilities","fixed":{"name":"locker_capabilities","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"The full locker contract: identity, prices, custody, payment"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"locker_checkpoint","fixed":{"name":"locker_checkpoint","description":"★ 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","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["action","address","nonce","signature"],"properties":{"slot":{"type":"string","maxLength":64,"description":"Required for save/load/delete; [a-z0-9_-]."},"nonce":{"type":"string","description":"Nonce from locker_nonce (single-use; expires in 5 min)."},"action":{"enum":["save","load","list","delete"],"type":"string"},"address":{"type":"string","description":"EVM wallet address (0x…, the mailbox identity)."},"version":{"anyOf":[{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"string","const":"latest"}],"description":"load: pin a version."},"signature":{"type":"string","description":"EIP-191 wallet signature over the exact nonce string."},"size_bytes":{"type":"integer","maximum":9007199254740991,"description":"save: declared byte size.","exclusiveMinimum":0},"content_type":{"type":"string","maxLength":120}}},"annotations":{"readOnlyHint":true},"title":"The Locker — durable memory that survives your process (save/load/list/delete)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":416,"tokensAfter":416},{"name":"locker_count","fixed":{"name":"locker_count","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["address"],"properties":{"address":{"type":"string","description":"EVM wallet address (0x…, the mailbox identity)."}}},"annotations":{"readOnlyHint":true},"title":"Peek unacked message count (free, unauthenticated)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":123,"tokensAfter":123},{"name":"locker_invite","fixed":{"name":"locker_invite","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["target"],"properties":{"target":{"enum":["claude-code","gemini","cursor","codex","vscode","chatgpt","agents-md","generic"],"type":"string","description":"Which vendor/surface the kit is for."},"address":{"type":"string","description":"Optional: your wallet address, to prefill funding links and the AGENTS.md mail pointer."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Onboarding kit: give your OTHER agents this memory too (free)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":238,"tokensAfter":238},{"name":"locker_nonce","fixed":{"name":"locker_nonce","description":"Free. Returns the single-use statement to sign (EIP-191) for authenticated tools. Expires in 5 minutes.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["address"],"properties":{"address":{"type":"string","description":"EVM wallet address (0x…, the mailbox identity)."}}},"annotations":{"readOnlyHint":true},"title":"Get a signing nonce"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":101,"tokensAfter":101},{"name":"locker_read","fixed":{"name":"locker_read","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["address","nonce","signature"],"properties":{"limit":{"type":"integer","maximum":100,"minimum":1},"nonce":{"type":"string","description":"Nonce from locker_nonce (single-use; expires in 5 min)."},"cursor":{"type":"string"},"filter":{"type":"object","properties":{"tag":{"type":"string"},"since":{"type":"string"},"producer":{"type":"string"}}},"address":{"type":"string","description":"EVM wallet address (0x…, the mailbox identity)."},"signature":{"type":"string","description":"EIP-191 wallet signature over the exact nonce string."}}},"annotations":{"readOnlyHint":true},"title":"Read your mail (free, owner-signed, non-destructive)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":265,"tokensAfter":265},{"name":"locker_send","fixed":{"name":"locker_send","description":"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. prod","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["to","content_type"],"properties":{"to":{"type":"string","description":"EVM wallet address (0x…, the mailbox identity)."},"tag":{"type":"string","maxLength":64},"product":{"enum":["message","receipt_vault"],"type":"string"},"body_b64":{"type":"string","description":"Inline body, base64, ≤32KB."},"producer":{"type":"string","maxLength":200,"description":"Who you are, so the recipient can filter."},"ttl_days":{"type":"integer","maximum":365,"minimum":1},"encrypted":{"type":"boolean","description":"Declare sealed-box ciphertext."},"size_bytes":{"type":"integer","maximum":9007199254740991,"description":"Required with body_upload.","exclusiveMinimum":0},"body_upload":{"type":"boolean","description":"Large-body mode: reserve, then PUT bytes to upload_url."},"payment_b64":{"type":"string","description":"x402 X-PAYMENT payload (base64) from a signed EIP-3009 authorization."},"content_type":{"type":"string","maxLength":120},"idempotency_key":{"type":"string","maxLength":128,"description":"Makes retries safe — strongly recommended."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Send a message to a wallet address (paid)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":467,"tokensAfter":467},{"name":"locker_status","fixed":{"name":"locker_status","description":"Free. Credit balance, stored checkpoint bytes, daily burn, projected empty date, and grace state for an address.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["address"],"properties":{"address":{"type":"string","description":"EVM wallet address (0x…, the mailbox identity)."}}},"annotations":{"readOnlyHint":true},"title":"Your storage account status (free)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104}],"toolsChanged":9,"tokensSaved":0,"todo":[{"tool":"locker_ack","params":["message_ids"]},{"tool":"locker_checkpoint","params":["action","content_type"]},{"tool":"locker_credit","params":["payment_b64","amount_microusd"]},{"tool":"locker_read","params":["limit","cursor","filter"]},{"tool":"locker_register_key","params":["require_e2e","private_count"]},{"tool":"locker_send","params":["tag","product","ttl_days","content_type"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}