agent-memory
Server Details
Agent memory: free durable storage (any keypair, no signup) that survives sessions and machines.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- veritap-dev/veritap-locker
- GitHub Stars
- 1
- Server Listing
- Veritap Locker — Agent Memory
Available Tools
12 toolslocker_ackAcknowledge (= delete) read messagesAInspect
Free, owner-signed. Ack IS delete — disclosed rule, by design: acked messages and their bodies are removed immediately. Unknown ids are silently skipped.
| Name | Required | Description | Default |
|---|---|---|---|
| nonce | Yes | Nonce from locker_nonce (single-use; expires in 5 min). | |
| address | Yes | EVM wallet address (0x…, the mailbox identity). | |
| signature | Yes | EIP-191 wallet signature over the exact nonce string. | |
| message_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it succeeds: it flags that ack is delete, that deletion is immediate and includes message bodies, and that unknown ids are silently skipped. This is strong disclosure of destructive behavior and error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the most important safety facts (free, owner-signed, delete semantics) and then cover edge-case behavior. Every clause earns its place; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description covers the essential invocation context: cost, authentication posture, irreversible deletion, and behavior on invalid ids. The schema supplies the nonce/signature mechanics. Nothing critical is missing for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents address, nonce, and signature well (75% coverage) and message_ids is self-explanatory from its name. The description adds only the 'owner-signed' and 'free' context rather than new parameter-level detail, which is acceptable but not additive beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation (acknowledge/delete) on a specific resource (read messages) and explicitly clarifies that ack is a destructive delete, immediately removing messages and bodies. This prevents confusion with the non-destructive locker_read/count siblings and resolves the euphemistic 'ack' ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The title and description make it clear this is for acknowledging/removing read messages, and 'Free, owner-signed' signals the operative conditions. It does not explicitly name alternatives or state when not to use it, so it falls just short of a fully explicit routing guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_capabilitiesThe full locker contract: identity, prices, custody, paymentAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral burden. It discloses that the call is free, read-oriented ('Returns'), and what the response covers (identity, prices, limits, custody, deletion rules, sunset, payment flow, error codes). It stops short of explicitly stating 'no side effects', but for a zero-parameter informational tool this is solid disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with 'Free' and the core action, followed by a compact but complete list of contents. There is no filler, and each phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter discovery tool with no output schema, the description fully covers what the agent needs: when to call it, what it returns, and why it matters. The 'call first' guidance and detailed contents make the tool self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the parameter semantics burden is minimal; the baseline is 4. The description adds relevant context about what the returned contract contains, so no additional parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and names a concrete resource ('the machine-readable contract') with an explicit inventory of contents. 'Call this first' also orients it as the discovery/meta tool, setting it apart from the operational locker_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear placement guidance with 'Call this first', which tells an agent when to use it relative to other tools. It does not explicitly list exclusions or alternatives, but the 'first' directive and complete contract framing make the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_checkpointThe Locker — durable memory that survives your process (save/load/list/delete)AInspect
★ 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.
| Name | Required | Description | Default |
|---|---|---|---|
| slot | No | Required for save/load/delete; [a-z0-9_-]. | |
| nonce | Yes | Nonce from locker_nonce (single-use; expires in 5 min). | |
| action | Yes | ||
| address | Yes | EVM wallet address (0x…, the mailbox identity). | |
| version | No | load: pin a version. | |
| signature | Yes | EIP-191 wallet signature over the exact nonce string. | |
| size_bytes | No | save: declared byte size. | |
| content_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does it well. It discloses non-obvious behaviors: last 3 versions kept, 32 slots, signed body_url with ≤3 redemptions, credit exhaustion leading to a 30-day read-only grace period, and prepaid billing. These go far beyond the structured schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: value proposition first, then billing, then each action, then failure/grace behavior. Despite being long, nearly every sentence carries operational information an agent needs for correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no output schema, the description covers a lot: action semantics, limits, billing, retention, and grace behavior. It does not detail the exact PUT request format or response shapes, but the provided workflow information is enough for an agent to begin invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so the schema handles most parameter descriptions. The description adds useful action-level semantics: save requires slot + size_bytes and returns an upload_url; load returns a signed body_url; list returns all slots. However, content_type still lacks semantic explanation, and the description does not fully compensate for that gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: durable, wallet-addressed memory that can be saved and loaded byte-for-byte across sessions. It names the specific resource ('durable memory') and the core actions (save/load/list/delete). It does not explicitly contrast with sibling tools like locker_send or locker_read, so it does not quite earn a 5 for sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: 'store the state that must outlive this session,' and explains that a fresh process with only the wallet key can restore it. It does not explicitly say when to prefer a sibling tool instead, so the guidance is strong but not fully exclusionary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_countPeek unacked message count (free, unauthenticated)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | EVM wallet address (0x…, the mailbox identity). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden. It states that the call is free, requires no signature, and that private_count-registered addresses return 0 and are indistinguishable from unused addresses. It does not describe the response shape, but this is minor for a count operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences. The first sentence conveys cost and purpose, the second adds authentication context, and the third covers an important edge case. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers cost, authentication, purpose, and a privacy-sensitive edge case. The only notable omission is explicit return-format detail, which is a minor gap given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the address parameter with 100% coverage, including the EVM wallet address format. The description adds little beyond reinforcing that the count is per-address, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact operation: count of unacked messages for an address, and frames it as a cheap liveness/mail check that needs no signature. This clearly distinguishes it from sibling locker tools like locker_read or locker_status without requiring schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: use this for a cheap liveness or mail check when no signature is available. It does not explicitly name alternatives or exclusion conditions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_creditTop up storage credit (paid)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | EVM wallet address (0x…, the mailbox identity). | |
| payment_b64 | No | ||
| amount_microusd | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing side effects and behavior. It reveals the tool is paid, modifies credit balance, imposes financial limits, and clears read-only grace—each a significant behavioral trait beyond the obvious 'top-up'. It also explains the two-step payment flow (call without payment_b64, then retry with it), which is essential for correct invocation. It does not cover error states or what happens on failed payment, but the disclosed information is substantial and accurate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and front-loads the critical 'PAID' flag, immediately setting expectations. It packs a lot of information—payment flow, rate, limits, and effects—without redundancy. The only minor inefficiency is the lengthy first sentence, but it is dense and necessary. Overall, it is well-structured for an agent to quickly grasp the key points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential operational flow (payment steps, limits, and the grace-clearing effect) and explains the key parameters, but it omits error handling, what the response contains, and any failure contingencies. Given there is no output schema and no annotations, this represents a notable gap. An agent might need to probe for error behavior, but the core invocation path is clear enough to start.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only address has a description). The description compensates by explaining the payment flow for payment_b64 ('call without payment_b64 for requirements, retry with it') and interpreting amount_microusd through the min/cap and rate context. It clarifies that amount is in micro USD and tied to the published rate, adding meaning beyond the raw integer type. This is a strong mitigation of the schema's sparse documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description precisely states the action ('Top up storage credit') and adds critical specifics: it funds checkpoint storage at a published GB-month rate, with a minimum of $1 and a cap of $100. It also clarifies the payment mechanism (x402) and the immediate effect of clearing read-only grace, leaving no ambiguity about what the tool accomplishes. This is a specific verb+resource combination that stands apart from siblings like locker_send or locker_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (to add prepaid credit and clear grace) but does not explicitly contrast it with alternatives or state exclusion criteria. It references locker_send for the payment flow, which suggests they share a payment pattern, but it never says 'use this instead of X when Y' or mentions when not to use it. The guidance is adequate but relies on the reader to infer the selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_directoryLook up a recipient's encryption key (free)AInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | EVM wallet address (0x…, the mailbox identity). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the operation is free, describes the returned data, explains the 404 semantics, and even exposes the privacy property that mail existence is never leaked. It does not mention rate limits or other operational details, but the key behaviors are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences deliver high-value information with no filler. The cost note, return payload, verification requirement, and 404 behavior are all packed in efficiently and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explains the success return (X25519 public key and signed statement) and the key error case (404). It could specify the exact shape of the signed statement for verification, but the essentials for correct invocation are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the address parameter. The description reinforces that the address is the lookup key for a registered X25519 key, but adds little new parameter-level syntax or format guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation: retrieving a recipient's registered X25519 public key and the wallet-signed registration statement for an address. This clearly distinguishes it from sibling tools like locker_register_key (registration) and locker_send (sending).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes the intended context: look up a recipient's encryption key before sealing, and verify the signature. It does not explicitly name alternative tools or state when not to use it, but the purpose is concrete and actionable enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_inviteOnboarding kit: give your OTHER agents this memory too (free)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Which vendor/surface the kit is for. | |
| address | No | Optional: your wallet address, to prefill funding links and the AGENTS.md mail pointer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden and does a solid job: it states the tool is free, explains the cross-agent memory/mailbox effect, and explicitly discloses that keys never touch the server because the kit carries a placeholder. It stops short of describing output structure, but the key security behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core action before explaining the value and privacy behavior. The vendor list is long but maps directly to the target enum, and the sentences all contribute useful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers what the output is for, how to use it, and the important security caveat. It could add more detail about the contents/format of the returned kit, but nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces that the kit targets other vendors and mentions placeholders, but it does not add meaningful syntax or formatting details beyond the property descriptions already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'emits', and names the resource (a one-paste onboarding kit) for a range of target vendors, so an agent can tell what the tool produces. It does not explicitly contrast it with sibling tools like locker_send or locker_register_key, so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear workflow: hand the operator the kit, they paste it, and the sibling agent can load shared memory. It does not list exclusions or name alternative tools, but the intended scenario is described well enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_nonceGet a signing nonceAInspect
Free. Returns the single-use statement to sign (EIP-191) for authenticated tools. Expires in 5 minutes.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | EVM wallet address (0x…, the mailbox identity). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the call is free, the nonce is single-use, expires in 5 minutes, and uses EIP-191 format. This gives an agent useful behavioral context, though it omits details like whether the nonce is consumed by this call and what the exact response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses convey cost, purpose, format, and expiry with no filler. The key fact 'Returns the single-use statement' is front-loaded, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers the essential usage constraints: free, single-use, EIP-191, and 5-minute expiry. It could more explicitly state the next step in the auth flow, but overall an agent has enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the 'address' parameter is fully described as an EVM wallet address and mailbox identity. The tool description adds no additional parameter meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Returns' and the resource 'single-use statement to sign (EIP-191)', which is specific and unambiguous. It does not explicitly name a sibling tool for differentiation, but the nonce-generation purpose is distinct enough from siblings like locker_send or locker_read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for authenticated tools' implies this tool is a prerequisite in an authentication flow, and the 5-minute expiry signals time sensitivity. However, there is no explicit guidance on when to use it versus alternatives, nor any when-not-to-use exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_readRead your mail (free, owner-signed, non-destructive)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| nonce | Yes | Nonce from locker_nonce (single-use; expires in 5 min). | |
| cursor | No | ||
| filter | No | ||
| address | Yes | EVM wallet address (0x…, the mailbox identity). | |
| signature | Yes | EIP-191 wallet signature over the exact nonce string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and delivers: free, non-destructive, unacked-only, body URL redeemability limits, TTL-based persistence, and pagination via next_cursor. This goes well beyond the structured schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with cost/safety, and each clause adds distinct operational detail (body handling, retention, pagination). No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, it explains key return elements (body_b64, large-body URL, next_cursor) and lifecycle behavior. The main gap is that optional filtering and limit behavior are undocumented, but the tool remains callable from the required auth parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to 'address' (your address), 'cursor' (next_cursor pagination), and clarifies the default unacked filter. However, with only 50% schema coverage, it leaves limit and the nested filter object (tag/since/producer) unexplained in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies a specific operation (returns unacked messages for the caller's address) and a specific resource (mailbox), with concrete output details (body_b64, signed body_url). The 'non-destructive' phrasing and explicit contrast with locker_ack make it distinguishable from sibling mail tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the tool is for reading unacked messages and notes messages remain until explicitly acked or TTL expiry, which implies when to use locker_ack instead. It does not explicitly name sibling alternatives for counting or capability checks, but the context is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_register_keyRegister your encryption key (and E2E policy)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| nonce | Yes | Nonce from locker_nonce (single-use; expires in 5 min). | |
| address | Yes | EVM wallet address (0x…, the mailbox identity). | |
| key_sig | Yes | EIP-191 signature over the registration statement. | |
| signature | Yes | EIP-191 wallet signature over the exact nonce string. | |
| enc_pubkey | Yes | Base64 X25519 public key (32 bytes). | |
| require_e2e | No | ||
| private_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does well: it discloses the owner-signed requirement, the EIP-191 signature formats, the effects of require_e2e (mailbox rejects non-ciphertext) and private_count (locker_count answers as unused), and the recommendation to derive keys from the wallet signature. It could add more about side effects or reversibility, but the core behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose. The first sentence states the action and effect, and subsequent sentences add necessary signing and policy details. Every sentence contributes useful information without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema, the description explains the key mechanics: the signed statement, the nonce, the pubkey format, and the privacy flags. It lacks explicit return-value or error-case details, but the essential operational context for correctly invoking the tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, and the schema already describes most parameters. The description adds real meaning for key_sig by specifying the exact signed statement format ('veritap-locker:register-key:{address}:{enc_pubkey}'), which is valuable. The two optional booleans get semantic context (require_e2e and private_count effects) beyond their bare names. However, some parameters like 'signature' and 'nonce' are not further enriched, so the extra value is moderate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool registers an X25519 public key to a mailbox identity so senders can encrypt to it. The verb 'publishes' and the resource ('X25519 public key') are specific and distinguish this tool from the locker_read/send/status sibling functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when the tool is used (initial key registration for end-to-end encryption) and gives guidance on the require_e2e and private_count flags, plus a recommended key-derivation practice. It does not explicitly name alternative tools to compare against, but the usage context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_sendSend a message to a wallet address (paid)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | EVM wallet address (0x…, the mailbox identity). | |
| tag | No | ||
| product | No | ||
| body_b64 | No | Inline body, base64, ≤32KB. | |
| producer | No | Who you are, so the recipient can filter. | |
| ttl_days | No | ||
| encrypted | No | Declare sealed-box ciphertext. | |
| size_bytes | No | Required with body_upload. | |
| body_upload | No | Large-body mode: reserve, then PUT bytes to upload_url. | |
| payment_b64 | No | x402 X-PAYMENT payload (base64) from a signed EIP-3009 authorization. | |
| content_type | Yes | ||
| idempotency_key | No | Makes retries safe — strongly recommended. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden and does so well. It reveals the paid x402 flow, the two-round payment negotiation, inline vs. upload body modes, E2E encryption requirements, and the receipt_vault storage duration. This is substantial behavioral context beyond what the schema alone provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, each serving a distinct purpose: purpose, payment flow, body-size routing, and encryption/product variations. There is no filler, and critical information is front-loaded before procedural details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter, no-annotation, no-output-schema tool, the description is remarkably complete: it covers payment requirements, size limits, upload workflow, encryption, and product variants. Minor gaps remain, such as explicit return-value shape, default behavior for ttl_days, and failure semantics, so it is strong but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, so the description must add meaning, and it does: 32KB inline limit, EIP-3009 signing, upload_url, sealed-box ciphertext requirements, and flat-priced receipt semantics. It does not clarify every undocumented parameter like tag, ttl_days, or content_type, but the most workflow-critical parameters are meaningfully enriched.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb and resource: delivering data to a wallet-addressed mailbox, including to another agent or one's own future self. This clearly distinguishes the operation from sibling read/ack/invite tools and establishes the mailbox-delivery scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: sending data to a wallet mailbox, with a required payment flow and body-size decisions. It does not explicitly name sibling alternatives or say when not to use this tool, but the procedure is concrete enough that an agent knows when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
locker_statusYour storage account status (free)BInspect
Free. Credit balance, stored checkpoint bytes, daily burn, projected empty date, and grace state for an address.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | EVM wallet address (0x…, the mailbox identity). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully adds that the tool is free and discloses the set of returned account metrics, which is relevant behavioral context. However, it does not explicitly state read-only behavior, permissions, or other operational traits beyond the word 'status' and the listed values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very compact and has no wasted words: 'Free' is front-loaded, and the metric list is short. It is slightly telegraphic and could be improved with a verb, but it remains efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool, the description is adequate: a caller knows the required address and the high-level fields returned. But there is no output schema, and the description does not explain units, value formats, or possible grace-state values, so an agent is left guessing at the exact response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single `address` parameter, including its EVM format and mailbox-identity meaning. The description only repeats 'for an address' without adding new parameter-level semantics, which matches the baseline for fully covered schema parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify this as a storage-account status tool and enumerate the specific metrics returned: credit balance, stored checkpoint bytes, daily burn, projected empty date, and grace state. However, the description lacks an explicit verb like 'retrieves' or 'returns,' and it does not directly distinguish itself from overlapping siblings such as locker_credit or locker_checkpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a caller wants an aggregate storage-account status view, and the field list clarifies what that view contains. But it provides no explicit guidance on when to prefer this tool over siblings, nor does it state any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
12 tool updates
- First observed
locker_ack - First observed
locker_capabilities - First observed
locker_checkpoint - First observed
locker_count - First observed
locker_credit - First observed
locker_directory - First observed
locker_invite - First observed
locker_nonce - First observed
locker_read - First observed
locker_register_key - First observed
locker_send - First observed
locker_status
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Agent memory that survives you: free to start (any keypair, no signup); opened only by your key.
Persistent cloud memory for AI agents. Store and search key-value memories across sessions.
Persistent agent memory paid per call via x402 USDC. Your wallet is your private memory namespace.
Persistent memory for AI agents. Semantic recall by meaning, not just keywords. No signup needed.
Related MCP Servers
- FlicenseAqualityFmaintenancePersistent encrypted memory for AI agents. E2E encrypted private vaults, shared knowledge commons, topic channels, and agent-to-agent DMs. 23 MCP tools, free, no API key needed.24-
- AlicenseAqualityCmaintenancePersistent memory for AI coding agents. Store coding standards, architecture decisions, and project context across sessions with AES-256 encryption.81MIT
- AlicenseAqualityDmaintenanceProvides persistent key-value storage with full-text search, tags, and namespaces for AI agents to maintain context across sessions.7MIT
- AlicenseNot gradedqualityAmaintenanceLocal-first, encrypted memory for AI agents, with cryptographic forgetting.3Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct area: mailbox operations (ack/read/count/send), checkpoint storage, key registration/directory, and account/billing info. The only mild ambiguity is that locker_checkpoint bundles save/load/list/delete into one tool, and locker_send can target your own future self, which could blur the boundary with checkpoint storage.
All names share the locker_ prefix and consistent snake_case, which keeps the set cohesive. However, the second part mixes bare verbs (read, send, ack, count, invite) with nouns (capabilities, directory, nonce, status) and one true verb_noun pair (register_key), so the naming convention is not uniform.
Twelve tools is well within the ideal range, and each tool earns its place by covering a distinct capability: mailbox, checkpoint memory, key identity, billing, and onboarding. Nothing feels redundant or like padding.
The set covers the full message lifecycle (send/read/ack/count), checkpoint CRUD via locker_checkpoint, key registration/verification, and billing/status. Minor gaps remain, such as no explicit key revocation/rotation tool or sent-message history, but core workflows are complete.