{"serverId":"mcp-registry/com.borisinc/memory","tools":[{"name":"memory_export","fixed":{"name":"memory_export","description":"Export memories in YOUR payer-wallet namespace (up to 1000/call, newest first; use offset to page through namespaces >1000). Your data is yours. Includes superseded_by so history is exportable. Paid: $0.01 via x402.","inputSchema":{"type":"object","properties":{"offset":{"type":"integer","description":"row offset for paging past the first 1000 (default 0)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":112,"tokensAfter":112},{"name":"memory_import","fixed":{"name":"memory_import","description":"Bulk-write memories into YOUR namespace (max 200/call, content <=8k chars each). Accepts the exact shape memory_export emits, so a whole namespace can move in with one paid call. Embeds best-effort; missing embeddings are backfilled hourly. Paid: $0.01 flat via x402.","inputSchema":{"type":"object","required":["memories"],"properties":{"memories":{"type":"array","items":{"type":"object","required":["content"],"properties":{"ts":{"type":"number"},"tags":{"type":"array","items":{"type":"string"}},"content":{"type":"string"}}},"description":"up to 200 items"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":168,"tokensAfter":168},{"name":"memory_search","fixed":{"name":"memory_search","description":"Semantic search over YOUR stored memories (payer-wallet namespace). Returns top-k by embedding similarity. Paid: $0.002 per search via x402.","inputSchema":{"type":"object","required":["query"],"properties":{"k":{"type":"integer","description":"max results (default 5, cap 20)"},"query":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"memory_search_free","fixed":{"name":"memory_search_free","description":"FREE (no payment): semantic search over YOUR namespace, proven by an EIP-191 personal_sign. Same wallet_auth scheme as memory_write_free. Capped at 500 searches / rolling 30 days per wallet.","inputSchema":{"type":"object","required":["query","wallet_auth"],"properties":{"k":{"type":"integer","description":"max results (default 5, cap 20)"},"query":{"type":"string"},"wallet_auth":{"type":"string","description":"base64 JSON {address,ts,signature}"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":139,"tokensAfter":139},{"name":"memory_stats","fixed":{"name":"memory_stats","description":"FREE: count + last-write timestamp for any wallet namespace. Content is never returned on the free tier.","inputSchema":{"type":"object","required":["namespace"],"properties":{"namespace":{"type":"string","description":"wallet address"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"memory_write","fixed":{"name":"memory_write","description":"Store a memory permanently. Namespaced to YOUR paying wallet — your wallet is your private memory store. Semantic-indexed for later search. Optional supersedes=[ids] marks prior memories in your namespace as superseded by this one (excluded from search, still visible in export with their superseded_by id) — a Zep-style update-in-place without ever losing history. Paid: $0.001 per write via x402 (payment in _meta['x402/payment']).","inputSchema":{"type":"object","required":["content"],"properties":{"tags":{"type":"array","items":{"type":"string"}},"content":{"type":"string","description":"The memory text (max 8000 chars)"},"supersedes":{"type":"array","items":{"type":"integer"},"description":"ids of prior memories (same namespace) that this write supersedes"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":225,"tokensAfter":225},{"name":"memory_write_free","fixed":{"name":"memory_write_free","description":"FREE (no payment): store a memory in YOUR namespace, proven by an EIP-191 personal_sign instead of an x402 payment. wallet_auth = base64 JSON {address,ts,signature} where signature = personal_sign of 'borismem-free:<address>:<ts>' (ts within 600s). Writes to the SAME namespace paid calls use. Capped at 1000 writes / rolling 30 days per wallet; over cap returns an error pointing to the paid tier.","inputSchema":{"type":"object","required":["content","wallet_auth"],"properties":{"tags":{"type":"array","items":{"type":"string"}},"content":{"type":"string","description":"The memory text (max 8000 chars)"},"wallet_auth":{"type":"string","description":"base64 JSON {address,ts,signature} -- see description"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":210,"tokensAfter":210}],"toolsChanged":7,"tokensSaved":0,"todo":[{"tool":"memory_search","params":["query"]},{"tool":"memory_search_free","params":["query"]},{"tool":"memory_write","params":["tags"]},{"tool":"memory_write_free","params":["tags"]}],"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."}