locker

Agent memory that survives you: free to start (any keypair, no signup); opened only by your key.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
90%
Calidad de los nombres
100%
Riesgo de envenenamiento
80%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'locker_invite' description contains placeholder texten locker_invite
  • INFOTool description contains placeholder or incomplete texten locker_invite

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,329Tokens (definiciones de herramientas)
~1.4 KBTamaño de respuesta típico
Impacto moderado en la atención (1.82% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "locker": {
      "url": "https://locker.veritap.dev/mcp"
    }
  }
}

Puntos de conexión remotos

https://locker.veritap.dev/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (12)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪locker_capabilities

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.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪locker_nonce(address)

Free. Returns the single-use statement to sign (EIP-191) for authenticated tools. Expires in 5 minutes.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "EVM wallet address (0x…, the mailbox identity)."
    }
  },
  "required": [
    "address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡locker_send(to, content_type, body_b64, body_upload, size_bytes, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "EVM wallet address (0x…, the mailbox identity)."
    },
    "content_type": {
      "type": "string",
      "maxLength": 120
    },
    "body_b64": {
      "description": "Inline body, base64, ≤32KB.",
      "type": "string"
    },
    "body_upload": {
      "description": "Large-body mode: reserve, then PUT bytes to upload_url.",
      "type": "boolean"
    },
    "size_bytes": {
      "description": "Required with body_upload.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "encrypted": {
      "description": "Declare sealed-box ciphertext.",
      "type": "boolean"
    },
    "ttl_days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    },
    "idempotency_key": {
      "description": "Makes retries safe — strongly recommended.",
      "type": "string",
      "maxLength": 128
    },
    "tag": {
      "type": "string",
      "maxLength": 64
    },
    "producer": {
      "description": "Who you are, so the recipient can filter.",
      "type": "string",
      "maxLength": 200
    },
    "product": {
      "type": "string",
      "enum": [
        "message",
        "receipt_vault"
      ]
    },
    "payment_b64": {
      "description": "x402 X-PAYMENT payload (base64) from a signed EIP-3009 authorization.",
      "type": "string"
    }
  },
  "required": [
    "to",
    "content_type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢locker_read(address, nonce, signature, cursor, limit, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "EVM wallet address (0x…, the mailbox identity)."
    },
    "nonce": {
      "type": "string",
      "description": "Nonce from locker_nonce (single-use; expires in 5 min)."
    },
    "signature": {
      "type": "string",
      "description": "EIP-191 wallet signature over the exact nonce string."
    },
    "cursor": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "filter": {
      "type": "object",
      "properties": {
        "producer": {
          "type": "string"
        },
        "tag": {
          "type": "string"
        },
        "since": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "address",
    "nonce",
    "signature"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴locker_ack(address, nonce, signature, message_ids)

Free, owner-signed. Ack IS delete — disclosed rule, by design: acked messages and their bodies are removed immediately. Unknown ids are silently skipped.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "EVM wallet address (0x…, the mailbox identity)."
    },
    "nonce": {
      "type": "string",
      "description": "Nonce from locker_nonce (single-use; expires in 5 min)."
    },
    "signature": {
      "type": "string",
      "description": "EIP-191 wallet signature over the exact nonce string."
    },
    "message_ids": {
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "address",
    "nonce",
    "signature",
    "message_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢locker_count(address)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "EVM wallet address (0x…, the mailbox identity)."
    }
  },
  "required": [
    "address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪locker_directory(address)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "EVM wallet address (0x…, the mailbox identity)."
    }
  },
  "required": [
    "address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡locker_register_key(address, nonce, signature, enc_pubkey, key_sig, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "EVM wallet address (0x…, the mailbox identity)."
    },
    "nonce": {
      "type": "string",
      "description": "Nonce from locker_nonce (single-use; expires in 5 min)."
    },
    "signature": {
      "type": "string",
      "description": "EIP-191 wallet signature over the exact nonce string."
    },
    "enc_pubkey": {
      "type": "string",
      "description": "Base64 X25519 public key (32 bytes)."
    },
    "key_sig": {
      "type": "string",
      "description": "EIP-191 signature over the registration statement."
    },
    "require_e2e": {
      "type": "boolean"
    },
    "private_count": {
      "type": "boolean"
    }
  },
  "required": [
    "address",
    "nonce",
    "signature",
    "enc_pubkey",
    "key_sig"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴locker_checkpoint(action, address, nonce, signature, slot, ...)

★ 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "save",
        "load",
        "list",
        "delete"
      ]
    },
    "address": {
      "type": "string",
      "description": "EVM wallet address (0x…, the mailbox identity)."
    },
    "nonce": {
      "type": "string",
      "description": "Nonce from locker_nonce (single-use; expires in 5 min)."
    },
    "signature": {
      "type": "string",
      "description": "EIP-191 wallet signature over the exact nonce string."
    },
    "slot": {
      "description": "Required for save/load/delete; [a-z0-9_-].",
      "type": "string",
      "maxLength": 64
    },
    "size_bytes": {
      "description": "save: declared byte size.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "content_type": {
      "type": "string",
      "maxLength": 120
    },
    "version": {
      "description": "load: pin a version.",
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "const": "latest"
        }
      ]
    }
  },
  "required": [
    "action",
    "address",
    "nonce",
    "signature"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢locker_credit(address, amount_microusd, payment_b64)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "EVM wallet address (0x…, the mailbox identity)."
    },
    "amount_microusd": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "payment_b64": {
      "type": "string"
    }
  },
  "required": [
    "address",
    "amount_microusd"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪locker_status(address)

Free. Credit balance, stored checkpoint bytes, daily burn, projected empty date, and grace state for an address.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "EVM wallet address (0x…, the mailbox identity)."
    }
  },
  "required": [
    "address"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪locker_invite(target, address)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "enum": [
        "claude-code",
        "gemini",
        "cursor",
        "codex",
        "vscode",
        "chatgpt",
        "agents-md",
        "generic"
      ],
      "description": "Which vendor/surface the kit is for."
    },
    "address": {
      "description": "Optional: your wallet address, to prefill funding links and the AGENTS.md mail pointer.",
      "type": "string"
    }
  },
  "required": [
    "target"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada12 herramientas
verificadoversión no registrada12 herramientas