Agentic Endpoints
Server Details
Pay-per-call tools for autonomous agents, settled in USDC on Base via x402.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- olie-kiss/agentic-endpoints
- GitHub Stars
- 0
Available Tools
16 toolscompressCompress text to a token budgetARead-onlyIdempotentInspect
Reduce text to fit a token budget, preserving whole sentences and reporting before/after token estimates. Costs $0.005 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to compress | |
| strategy | No | Compression strategy (default extractive) | |
| target_tokens | No | Approximate token budget |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | The compressed text |
| ratio | Yes | compressed_length / original_length. Lower is more aggressive. |
| strategy | No | Strategy applied, echoing your request |
| original_length | Yes | Input length in characters |
| compressed_length | Yes | Output length in characters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and idempotent, and the description adds meaningful extra context: it preserves whole sentences, reports before/after token estimates, and discloses the $0.005 USDC payment on Base via x402. This is strong behavioral transparency, though it does not cover edge-case behavior such as overly small token budgets.
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 two tight sentences with no filler. The core purpose is front-loaded, and the cost/payment detail is presented as a separate concise clause.
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?
Given the complete input schema, the available output schema, and annotations, the description covers purpose, behavior, reporting, and cost. Nothing essential for selecting or invoking the tool is missing.
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 input schema fully documents all three parameters at 100% coverage, so the description does not need to restate them. The description adds no per-parameter nuance beyond what the schema already provides, warranting the baseline score of 3.
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 a specific verb ('Reduce'), the resource ('text'), and the goal (fit a token budget), while also specifying behavioral details: preserving whole sentences and reporting before/after token estimates. It is easily distinguished from the sibling tools, none of which perform text compression.
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 conveys clear context: use this tool when text must be reduced to fit a token budget. It does not explicitly name alternatives or when-not-to-use cases, but no competing sibling exists and the intended use is easy to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meetings_getRead one meeting in fullARead-onlyIdempotentInspect
Fetch a single meeting by meeting_id, including its full transcript when it was imported as queryable. Use this after meetings_search has identified the meeting you want. A 'content_missing' status means the record exists but its stored text could not be found -- that is a broken record, not an empty meeting, so do not report it as one. Costs $0.002 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | Yes | Isolation scope holding your meetings | |
| meeting_id | Yes | Returned by meetings_import or meetings_search | |
| namespace_token | Yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | No | Meeting title |
| status | Yes | 'ok' on success |
| ciphertext | No | Client-encrypted transcript, for private meetings |
| meeting_id | Yes | Identifier of the meeting |
| transcript | No | Plaintext transcript, for queryable meetings |
| visibility | No | 'queryable' or 'private' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already indicating readOnly and idempotent behavior, the description adds valuable context: the 'content_missing' status meaning, the condition about queryable imports, and the exact cost and payment protocol. It also warns that a broken record should not be reported as an empty meeting, which is a meaningful behavioral nuance beyond the annotations.
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 with no filler: it states the action, gives the usage context, flags an important status edge case, and mentions the cost. Every sentence adds unique value, and the most important information is 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?
Given the rich input schema, output schema, and annotations, the description covers all essential operational aspects: what it fetches, when to call it, how to interpret an edge-case status, and the cost. Nothing an agent needs to correctly invoke this tool is missing.
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 input schema already documents all three required parameters with 100% coverage, so the description is not required to add parameter details. It does not introduce any new semantic nuance beyond what the schema already provides. Baseline of 3 is appropriate because the schema fully carries the burden.
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 ('Fetch') and identifies the exact resource ('a single meeting by meeting_id'), including the key behavior of returning the full transcript when queryable. It clearly distinguishes this tool from meetings_search and meetings_list by focusing on retrieval of one identified meeting rather than discovery.
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 explicitly says to use this tool after meetings_search has identified the meeting, giving a clear ordering context. It also explains how to interpret a 'content_missing' status, preventing incorrect reporting. It does not explicitly mention when not to use it or name alternative tools, but the usage context is sufficient and clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meetings_importImport a meeting transcriptAInspect
Store a transcript so it can be searched later. visibility is a required decision and cannot be guessed for you: 'queryable' stores plaintext, indexes it, and means this service can read it; 'private' stores ciphertext you encrypted yourself, which is unreadable here and therefore NEVER searchable. Send transcript for queryable and ciphertext for private -- the mismatched combinations are refused rather than silently doing the wrong thing. The first import into a namespace returns a namespace_token shown exactly once; save it or the namespace is unrecoverable. Costs $0.004 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Human-readable meeting title | |
| source | No | Free-form label for where the transcript came from, e.g. webvtt, srt, plain-text | |
| namespace | Yes | Isolation scope, e.g. my-meetings-<uuid> | |
| ciphertext | No | Client-side encrypted transcript. Only valid with visibility 'private'. | |
| transcript | No | Plaintext transcript. Only valid with visibility 'queryable'. | |
| visibility | No | 'queryable' (plaintext, searchable, readable by this service) or 'private' (ciphertext, never searchable). Defaults to private. | |
| occurred_at | No | ISO-8601 time the meeting happened | |
| participants | No | Optional attendees | |
| namespace_token | No | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | Present alongside a newly issued namespace_token |
| status | Yes | 'imported' on success |
| meeting_id | Yes | Identifier for later meetings_get calls |
| searchable | No | False for private meetings, which are never searchable |
| size_bytes | No | Stored size |
| visibility | No | 'queryable' or 'private' |
| namespace_token | No | Issued only on the first import into a namespace, shown exactly once |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations offering no hints beyond non-read-only, the description carries the full burden and does so richly: it explains the privacy/searchability tradeoff, the required ciphertext/transcript pairing, the one-time namespace token, and the $0.004 cost paid via x402. No contradiction with annotations.
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 every sentence earns its place: purpose, the central privacy decision, validation behavior, token recovery risk, and cost. It is front-loaded with the core action and then delivers high-value operational constraints 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 tool with 9 parameters and subtle privacy semantics, the description covers the tricky decision points, the refusal behavior, the one-time token consequence, and the payment requirement. The output schema is noted as present, so the description need not enumerate return fields; nothing essential appears missing.
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%, but the description adds critical meaning beyond it: that visibility is a decision that cannot be guessed, that transcript only pairs with queryable and ciphertext only with private, and that mismatched combinations are refused. It also explains the namespace_token lifecycle, which is essential for correct multi-call usage.
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 verb and resource: 'Store a transcript so it can be searched later.' It clearly distinguishes this from the sibling search/list/get tools by emphasizing that this is the ingestion path, and the visibility modes further define the resource's behavior.
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 context for when to use the tool: to store a transcript for later search. It does not explicitly name alternatives or say 'instead of meetings_search' but the import vs. search distinction is strongly implied by the wording and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meetings_listList your meetingsARead-onlyIdempotentInspect
List the meetings in a namespace newest first, with titles, dates, participants and whether each one is searchable. Never returns transcripts. Useful for orienting before a search, and for finding meetings that are private and therefore invisible to meetings_search. Costs $0.001 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, 1-500 (default 100) | |
| namespace | Yes | Isolation scope holding your meetings | |
| namespace_token | Yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of meetings returned |
| status | Yes | 'ok' on success |
| meetings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, and the description adds meaningful behavioral details beyond those: it never returns transcripts, results are newest-first, and there is a $0.001 cost via x402. These are useful operational facts an agent needs to know before calling the tool.
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 with no filler. The core behavior is front-loaded, followed by an important exclusion (no transcripts), then the use case and cost. Every sentence 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?
Given that an output schema exists and annotations cover safety/idempotency, the description is largely complete. It includes privacy behavior, cost, ordering, and the search alternative. It could have briefly noted the namespace_token requirement, but the schema already covers that parameter.
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 all three parameters. The description adds mild context by framing the operation as listing within a namespace, but it does not add parameter-level detail beyond what the schema provides. Baseline 3 is appropriate.
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 verb and resource: 'List the meetings in a namespace newest first,' with the returned fields enumerated (titles, dates, participants, searchable flag). It also differentiates itself from meetings_search by noting that private meetings are invisible to that search tool, so an agent can distinguish the two.
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 explicit usage context: 'useful for orienting before a search' and 'for finding meetings that are private and therefore invisible to meetings_search.' This tells the agent when to prefer this tool over meetings_search without needing to infer the distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meetings_searchSearch your meeting transcriptsARead-onlyIdempotentInspect
Ask a question across every meeting you have imported as queryable, and get back ranked excerpts with the meeting they came from. This is the tool to use when the user refers to something that was said, agreed, or decided in a call -- 'what did we decide about pricing', 'who owned the migration', 'when did we say we would ship'. Returns 'searched_meetings' and 'private_meetings_skipped': meetings imported as private are encrypted and CANNOT be searched, so if searched_meetings is 0 an empty result means nothing was searched, NOT that the topic was never discussed. Use meetings_get to read a full transcript once you have found the right meeting. Costs $0.006 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, 1-50 (default 10) | |
| query | Yes | FTS5 match expression. Use quotes for phrases, e.g. "budget review". Prefer a few distinctive words over a whole sentence. | |
| namespace | Yes | Isolation scope holding your meetings | |
| namespace_token | Yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of matches returned |
| query | No | The match expression that was run |
| status | Yes | 'ok' on a successful search |
| matches | Yes | Ranked excerpts, best first |
| searched_meetings | No | How many meetings were actually searched. If 0, an empty result means nothing was searchable, NOT that the topic was never discussed. |
| private_meetings_skipped | No | Encrypted meetings that could not be searched |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this readOnly and idempotent, and the description goes well beyond them by disclosing return fields (searched_meetings, private_meetings_skipped), the privacy/encryption limitation, the meaning of a zero search count, and the per-call cost via x402. No contradiction with annotations.
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?
Although slightly longer than average, every sentence earns its place: the core purpose is front-loaded, followed by usage examples, the critical private-meeting caveat, a routing pointer, and cost. There is no fluff or repetition of schema content.
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 search tool with four parameters, an output schema, and rich annotations, the description is complete. It covers behavior, edge cases, follow-up routing, and cost. Nothing an agent needs to invoke it correctly appears to be missing.
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?
Input schema covers 100% of the parameters, so the baseline is 3. The description adds real value by explaining the query parameter's FTS5 behavior, recommending quoted phrases, and advising distinctive keywords over full sentences, which helps the agent construct better queries.
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 identifies the tool as semantic search over imported meeting transcripts, with the specific verb 'Ask a question' and resource 'every meeting you have imported as queryable'. It distinguishes itself by positioning against meetings_get: use this to find the right excerpt, then use meetings_get to read the full transcript.
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?
Explicitly states when to use: when the user refers to something said, agreed, or decided in a call, with concrete example queries. It also gives an important exclusion: private meetings are encrypted and cannot be searched, and explains the empty-result caveat. It routes to the correct sibling for follow-up reading of full transcripts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
once_key_claimClaim an action exactly onceAIdempotentInspect
Atomic idempotency witness. Claims a {namespace, action_key} pair exactly once, so a fleet of agents cannot perform the same side effect twice. Call this BEFORE any non-idempotent action such as sending an email, charging a card, or posting an order. Returns one of: 'claimed' — you won, do the work, then call once_key_complete; 'in_progress' — another agent holds a live lease, wait retry_after seconds and do NOT do the work; 'duplicate' — already done, and the 'result' field carries the original outcome, so use it instead of repeating the work; 'held' — another agent claimed this key, set no lease, and has NOT completed it: there is no result and there may never be one, so do NOT do the work and do NOT treat it as done, because the key stays locked until expires_at; 'conflict' — the same key was claimed with a different payload hash, so your key derivation is wrong. Backed by a strongly consistent Durable Object; this is not something an agent can safely reimplement locally. Costs $0.001 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | Claim lifetime in seconds (default 86400) | |
| lease_ttl | No | Seconds you have to call once_key_complete before the claim is treated as abandoned and another agent may take it over. Set this if your work could crash partway. Omit it to hold the claim for the full ttl, which guarantees nothing else can ever run the side effect. | |
| namespace | Yes | Isolation scope, e.g. your application name | |
| action_key | Yes | Stable identifier for the action being claimed | |
| payload_sha256 | No | Optional hash of the action payload. If it differs from the stored hash, the result is a conflict. | |
| namespace_token | No | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | Present alongside a newly issued namespace_token |
| result | No | The recorded result, present when status is 'duplicate'. |
| status | Yes | 'claimed' means you own the action and must perform it. 'duplicate' means someone already did: do NOT repeat the side effect, use `result` instead. |
| receipt | No | Payment receipt |
| namespace | No | Isolation scope |
| action_key | Yes | The key that was claimed |
| claimed_at | No | ISO-8601 claim time |
| expires_at | No | ISO-8601 expiry of the claim record |
| has_result | No | Distinguishes a recorded null result from no result at all |
| namespace_token | No | Issued only on the first claim in a namespace, shown exactly once |
| lease_expires_at | No | Call once_key_complete before this or the claim may be taken over |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as non-readonly, non-destructive, and idempotent, and the description consistently matches. It adds substantial behavioral context: atomicity, strongly consistent Durable Object backing, lease semantics, retry_after/expires_at behavior, cost, and the warning that this cannot be safely reimplemented locally.
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?
Every sentence carries operational weight: purpose, timing, return-state semantics, infrastructure guarantee, and cost. The most decision-relevant information is front-loaded, and the return-state explanation is compact despite covering five distinct outcomes.
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 is complete for the tool's complexity: it explains when to call it, what each possible result means, what to do next, why it is safe and consistent, and what it costs. With an output schema present, the description appropriately focuses on decision-making context rather than return-value 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 coverage is 100%, so the baseline is 3. The description adds valuable parameter-related meaning for payload_sha256 and lease_ttl by explaining that a different payload hash triggers a conflict and that 'in_progress'/'held' outcomes correspond to lease behavior. This goes beyond merely restating schema text.
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 verb and resource: it 'Claims a {namespace, action_key} pair exactly once' as an 'Atomic idempotency witness.' This clearly differentiates it from sibling tools by focusing on the claiming operation and explicitly references once_key_complete for follow-up, so an agent can identify what this tool does and how it differs from related 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?
It gives explicit timing guidance—'Call this BEFORE any non-idempotent action'—and tells the agent exactly what to do on each return state, including not doing work. It does not explicitly mention when to prefer once_key_release or list exclusion conditions, so it narrowly misses full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
once_key_completeRecord the outcome of a claimed actionAIdempotentInspect
Free. Records the result of work you performed under a claim from once_key_claim. Every later claim of that action_key returns 'duplicate' along with this result, which is what lets another agent continue without repeating the side effect. Always call this after the work succeeds — a claim with no recorded result leaves every other agent unable to learn what happened. Completion is final and cannot be overwritten. This tool is free; no payment is required.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | How long to retain the result, in seconds (default 86400) | |
| result | No | Any JSON value describing the outcome, up to 16 KB serialized. Store large payloads elsewhere and record a reference. | |
| namespace | Yes | Isolation scope used when the key was claimed | |
| action_key | Yes | The action_key you claimed | |
| namespace_token | No | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The stored result, replayed to later claimants. |
| status | Yes | 'completed' |
| action_key | Yes | The key whose outcome was recorded |
| expires_at | No | When the recorded result is discarded |
| has_result | No | Distinguishes a recorded null result from no result at all |
| completed_at | No | ISO-8601 completion time |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by disclosing that completion is final and cannot be overwritten, that later claims return 'duplicate' with the recorded result, and that recording is what allows another agent to continue. It also notes the tool is free. These are meaningful behavioral traits not captured by annotations alone.
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 front-loaded with the core purpose and immediate cost signal ('Free'), then explains consequences and finality. It is slightly redundant by stating 'Free' at the start and again at the end, but overall every sentence 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?
Given the output schema exists and parameter coverage is 100%, the description supplies all necessary behavioral context: when to call, what happens afterward, how it affects other agents, and finality. No critical operational detail 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 parameters are already well documented. The description adds only minimal reinforcement ('action_key you claimed', 'result' of the work) and does not need to compensate for missing parameter 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 gives a specific verb ('Records'), a clear resource ('the result of work you performed under a claim from once_key_claim'), and distinguishes it from the related once_key_claim tool by explaining the post-claim completion role. This is immediately clear and differentiated.
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 explicitly states when to call the tool: 'Always call this after the work succeeds.' It also explains the consequence of not calling it, which guides correct usage. It does not mention the alternative failure path via once_key_release, but the primary usage condition is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
once_key_releaseRelease a claim whose work failedAIdempotentInspect
Free. Surrenders a claimed action_key so a retry can start immediately instead of waiting out the lease. Call this when the work you claimed fails. Refuses if the key was already completed, because releasing it would discard the recorded result and allow the side effect to run twice. This tool is free; no payment is required.
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | Yes | Isolation scope used when the key was claimed | |
| action_key | Yes | The action_key to release | |
| namespace_token | No | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | 'released' |
| action_key | Yes | The key that was surrendered |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses a key refusal behavior: releasing an already completed key is refused because it would discard the recorded result and risk running the side effect twice. This goes beyond the annotations by explaining failure semantics and safety rationale. No contradiction with annotations.
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?
Mostly efficient and informative, but the free/no-payment point is stated twice ('Free.' and 'This tool is free; no payment is required.'), wasting a sentence. Otherwise tightly written 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?
For a moderate-complexity tool with full schema coverage and an output schema, the description covers what the tool does, when to call it, and the important refusal behavior. An agent has enough to invoke it correctly and avoid dangerous misuse.
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 parameters are already fully documented. The description adds little param-specific detail, but the baseline of 3 applies because the schema carries the load.
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?
States a specific verb ('surrenders'/'release') and resource ('claimed action_key'), with a clear effect: letting a retry start immediately. This distinguishes it from sibling claim/complete operations even though those tools aren't named.
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?
Explicitly says 'Call this when the work you claimed fails' and explains the benefit over waiting out the lease. It does not name an alternative tool for success cases, but the condition is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pdf_parseExtract text from a PDFARead-onlyIdempotentInspect
Extract text from a PDF by URL. Handles compressed streams, PDF 1.5+ object streams and ToUnicode CMaps, and reports encrypted or image-only documents honestly instead of returning garbage. Costs $0.01 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | HTTPS URL of the PDF | |
| max_pages | No | Optional page cap |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | The PDF that was fetched |
| pages | Yes | |
| page_count | Yes | Pages extracted |
| extracted_at | No | ISO-8601 extraction time |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnlyHint annotations by revealing important behavior: it handles compressed streams, PDF 1.5+ object streams, and ToUnicode CMaps, and honestly reports encrypted or image-only documents instead of returning garbage. It also discloses the cost and payment protocol, which is material side-effect information.
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 focused sentences: core function, technical robustness and honesty guarantees, and cost/payment. Every sentence earns its place, and the most important usage information is 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 a rich output schema, 100% parameter coverage, and annotations covering read-only/idempotent behavior, the description fills the remaining gaps: failure honesty, format support, and cost. An agent has everything needed to select and invoke 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 description coverage is 100%, with both url and max_pages already documented. The description adds no additional parameter-level meaning beyond 'by URL,' so the baseline of 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 opens with a specific verb and resource: 'Extract text from a PDF by URL.' It clearly defines what the tool does and is immediately distinguishable from siblings like scrape or compress.
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 clear context for when to use the tool: whenever text extraction from a PDF at a URL is needed. It does not explicitly name alternatives or exclusions, but the purpose is specific enough that an agent can route to it confidently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrapeFetch a page as text or markdownARead-onlyIdempotentInspect
Fetch a URL and return readable text or markdown, optionally narrowed by CSS selector. Requests to private, loopback and link-local addresses are refused, and every redirect hop is re-validated. Costs $0.005 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | HTTPS URL to fetch | |
| format | No | Output format (default text) | |
| selector | No | Optional CSS selector to extract just part of the page |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | The page that was fetched |
| title | No | Document title, when the page has one |
| format | No | 'text', 'markdown' or 'html', echoing your request |
| content | Yes | Extracted content in the requested format |
| extracted_at | No | ISO-8601 fetch time |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld/idempotent hints, the description discloses concrete behavioral constraints: SSRF-style address refusals, per-hop redirect re-validation, and a specific monetary cost via x402. This materially helps an agent predict side effects and prerequisites.
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 sentences, both purposeful: the first states the operation and options, the second adds security and cost constraints. Every sentence earns its place and no filler exists.
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?
Given the annotations, output schema, and full parameter documentation, the description covers the remaining operational essentials: what it fetches, how to narrow, security restrictions, redirect behavior, and cost. No critical invocation detail is missing.
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 url, format, and selector. The description adds only interpretive flavor ('readable text', 'optionally narrowed by selector') without providing substantive new parameter meaning.
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 ('Fetch') with a resource ('a URL') and states the output ('readable text or markdown'), making the core function unambiguous. It inherently differentiates from siblings like pdf_parse by resource type.
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 makes the general usage context clear and states that private, loopback, and link-local URLs are refused, which is an explicit when-not condition. It does not name alternative tools or scenarios where a sibling would be preferred, so the guidance falls short of explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_deleteDelete a stored secretADestructiveIdempotentInspect
Permanently delete an item. Requires the namespace_token. Costs $0.005 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Item key | |
| namespace | Yes | Isolation scope | |
| namespace_token | Yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | The key that was removed |
| status | Yes | 'deleted' |
| namespace | No | Isolation scope |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the annotations: the operation is permanent, requires a one-time namespace_token, and costs $0.005 USDC on Base via x402. This aligns with the destructiveHint=true annotation without contradicting it. The irreversibility warning is genuinely useful for an agent, though the description could have expanded on the payment failure behavior.
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 concise, information-dense sentences. The permanent, destructive nature is front-loaded, followed by the required token and cost. Every word contributes value and there is no redundancy.
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?
Given the destructive annotation, idempotent hint, and 100% schema coverage, the description covers the essential operational details: irreversibility, required token, and cost. A small gap is the lack of detail about the x402 payment flow or failure consequences, but the current information is sufficient for an agent to invoke 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%, so the schema fully documents all three parameters. The description does not add additional semantic detail beyond what the schema provides, so the baseline score of 3 is appropriate.
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 clear verb and resource: 'Permanently delete an item.' The title clarifies it deletes a stored secret, which distinguishes it from sibling tools like vault_retrieve and vault_list. However, it doesn't explicitly name the sibling it is not, so it relies on the delete semantics for 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 identifies a key prerequisite ('Requires the namespace_token') and a practical cost consideration, both useful for deciding whether to invoke. It doesn't explicitly state when not to use it or name alternatives, but the destructive nature and token requirement provide clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_existsTest whether a key existsARead-onlyIdempotentInspect
Check for a key without returning its ciphertext. Requires the namespace_token. Costs $0.001 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Item key | |
| namespace | Yes | Isolation scope | |
| namespace_token | Yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | The key that was checked |
| exists | Yes | Whether the key is present. Cheaper than a retrieve. |
| namespace | No | Isolation scope |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, but the description adds valuable behavioral context: it costs $0.001 in USDC via x402 and requires the namespace_token. It also explicitly states that ciphertext is not returned, which is a meaningful behavioral guarantee beyond the annotations.
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 sentences with no filler. The core behavior is front-loaded, followed by the auth requirement and cost. Every clause 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 simple existence-check tool, the description covers the essential context: what it does, what it avoids returning, the required token, and the cost. The output schema covers return values, and annotations cover read-only/idempotent behavior. Nothing important is missing.
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 fully documents all three parameters. The description only reiterates that namespace_token is required, which adds no new semantic meaning beyond what the schema provides. Baseline 3 is appropriate.
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 verb ('Check for a key') and resource, and clarifies that it does not return ciphertext, which sharply distinguishes it from vault_retrieve and vault_list. The title 'Test whether a key exists' reinforces the exact purpose.
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: when you need to verify a key's existence without retrieving its ciphertext. It also notes the namespace_token requirement. It does not explicitly name alternative tools or state when not to use it, so it falls just 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.
vault_listList the keys in a vault namespaceARead-onlyIdempotentInspect
List the keys held in a namespace with their metadata: alg, size, timestamps. Never returns ciphertext — use vault_retrieve for that. Each item's updated_at is the version to pass back as if_match on a conditional store. Use this when you have stored secrets and need to know what is there. Costs $0.001 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | Yes | Isolation scope | |
| namespace_token | Yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of entries |
| items | Yes | Metadata only — ciphertext is never included here |
| status | Yes | 'listed' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, and openWorldHint false; the description adds meaningfully beyond that: it never returns ciphertext, updated_at is the version to pass as if_match on conditional stores, and the call costs $0.001 USDC on Base via x402. There is no contradiction with the annotations.
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?
Every sentence earns its place: primary behavior first, then the ciphertext restriction and alternative, then the if_match version detail, then usage context and cost. It is tight, front-loaded, and free of redundant 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?
The input schema covers both required parameters, the output schema covers the return shape, annotations cover safety and idempotency, and the description covers purpose, alternatives, cost, and version semantics. Nothing an agent needs to invoke this tool correctly is missing.
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 namespace and namespace_token are already documented. The description does not add material parameter-level meaning beyond the schema; it references namespace in context but adds no new syntax, format, or parameter-specific guidance.
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 the exact resource (keys in a vault namespace) and the action (list), and adds that it returns metadata only, never ciphertext. It explicitly contrasts itself with vault_retrieve, so an agent can distinguish it from sibling tools immediately.
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 usage trigger ('Use this when you have stored secrets and need to know what is there') and an explicit alternative ('use vault_retrieve for that' when ciphertext is needed). This gives an agent enough direction to choose correctly without opening other tool definitions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_retrieveRetrieve an encrypted secretARead-onlyIdempotentInspect
Retrieve a previously stored ciphertext. Requires the namespace_token. Costs $0.02 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Item key | |
| namespace | Yes | Isolation scope | |
| namespace_token | Yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| alg | No | Algorithm label you supplied at store time |
| key | Yes | The key that was read |
| status | Yes | 'retrieved' |
| receipt | No | Payment receipt |
| namespace | No | Isolation scope |
| ciphertext | Yes | Exactly the bytes you stored. Decrypt these yourself. |
| created_at | No | ISO-8601 creation time |
| expires_at | No | Expiry, or null if it never expires |
| updated_at | No | ISO-8601 last write |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds valuable behavioral context beyond the annotations by disclosing the $0.02 USDC cost on Base via x402 and the namespace_token requirement. No contradiction with annotations exists.
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 two sentences with no filler. It front-loads the core purpose and then provides the two most important operational details: the token requirement and the cost. Every sentence 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?
Given the full parameter schema, output schema, and annotations, the description covers the missing context: cost, payment protocol, network, and token prerequisite. Nothing critical is absent for an agent to correctly invoke the tool.
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%, and all three parameters have clear descriptions in the input schema. The description only briefly mentions namespace_token as required, which adds little beyond the schema. Baseline 3 is appropriate because the schema carries the parameter documentation burden.
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+resource pair, 'Retrieve a previously stored ciphertext,' which clearly states the tool's function. It is distinguishable from sibling tools like vault_store, vault_delete, and vault_list even without explicitly naming alternatives.
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 clearly signals when to use this tool: to retrieve a previously stored ciphertext. It also provides an important prerequisite, 'Requires the namespace_token,' which helps the agent understand the call context. However, it does not explicitly contrast with sibling tools or state when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_rotate_tokenRotate a vault namespace tokenADestructiveInspect
Free. Mints a new namespace_token and immediately invalidates the current one, which you must present to authorize the rotation. Do this whenever the token may have been exposed — a leaked token is otherwise permanent, unrevocable read and delete access to every secret in the namespace. There is no recovery if you lose the token. This tool is free; no payment is required.
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | Yes | Isolation scope | |
| namespace_token | Yes | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | No | Human-readable warning that the old token is now invalid |
| status | Yes | 'rotated' |
| namespace_token | Yes | The new token, shown exactly once. The previous one stops working. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark the operation as destructive and non-read-only, and the description goes further by disclosing immediate invalidation, irreversibility, the need to present the current token, and permanent unrevocable access if leaked. This adds significant behavioral context beyond the annotations.
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 front-loaded with the core behavior and risk in compact sentences. It is slightly padded by repeating 'free' at the start and again at the end, but the overall structure is efficient.
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 both parameters fully documented in the schema and an output schema present, the description covers everything needed to decide and invoke correctly: trigger conditions, required authorization, consequences, and irreversibility.
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 baseline is 3. The description adds value by clarifying that the namespace_token must be the current token and that rotation produces a new one, disambiguating the schema's 'first call' phrasing.
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 action—'Mints a new namespace_token and immediately invalidates the current one'—on a specific resource. It is unambiguous and clearly distinct from sibling tools like vault_delete or once_key_claim.
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 explicitly says when to use the tool ('whenever the token may have been exposed') and explains the stakes if you don't. It does not mention alternatives or explicitly state when not to use, preventing a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_storeStore an encrypted secretADestructiveIdempotentInspect
Store client-side encrypted data. This service holds no key that could decrypt it and never sees plaintext; note that the item key, namespace, alg label and size ARE stored in the clear. The first store claims the namespace and returns a namespace_token shown only once — store it immediately, because it is required by every later call and cannot be recovered. Pass if_match with an item's updated_at for a compare-and-swap write, or if_absent to create only; either returns status 'precondition_failed' rather than silently clobbering a concurrent write. Costs $0.02 in USDC on Base, paid via the x402 protocol.
| Name | Required | Description | Default |
|---|---|---|---|
| alg | No | Algorithm label recorded alongside the item (default aes-256-gcm) | |
| key | Yes | Item key | |
| ttl | No | Item lifetime in seconds | |
| if_match | No | Only write if the item's current updated_at equals this. Use it whenever you are updating a value you read earlier, or a concurrent writer's change is lost silently. | |
| if_absent | No | Only write if the key does not already exist. Fails with status 'precondition_failed' if it does. | |
| namespace | Yes | Isolation scope | |
| ciphertext | Yes | Encrypt before sending. Plaintext here would be a mistake. | |
| namespace_token | No | One-time token issued by the first call that claimed this namespace. Required for every later call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| alg | No | Algorithm label you supplied; the service never decrypts |
| key | Yes | The key that was written |
| status | Yes | 'stored' |
| receipt | No | Payment receipt |
| namespace | No | Isolation scope |
| created_at | No | ISO-8601 creation time |
| expires_at | No | Expiry, or null if it never expires |
| size_bytes | No | Stored ciphertext size |
| updated_at | No | ISO-8601 last write |
| namespace_token | No | Issued only on the first store into a namespace, shown exactly once |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with annotations indicating mutation and destructiveness, the description adds substantial non-obvious behavioral context: the service never sees plaintext, but stores key/namespace/alg/size in the clear; the namespace_token is shown only once and cannot be recovered; concurrent writes return 'precondition_failed' instead of silently overwriting; and each call costs $0.02 via x402. There is no contradiction with the annotations.
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 every sentence carries essential operational or security information. It front-loads the core purpose and privacy caveat, then covers token handling, concurrency guards, and cost. There is no fluff or restatement of the title.
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 8 parameters, concurrency controls, a one-time token, security caveats, and payment requirements, the description covers all critical invocation facts. The output schema exists, so missing return-value details are acceptable. Nothing important for correct use is left unexplained.
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?
Input schema covers all 8 parameters at 100%, so the baseline is 3. The description adds meaningful value by explaining the namespace_token lifecycle, compare-and-swap semantics, and the client-side encryption requirement. Some details are redundant with schema descriptions, so a 4 rather than 5.
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 opens with a specific verb and resource: 'Store client-side encrypted data.' It clearly distinguishes this from sibling operations like vault_retrieve, vault_list, and vault_delete. The title reinforces the core action, leaving no ambiguity about what the tool does.
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 concrete usage guidance: the first store claims the namespace and returns a one-time namespace_token that must be saved, and it explains when to use if_match versus if_absent to avoid clobbering concurrent writes. It does not explicitly name alternative sibling tools or provide when-not-to-use guidance, which prevents a 5.
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.
16 tool updates
- First observed
compress - First observed
meetings_get - First observed
meetings_import - First observed
meetings_list - First observed
meetings_search - First observed
once_key_claim - First observed
once_key_complete - First observed
once_key_release - First observed
pdf_parse - First observed
scrape - First observed
vault_delete - First observed
vault_exists - First observed
vault_list - First observed
vault_retrieve - First observed
vault_rotate_token - First observed
vault_store
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
63 pay-per-call tools for agents: vision, text, data, web, blockchain. USDC on Base via x402.
Pay-per-call data APIs for AI agents. USDC on Base via x402. 33 tools, no signup.
x402 toolkit for AI agents: paid web, AI, and Base chain tools per call in USDC. Free tools too.
Market data and web intelligence for AI agents, paid per call in USDC on Base via x402.
Related MCP Servers
- FlicenseAqualityCmaintenancePay-per-call tools for AI agents including trust checks, due diligence, market data, and human-verified approvals, settled in USDC on Base via the x402 protocol.16-
- AlicenseAqualityCmaintenanceProvides AI agents with 10 pay-per-call utility tools (QR generation, DNS lookup, OCR, etc.) using USDC on Base via the x402 protocol, with agent's private key never leaving the agent.1167MIT
- AlicenseBqualityAmaintenancePay-per-call AI agent APIs on Base via x402. Multiple tools across patents, law, AI, geo, weather, crypto, and more. Always growing.2018MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to directly access SEO/SERP data, SMS verification, and social marketing tools, with per-call payment via x402 (USDC on Base).MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool maps to a distinct resource and action: meetings have import/list/search/get, the once-key system has claim/complete/release, vault has store/retrieve/exists/list/delete/rotate_token, and compress/pdf_parse/scrape are separate utilities. No two tools appear to perform the same side effect, so an agent should not struggle to choose among them.
Tools use consistent snake_case and mostly follow a domain_verb pattern (meetings_*, once_key_*, vault_*), with standalone verbs like compress, scrape, and pdf_parse for single utilities. The naming is predictable and easy to extend.
At 16 tools the server is just above the ideal 3-15 range, but the count is justified by six distinct capability clusters. Each tool earns its place, and nothing feels redundant.
Core lifecycles are covered well: vault has full CRUD plus token rotation, once-key has claim/complete/release, and meetings provide import/search/get/list. Minor gaps include no meeting update/delete and no direct namespace management, but these are workable rather than blocking.