Skip to main content
Glama

Agentic Endpoints

Server Details

Pay-per-call tools for autonomous agents, settled in USDC on Base via x402.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 24 tools

Disambiguation4/5

Most tools target clearly distinct resources or operations, aided by domain prefixes like meetings_, vault_, reach_, and once_key_. The main overlap is meetings_search versus meetings_summarize, though their descriptions explicitly guide when to use excerpts versus a written answer. Similarly, reach and reach_report differ mainly in scope and are adequately distinguished.

Naming Consistency4/5

Tool names are consistently snake_case and mostly follow a predictable resource_action pattern within families such as meetings_get, vault_store, and once_key_claim. Minor deviations exist for standalone tools like compress, scrape, and reach, but the set remains readable and coherent.

Tool Count3/5

At 24 tools, the server is on the heavy side for a single MCP surface. The tools are grouped into several coherent domains, but the overall count is high enough that discovery and selection may become cluttered for an agent.

Completeness4/5

Core lifecycles are mostly covered: vault has store/retrieve/list/exists/delete/rotate, once_key has claim/complete/release, and meetings support import/list/get/search/summarize. Minor gaps include no obvious meeting delete/update tool and no MCP tool for buying credits, though the latter is referenced as an external endpoint.

Available Tools

24 tools
compressCompress text to a token budgetA
Read-onlyIdempotent
Inspect

Reduce text to fit a token budget, preserving whole sentences and reporting before/after token estimates. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to compress
strategyNoCompression strategy (default extractive)
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
target_tokensNoApproximate token budget

Output Schema

ParametersJSON Schema
NameRequiredDescription
textYesThe compressed text
ratioYescompressed_length / original_length. Lower is more aggressive.
strategyNoStrategy applied, echoing your request
original_lengthYesInput length in characters
compressed_lengthYesOutput length in characters

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses a behavior not present in annotations: the call costs $0.010 paid via x402 or a credit token, plus it promises whole-sentence preservation and before/after token estimates. These are meaningful runtime traits beyond the readOnly/idempotent hints, and 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler: the first states the operation and its guarantee, the second states cost and payment alternatives. The most important information is front-loaded and every clause supports an invocation decision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full parameter documentation in the schema, the description needs only to add what schemas don't show: cost, payment route, and the credits_trial fallback. It covers those; a small gap is that it doesn't mention the strategy default, but that is already in the input schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 text, strategy, credit_token, and target_tokens. The description adds only high-level context (whole-sentence preservation, cost) rather than new parameter-level detail, matching the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb and object ('Reduce text') and defines a precise goal: fit a token budget while preserving whole sentences and reporting before/after estimates. This clearly separates it from siblings like meetings_summarize and names the resource it acts on.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It supplies important context for when to use the tool (when text must fit a token budget) and directly handles the payment prerequisite by pointing to credits_trial. It does not explicitly exclude alternatives or tell an agent when not to use compress, so the guidance remains implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

credits_balanceCheck how much credit a token has leftA
Read-onlyIdempotent
Inspect

Free. Reports the remaining balance on a credit token so you can tell 'out of credit' apart from 'the call failed', which otherwise look identical from the outside. This tool is free; no payment is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
credit_tokenYesThe credit token to check

Output Schema

ParametersJSON Schema
NameRequiredDescription
currencyNoAlways 'USD'
balance_usdYesCredit remaining, in dollars
balance_microsNoCredit remaining in integer micro-dollars, the authoritative figure

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, and the description does not contradict them. It adds useful behavioral context that the tool is free and intended as a diagnostic check, which goes beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, but the word 'free' appears twice: once in the opening sentence and again in the final sentence. This redundancy means not every sentence earns its place, though the overall length is still appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single parameter, full schema coverage, existing output schema, and annotations covering safety traits, the description is complete. It includes the key diagnostic purpose and cost information an agent needs to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 the credit_token parameter. The description adds no additional parameter-level meaning beyond calling it a credit token, which aligns with the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it reports the remaining balance on a credit token, using a specific verb and resource. It does not explicitly differentiate itself from sibling tools like credits_trial, so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear use case: distinguishing 'out of credit' from 'the call failed'. It does not mention when not to use the tool or name alternatives, but the diagnostic purpose 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.

credits_trialGet free credit to try the paid toolsA
Idempotent
Inspect

Free, and the first tool to call if any other tool has told you payment is required. Returns a credit_token carrying $0.10 of credit — roughly ten calls at the standard price — with no wallet, no signature, no account and no email. Pass the returned token as the credit_token argument to any paid tool and it will run without an x402 payment. One allowance per caller: asking again returns the same token and whatever balance is left on it, never a refill. When it runs out, buy more with the /credits/buy endpoint. This tool is free; no payment is required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
nextNoWhat to do when it runs out
noteNoWhy a second request returns the same token rather than more credit
trialYesAlways true; distinguishes this from purchased credit
usageNoHow to spend the token
exhaustedYesTrue when the allowance is spent. Asking again will not refill it, so buy credit or pay per call.
balance_usdYesCredit remaining, in dollars
granted_usdNoSize of the one-off allowance
credit_tokenYesThe token to pass as `credit_token` to any paid tool. Shown here and derivable again from the same caller, but not recoverable from us.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations say readOnlyHint=false but idempotentHint=true and destructiveHint=false, which aligns with 'one allowance per caller' returning the same token without side effects. The description adds high-value context beyond annotations: no wallet, signature, account, or email required; no x402 payment; the exact value and approximate call count; and the non-refill behavior. It clarifies the stateful allowance semantics and downstream token use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the core value (free, first tool to call), then covers return value, usage, limits, and alternatives in four compact sentences. Every sentence adds unique information without repetition or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-param, free tool with an output schema, the description covers purpose, usage, return value semantics (token and value), limitations (one allowance, no refill), and the alternative purchase path. It is complete enough for an agent to invoke and use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so baseline is 4. The description explains how to use the returned credit_token as an argument to paid tools, which is useful integration guidance beyond the empty schema. No parameter syntax is needed, but it could mention whether the token is passed as a string or object if relevant.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 grants free credit and returns a credit_token worth $0.10. It also distinguishes itself from siblings by naming itself as the first tool to call when another tool reports payment required, and explicitly contrasts with /credits/buy as the refill path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use guidance: call this first if any tool says payment is required. It also states when not to expect more: one allowance per caller, asking again returns the same token, and refills come from /credits/buy. This is precise routing.

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 fullA
Read-onlyIdempotent
Inspect

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.005 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceYesIsolation scope holding your meetings
meeting_idYesReturned by meetings_import or meetings_search
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
namespace_tokenYesOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleNoMeeting title
statusYes'ok' on success
ciphertextNoClient-encrypted transcript, for private meetings
meeting_idYesIdentifier of the meeting
transcriptNoPlaintext transcript, for queryable meetings
visibilityNo'queryable' or 'private'

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly, idempotent), the description discloses the conditional transcript inclusion ('when it was imported as queryable'), the meaning of 'content_missing' as a broken record rather than an empty meeting, and the concrete $0.005 cost with x402/credit token alternatives. These are exactly the behavioral details an agent needs that the schema cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each doing distinct work: scope, usage ordering, error interpretation, and payment. It is front-loaded with the primary purpose and contains no filler or repeated schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-record read tool, the description covers when to call it, what is included, how to interpret a problematic response, and how the call is paid. The presence of an output schema means return-value detail is not needed in the description, and annotations cover safety and idempotency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with every parameter already explained, including the meaning of meeting_id and credit_token. The description adds no new parameter-level syntax or constraints, so per the baseline rule it scores 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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: 'Fetch a single meeting by meeting_id, including its full transcript.' The phrase 'after meetings_search has identified the meeting you want' distinguishes it from the search sibling, and the title reinforces the one-record scope. This is unambiguous and immediately telegraphs the tool's niche.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Use this after meetings_search has identified the meeting you want,' giving a clear when-to-use directive. It also covers the payment fallback path via credits_trial. However, it does not explicitly contrast with meetings_list or state when not to use it, so it earns a 4 rather than a 5.

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. Accepts a raw WebVTT or SRT export straight from Zoom, Teams, Meet or a notetaker -- you do NOT need to strip timestamps or parse it first, and cues split across timing boundaries are merged so phrases still match. 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.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoHuman-readable meeting title
sourceNoOptional hint about the export format. Ignored if it disagrees with the file: WebVTT and SRT are detected from the content itself, unpacked into speaker-attributed text, and any speakers found are added to participants. Plain text is stored verbatim.
namespaceYesIsolation scope, e.g. my-meetings-<uuid>
ciphertextNoClient-side encrypted transcript. Only valid with visibility 'private'.
transcriptNoPlaintext transcript. Only valid with visibility 'queryable'.
visibilityNo'queryable' (plaintext, searchable, readable by this service) or 'private' (ciphertext, never searchable). Defaults to private.
occurred_atNoISO-8601 time the meeting happened
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
participantsNoOptional attendees
namespace_tokenNoOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNoPresent alongside a newly issued namespace_token
statusYes'imported' on success
meeting_idYesIdentifier for later meetings_get calls
searchableNoFalse for private meetings, which are never searchable
size_bytesNoStored size
visibilityNo'queryable' or 'private'
namespace_tokenNoIssued only on the first import into a namespace, shown exactly once

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations, which only say the operation is not read-only, not open-world, not idempotent, and not destructive. It discloses concrete behavioral consequences: the first import creates a namespace_token shown exactly once, losing it makes the namespace unrecoverable, the call costs $0.010, private imports are never searchable, and mismatched transcript/visibility pairs are refused. This is rich, honest behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence earns its place: purpose, input format flexibility, privacy/searchability trade-offs, one-time token handling, and cost/payment. It is front-loaded with the core purpose and then builds outward into operational details. There is no filler or redundant restating of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description covers almost everything an agent needs: raw format handling, cue merging, visibility semantics, namespace token persistence, and payment. An output schema exists, so detailed return values do not need to be explained. The only notable gap is the inconsistency between the description's claim that visibility is required and the schema's optional default, which leaves room for agent misinterpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is already solid. The description adds valuable cross-parameter semantics: transcript is paired with 'queryable', ciphertext with 'private', namespace_token is required for later calls, and credit_token is an alternative payment path. However, it creates some confusion by calling visibility a 'required decision that cannot be guessed' while the schema lists it as optional with a default of 'private'. This tension prevents a top score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description immediately states a specific action and resource: 'Store a transcript so it can be searched later.' It also explains that raw WebVTT/SRT inputs are accepted directly, which clearly distinguishes this ingestion tool from sibling tools like meetings_get, meetings_search, and meetings_summarize. It is not a tautology and meaningfully expands on the title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong contextual guidance: it says when to use the tool (raw transcript from Zoom/Teams/Meet/notetaker), removes a common preprocessing burden, and even routes users without credit to credits_trial. However, it does not explicitly state when to prefer this tool over related siblings like vault_store or compress, so it stops short of full when-not/alternatives guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

meetings_listList your meetingsA
Read-onlyIdempotent
Inspect

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.005 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results, 1-500 (default 100)
namespaceYesIsolation scope holding your meetings
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
namespace_tokenYesOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYesNumber of meetings returned
statusYes'ok' on success
meetingsYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description substantially extends the annotations: it reveals the newest-first ordering, the transcript-exclusion behavior, the ability to list private meetings, and the exact cost/payment paths including the credits_trial fallback. None of this contradicts the readOnly, idempotent, or openWorld annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: core behavior, key limitation, usage context, and payment instructions. The description is front-loaded with the action and result shape, and it is not padded with redundant restatements of the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and full parameter documentation, the description is complete enough for an agent to select and invoke the tool correctly. It covers ordering, visibility scope, the transcript limitation, cost, payment options, and how to get free credit, leaving no critical operational gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter already documented meaningfully. The description adds no extra parameter-level semantics, so the baseline of 3 applies rather than requiring compensation for missing schema detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('List'), a resource ('meetings in a namespace'), and the exact fields returned: titles, dates, participants, and searchable status. It also differentiates itself from meetings_search by stating it can surface private meetings that search cannot see.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear use cases: orienting before a search and finding private meetings invisible to meetings_search. It also states that transcripts are never returned, which is a useful exclusion, though it does not explicitly name meetings_get as the alternative for transcript retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

meetings_summarizeAnswer a question from your meetingsA
Read-onlyIdempotent
Inspect

Ask a plain-language question and get a written answer grounded in the user's own meeting transcripts, with the meeting id cited after each claim. Prefer this over meetings_search when the user wants an ANSWER ('what did we decide about pricing?', 'who owned the migration?') rather than a list of excerpts to read themselves. Pass the question as the user asked it -- this is NOT FTS5 syntax, and the terms actually searched come back as terms so you can check the retrieval. IMPORTANT: a 'no_matches' status means no answer was generated, and 'searched_meetings': 0 means every meeting is private and NOTHING was read -- neither is evidence the topic was never discussed, and you must not report it as such. Meetings imported as private are encrypted and can never contribute to an answer; private_meetings_skipped says how many were left out. A 'truncated' meeting in consulted had only part of its transcript read, so its silence on a point is not evidence either. Costs $0.050 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax meetings to consult, 1-8 (default 5)
questionYesThe question in plain language, as the user asked it. Not a search expression.
namespaceYesIsolation scope holding your meetings
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
namespace_tokenYesOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
modelNoThe model that produced the answer
termsNoThe search terms derived from the question
answerNoThe grounded answer with [meeting_id] citations, or null when nothing was summarised.
statusYes'ok' when an answer was generated. 'no_matches', 'unusable_question' and 'content_missing' all mean NO answer was produced and must not be read as the topic being absent.
questionNoThe question as asked
consultedNoThe meetings the answer was actually built from
ai_generatedNoTrue: `answer` was written by an AI model
searched_meetingsNoQueryable meetings available to search. 0 means nothing was read.
private_meetings_skippedNoEncrypted meetings that could not contribute to the answer

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, and the description adds substantial behavioral context beyond them: no_matches means no answer was generated, zero searched_meetings means everything private and nothing read, private meetings are encrypted and skipped, truncated meetings cannot serve as evidence, and the cost/payment model. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but every sentence earns its place: purpose, usage rule, anti-pattern warning, failure semantics, privacy caveat, truncation caveat, and cost. It is front-loaded with the core action and differentiator, then layers critical operational warnings that directly affect how an agent should interpret results.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description need not explain return structure, and it instead covers the non-obvious semantics an agent needs to reason correctly: what no_matches and searched_meetings:0 really mean, the limitation of private and truncated meetings, and the payment path. Nothing needed for correct invocation or interpretation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: it clarifies that question is plain language, not a search syntax, that the terms actually searched come back for verification, and that credit_token can pay from a balance obtained via credits_trial or /credits/buy. This supplements structure without repeating it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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: ask a plain-language question and get a written answer grounded in meeting transcripts with cited meeting ids. It explicitly differentiates from meetings_search by describing the exact user intent that selects this tool, so an agent can distinguish it without opening the sibling schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use guidance: prefer meetings_summarize over meetings_search when the user wants an answer rather than a list of excerpts to read. It also instructs to pass the question exactly as the user asked it and explicitly warns that this is not FTS5 syntax, which prevents a common misuse.

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 onceA
Idempotent
Inspect

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.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoClaim lifetime in seconds (default 86400)
lease_ttlNoSeconds 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.
namespaceYesIsolation scope, e.g. your application name
action_keyYesStable identifier for the action being claimed
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
payload_sha256NoOptional hash of the action payload. If it differs from the stored hash, the result is a conflict.
namespace_tokenNoOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNoPresent alongside a newly issued namespace_token
resultNoThe recorded result, present when status is 'duplicate'.
statusYes'claimed' means you own the action and must perform it. 'duplicate' means someone already did: do NOT repeat the side effect, use `result` instead.
receiptNoPayment receipt
namespaceNoIsolation scope
action_keyYesThe key that was claimed
claimed_atNoISO-8601 claim time
expires_atNoISO-8601 expiry of the claim record
has_resultNoDistinguishes a recorded null result from no result at all
namespace_tokenNoIssued only on the first claim in a namespace, shown exactly once
lease_expires_atNoCall once_key_complete before this or the claim may be taken over

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide basic flags (readOnlyHint: false, idempotentHint: true). The description goes far beyond that by explaining the underlying consistency (strongly consistent Durable Object), cost details ($0.010 USDC), payment methods (x402 or credit token), lease semantics (lease_ttl vs ttl, abandonment, takeover), and the meaning of 'held' (key stays locked until expires_at). It also clarifies that 'conflict' indicates a key derivation error. None of these are in the annotations, and there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every clause earns its place. It opens with the core purpose, then the invocation timing, then the return-value contract, then cost/payment. The information is dense yet logically ordered, with no fluff. For a tool with five distinct outcomes and a payment model, this level of detail is necessary and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 params, 5 return states, payment integration), the description is remarkably complete. It covers all return values, retry behavior, lease expiration, cost, payment fallback, and the recommendation to use credits_trial. It even notes what not to do in each scenario. An agent has everything needed to invoke this correctly without further investigation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents all 7 parameters with 100% coverage, so the baseline is 3. The description adds value by explaining the relationship between lease_ttl and ttl, the consequence of omitting lease_ttl (hold for full ttl), the requirement of namespace_token for later calls, and the conflict semantics tied to payload_sha256. It doesn't restate each parameter's schema description but gives usage-oriented context that helps an agent choose and set them correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('claims'), a concrete resource ('{namespace, action_key} pair'), and the exact purpose: to ensure a side effect is performed exactly once across a fleet of agents. It distinguishes itself from siblings like once_key_complete and once_key_release by clarifying that this is the entry point before any non-idempotent action. The primary behavior is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'Call this BEFORE any non-idempotent action' and lists concrete examples (email, charge card, post order). It then enumerates the five possible return values and the precise action an agent should take for each (e.g., wait retry_after seconds, use the result, do not do the work). It also mentions the fallback to credits_trial for free credit and warns against reimplementation. This leaves no ambiguity about when and how to use it.

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 actionA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoHow long to retain the result, in seconds (default 86400)
resultNoAny JSON value describing the outcome, up to 16 KB serialized. Store large payloads elsewhere and record a reference.
namespaceYesIsolation scope used when the key was claimed
action_keyYesThe action_key you claimed
namespace_tokenNoOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultNoThe stored result, replayed to later claimants.
statusYes'completed'
action_keyYesThe key whose outcome was recorded
expires_atNoWhen the recorded result is discarded
has_resultNoDistinguishes a recorded null result from no result at all
completed_atNoISO-8601 completion time

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 failedA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceYesIsolation scope used when the key was claimed
action_keyYesThe action_key to release
namespace_tokenNoOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes'released'
action_keyYesThe key that was surrendered

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 PDFA
Read-onlyIdempotent
Inspect

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.020 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesHTTPS URL of the PDF
max_pagesNoOptional page cap
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe PDF that was fetched
pagesYes
page_countYesPages extracted
extracted_atNoISO-8601 extraction time

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only, idempotent, and open-world. The description adds valuable behavioral disclosures beyond that: how it handles compressed streams, PDF 1.5+ object streams, ToUnicode CMaps, and that it returns honest diagnostics for encrypted or image-only PDFs instead of garbage. It also surfaces the cost and payment flow, which materially affects invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The first sentence states the core action; the second packs meaningful capability, failure behavior, and payment details. Every sentence earns its place 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.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only extraction tool with a full output schema, the description covers what the tool does, what PDF complexities it handles, how it behaves on problematic inputs, and how to pay. The only implicit requirement, that the URL be HTTPS, is already specified in the schema. Nothing needed for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 a little color around the credit_token payment flow and 'by URL' framing, but it does not significantly extend parameter 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.

Purpose5/5

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 identifies the tool's core function and distinguishes it from sibling tools like scrape or meetings_* by being PDF-specific and text-extraction-focused.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes clear when the tool applies (PDFs by URL) and provides practical context about payment methods and the credits_trial alternative. It does not explicitly name excluded cases or alternative tools, but the purpose is specific enough that the usage context is evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reachCheck whether agents can reach a URLA
Read-onlyIdempotent
Inspect

Send one GET to a URL as each of nine common clients (curl, node, Python urllib, Python requests, libwww-perl, a Chrome browser, GPTBot, ClaudeBot, Googlebot) and report which are refused and why, such as a Cloudflare 1010 block on Python's urllib. Also reports robots.txt blocks on AI crawlers, whether /llms.txt exists, and whether the http-to-https redirect keeps POST bodies. Use before relying on a site or API from code, or to check your own. Read-only; private addresses are refused. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic HTTP(S) URL to check
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNoThe URL that was scanned
statusYes'ok' when the scan ran
clientsYesOne row per client identity
summaryNoOne sentence stating the result
verdictYes'pass' (every client reached), 'shadowed' (some refused while others reached: the fixable finding), 'refused' (all refused) or 'unreachable'
llms_txtNoWhether /llms.txt is a real text file
robots_txtNorobots.txt status and the AI crawlers it shuts out of the whole site
scanned_atNoISO-8601 time of the scan
http_redirectNoHow http:// redirects to https://, and whether POST survives it
measured_fromNoWhere the scan ran, and what that means for the results

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint/idempotentHint annotations by disclosing that private addresses are refused, that AI-crawler robots.txt behavior and /llms.txt presence are probed, and that POST-body preservation across http-to-https redirects is tested. It also states the exact cost ($0.010 USDC on Base), the payment mechanism (x402 or credit token), and the free-credit fallback.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and client list are front-loaded in the first sentence, with secondary behaviors and payment details following. The nine-client parenthetical is long but each entry is informative rather than filler; overall it earns most of its length for a tool with this many facets.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A read-only tool with an output schema and full annotation coverage needs no return-value documentation, and the description still explains what categories of findings appear and what it will not do (private addresses). Authentication/payment prerequisites are fully covered, so an agent has everything required to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains both url and credit_token, including the token's origin and purpose. The description only adds the pricing context around credit_token and the private-address restriction on url, which is useful but marginal against a fully documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action (send one GET as each of nine named clients) and the exact resource (a URL), plus the concrete outputs it reports (refusals, robots.txt AI-crawler blocks, /llms.txt, POST-body redirect behavior). It does not, however, distinguish itself from siblings like reach_report, reach_report_rescan, or reach_report_status, so an agent must infer the difference between a one-off check and a persistent report.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use before relying on a site or API from code, or to check your own" gives explicit context for when to call it, and the closing sentence routes to credits_trial when the caller lacks payment. No exclusion criteria or direct sibling comparison (e.g., when to prefer reach_report for ongoing monitoring) is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reach_reportFull reachability report for a site ($69)AInspect

Order a full reachability report for one site: up to 20 pages, each checked from nine common clients. Returns a report_id and report_url at once; the pages are scanned in the background, about ten seconds each. The finished report gives the likely cause of every refusal with exact fix steps and a reproducing curl command, a prioritised fix list, and three free re-scans within 30 days. Use reach_report_status to read it. For a single quick check use the reach tool instead. Costs $69.00 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes1 to 20 public HTTP(S) URLs on one site (at most 3 hostnames)
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pagesNoPages that will be scanned
statusYes'accepted' once the report is queued
report_idYesKeep this: it is the only way to read the report
report_urlNoThe report as a web page
eta_secondsNoRoughly how long until the report is complete

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare a generic non-readonly, non-destructive profile (openWorldHint=false, idempotentHint=false), which is thin for an async paid batch job. The description adds the crucial behavior: a report_id/report_url is returned immediately while scanning happens in the background (~10s per page), the deliverable contents, three free re-scans in 30 days, and the exact payment rails (x402/USDC on Base or credit token).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and delivery model, and nearly every sentence carries distinct information (async timing, report contents, read-back tool, alternative tool, pricing). Minor redundancy between the title's '$69' and the trailing 'Costs $69.00' sentence keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, async, multi-url tool the description covers delivery semantics, cost, payment paths, follow-up tools, and alternatives. An output schema exists, so it correctly does not need to enumerate return fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (urls, credit_token) are already documented in the schema, including the 1-20/3-hostname limit. The description adds only a general mention of credit-token payment, which the schema already covers in more detail; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Order a full reachability report for one site') plus concrete scope ('up to 20 pages, each checked from nine common clients'). It also explicitly contrasts itself with the sibling tools reach and reach_report_status, so an agent can route without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use routing: 'Use reach_report_status to read it' and 'For a single quick check use the reach tool instead.' It even handles the no-payment prerequisite by naming credits_trial for free credit, which removes the most likely invocation failure.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reach_report_rescanRe-scan a reachability report after fixingAInspect

Free, up to three times within 30 days of ordering. Re-runs every page of a finished report so you can confirm a fix worked; the report then shows what was fixed, what remains and anything new. This tool is free; no payment is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
report_idYesThe report_id of a finished report

Output Schema

ParametersJSON Schema
NameRequiredDescription
runNoWhich scan this is; the paid scan is 0
statusYes'accepted', or 'busy', 'exhausted' or 'expired' with a reason
rescans_remainingNoFree re-scans left

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare it is not read-only, not idempotent, not destructive, but say nothing about cost or limits. The description adds genuinely useful behavior beyond them: it is free, capped at three uses within 30 days of ordering, and no payment is required — real quota and billing context an agent could not infer from 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the key constraint and the core behavior, but the last sentence ('This tool is free; no payment is required') restates the opening 'Free' clause, wasting space on a duplicate rather than adding information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and it correctly focuses on purpose, quota, and outcome. For a one-parameter tool with annotations, this is essentially complete; only explicit sibling routing is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single report_id parameter is fully documented in the schema as 'the report_id of a finished report'. The description adds no syntax, format, or constraint detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: 'Re-runs every page of a finished report' names the action and the target precisely, and the 'after fixing / confirm a fix worked' framing separates it from reach_report (create) and reach_report_status (poll). An agent can select it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The trigger condition is clear: run this after a fix to confirm it worked on a finished report. The quota ('up to three times within 30 days of ordering') implicitly bounds when it can be used. It does not explicitly name alternative tools such as reach_report_status for checking progress, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reach_report_statusRead a reachability reportA
Read-onlyIdempotent
Inspect

Free. Returns a reachability report by its report_id: progress while it scans, then the prioritised findings with causes, fix steps and reproducing commands, the per-page evidence, and a comparison with the previous scan after a re-scan. This tool is free; no payment is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
report_idYesThe report_id returned when the report was ordered

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes'scanning' or 'complete'
summaryNoCount of findings by severity
findingsNoPrioritised findings: severity, title, cause, fix steps, reproducing command, affected URLs
progressNoPages scanned so far, of the total
report_idYesThe report
comparison_with_previous_runNoAfter a re-scan: fixed, remaining and new findings

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and closed-world, so safety is covered. The description adds genuinely new context in a payment-oriented toolset: it is free and requires no payment, stated twice. It also discloses the stateful return behavior (progress vs. findings, re-scan comparison), which annotations do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The return-content enumeration is well front-loaded and informative, but the payment claim is stated twice ('Free.' at the opening and again as 'This tool is free; no payment is required.'), which is pure redundancy. Removing the duplicate would leave a tight, high-value sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be spelled out, yet the description usefully summarises the shape of results across the scanning and completed phases. Combined with complete schema coverage and annotations, an agent has enough to call this correctly; only the explicit relationship to sibling reach/reach_report_rescan is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single report_id parameter is fully documented there, so the schema carries the load. The description only restates that the report is addressed 'by its report_id' and adds no format, provenance or validation detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Returns a reachability report by its report_id') and enumerates the two response states an agent will encounter: in-progress while scanning, then prioritised findings with causes, fix steps and reproducing commands. This also implicitly distinguishes it from sibling reach_report_rescan, which starts a new scan rather than reading one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The mention of 'progress while it scans' implies this is the tool to poll after ordering a report, and 'a comparison with the previous scan after a re-scan' hints at follow-up after reach_report_rescan. However, no alternative is named and no explicit when/when-not condition is given; the agent must infer the polling workflow.

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 markdownA
Read-onlyIdempotent
Inspect

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.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesHTTPS URL to fetch
formatNoOutput format (default text)
selectorNoOptional CSS selector to extract just part of the page
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe page that was fetched
titleNoDocument title, when the page has one
formatNo'text', 'markdown' or 'html', echoing your request
contentYesExtracted content in the requested format
extracted_atNoISO-8601 fetch time

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond readOnly/idempotent annotations, the description discloses SSRF protections ('private, loopback and link-local addresses are refused, and every redirect hop is re-validated') and a concrete cost/payment model ($0.010 USDC via x402 or credit token). These are non-obvious behaviors an agent must know before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler: main capability first, then security constraint, then cost/payment. Every sentence adds distinct value, and the structure front-loads the action an agent needs to identify the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter tool with full schema coverage, an output schema, and readOnly/idempotent annotations, the description adds the missing operative constraints: network restrictions, redirect safety, and payment/credit behavior. Nothing essential for correct selection or invocation is omitted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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, selector, and credit_token. The description adds lightweight context for selector ('narrowed by CSS selector') and payment, but does not materially extend the parameter semantics beyond what the schema provides; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb-resource pairing: 'Fetch a URL and return readable text or markdown, optionally narrowed by CSS selector.' This clearly differentiates scrape from siblings like pdf_parse or meetings_search; an agent knows exactly what resource it acts on and what it produces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The tool's usage context is clear: fetching a URL for readable text/markdown, with optional CSS selector. It does not name competing tools for exclusion, but it does give conditional payment guidance ('call credits_trial for free credit if you have neither'), which helps an agent decide when a prerequisite is missing.

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 secretA
DestructiveIdempotent
Inspect

Permanently delete an item. Requires the namespace_token. Costs $0.005 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesItem key
namespaceYesIsolation scope
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
namespace_tokenYesOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
keyYesThe key that was removed
statusYes'deleted'
namespaceNoIsolation scope

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (destructive, idempotent, non-read-only), the description discloses key side effects: deletion is permanent, a namespace_token is required, and the call costs $0.005 in USDC paid via x402 or a credit token. This is exactly the kind of cost and access context an agent needs before executing a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences cover the action, precondition, cost, payment method, and fallback credit path with no filler. The essential destructive action is front-loaded, and every clause adds useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich schema, the annotations (especially destructiveHint and idempotentHint), and the presence of an output schema, the description supplies the important missing context: payment side effects, required auth token, and the free-credit fallback. An agent has enough to decide whether to call this tool and what prerequisites must be satisfied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all four parameters comprehensively at 100% coverage, including the optional credit_token and the nature of the namespace_token. The description adds a helpful pointer to credits_trial for free credit, but it does not substantially expand parameter meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Permanently delete an item', giving a clear verb and resource, and the title narrows it to deleting a stored secret. This separates it from sibling tools like vault_store and vault_retrieve, leaving no ambiguity about what operation is performed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the necessary precondition ('Requires the namespace_token') and when an alternative payment path applies ('call credits_trial for free credit if you have neither'). It does not explicitly discuss a when-not-to-use case or name a sibling alternative, but the destructive nature and token requirement provide sufficient context for an agent to invoke it correctly.

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 existsA
Read-onlyIdempotent
Inspect

Check for a key without returning its ciphertext. Requires the namespace_token. Costs $0.005 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesItem key
namespaceYesIsolation scope
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
namespace_tokenYesOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
keyYesThe key that was checked
existsYesWhether the key is present. Cheaper than a retrieve.
namespaceNoIsolation scope

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and idempotentHint, and the description adds meaningful behavioral context: it returns no ciphertext, requires the namespace_token, costs a specific amount, and explains the two payment paths. This goes well beyond the structured annotations, particularly around cost and authentication.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: the core behavior appears first, followed by the essential prerequisite and cost information. Every sentence adds necessary operational detail without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, return values need not be described. The description covers the key behavioral, authentication, and cost details needed to invoke the tool. It misses only explicit sibling differentiation for when to choose this over vault_retrieve, so it is nearly complete but not perfectly so.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 the namespace_token requirement and references credit_token indirectly, but adds little semantic detail beyond what the schema already provides. This is adequate but not exceptional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Check for a key' and explicitly notes it does so 'without returning its ciphertext,' making it clearly distinct from vault_retrieve. The title reinforces the existence-testing purpose. It is immediately obvious what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys clear context around prerequisites and cost, but does not explicitly name alternatives such as vault_retrieve or state when an agent should prefer this tool over them. The phrase 'without returning its ciphertext' implies an existence-only use case, but this is not made explicit enough for definitive routing.

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 namespaceA
Read-onlyIdempotent
Inspect

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.005 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceYesIsolation scope
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
namespace_tokenYesOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYesNumber of entries
itemsYesMetadata only — ciphertext is never included here
statusYes'listed'

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond the annotations: it explicitly states the tool never returns ciphertext, lists the metadata fields returned (alg, size, timestamps), explains that updated_at serves as the version for conditional stores, and discloses the exact cost and payment mechanism. It does not contradict the readOnlyHint or idempotentHint annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first states the core purpose, the second highlights the security boundary and alternative, and the third gives usage context and cost. Information is front-loaded and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, constraints, alternative routing, practical usage ('updated_at ... as if_match'), and cost/payment options. Combined with the output schema and annotations, the agent has everything needed to decide when to call this tool and how to interpret its response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 adds little parameter-specific meaning beyond the schema; it references credit tokens and namespace context but does not clarify any parameter beyond what the schema already states. This is adequate but does not go beyond the structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 keys held in a namespace with their metadata'. It distinguishes itself from siblings by explicitly saying 'Never returns ciphertext — use vault_retrieve for that.' This makes it immediately clear what the 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance: 'Use this when you have stored secrets and need to know what is there.' It also names the alternative tool for retrieval of secret values ('use vault_retrieve for that') and provides a conditional path for free credit via credits_trial. This is strong, actionable usage guidance.

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 secretA
Read-onlyIdempotent
Inspect

Retrieve a previously stored ciphertext. Requires the namespace_token. Costs $0.02 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesItem key
namespaceYesIsolation scope
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
namespace_tokenYesOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
algNoAlgorithm label you supplied at store time
keyYesThe key that was read
statusYes'retrieved'
receiptNoPayment receipt
namespaceNoIsolation scope
ciphertextYesExactly the bytes you stored. Decrypt these yourself.
created_atNoISO-8601 creation time
expires_atNoExpiry, or null if it never expires
updated_atNoISO-8601 last write

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description doesn't need to restate that. It adds valuable behavioral context: the $0.02 cost on Base, the x402 payment requirement, the credit_token alternative, and the namespace_token prerequisite. It also clarifies this returns a ciphertext, not a decrypted secret.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no fluff. The first sentence states the core action; the second covers prerequisites and cost, including a pointer to credits_trial. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with full schema coverage, an output schema, and idempotent/read-only annotations, the description is nearly complete. It covers cost, prerequisites, and payment alternatives. Missing details like error behavior are minor and the output schema likely covers return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description doesn't need to repeat parameter details. The description does add context about the payment flow and the credit_token alternative, but it doesn't explain individual parameters beyond what the schema already states. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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: 'Retrieve a previously stored ciphertext.' This clearly distinguishes it from sibling tools like vault_list (list keys) and vault_exists (check existence). The phrase 'previously stored' also implies it is the counterpart to vault_store.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to call it: to retrieve a stored ciphertext, and it specifies the required namespace_token and payment options. It does not explicitly name alternative tools or exclusion criteria, but the purpose is unambiguous enough that an agent can infer when it is appropriate.

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 tokenA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
namespaceYesIsolation scope
namespace_tokenYesOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noticeNoHuman-readable warning that the old token is now invalid
statusYes'rotated'
namespace_tokenYesThe new token, shown exactly once. The previous one stops working.

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 secretA
DestructiveIdempotent
Inspect

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, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
algNoAlgorithm label recorded alongside the item (default aes-256-gcm)
keyYesItem key
ttlNoItem lifetime in seconds
if_matchNoOnly 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_absentNoOnly write if the key does not already exist. Fails with status 'precondition_failed' if it does.
namespaceYesIsolation scope
ciphertextYesEncrypt before sending. Plaintext here would be a mistake.
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.
namespace_tokenNoOne-time token issued by the first call that claimed this namespace. Required for every later call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
algNoAlgorithm label you supplied; the service never decrypts
keyYesThe key that was written
statusYes'stored'
receiptNoPayment receipt
namespaceNoIsolation scope
created_atNoISO-8601 creation time
expires_atNoExpiry, or null if it never expires
size_bytesNoStored ciphertext size
updated_atNoISO-8601 last write
namespace_tokenNoIssued only on the first store into a namespace, shown exactly once

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond annotations: discloses that the first store claims the namespace and returns a one-time token, that the token cannot be recovered, that metadata is stored in the clear, and that conditional writes return 'precondition_failed' instead of clobbering. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence carries critical information. It is front-loaded with the core purpose and security model, then token handling, concurrency, and cost. The structure is logical, though a slightly tighter wording could be possible without losing content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 9 parameters, an output schema, and annotations, the description covers essential aspects: security, token lifecycle, concurrency safety, cost, and payment alternatives. It also mentions the precondition_failed status. The output format is presumably in the output schema, so not needed here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant context: explains the one-time nature of namespace_token, the compare-and-swap semantics of if_match, the create-only behavior of if_absent, and the credit_token payment path. This adds value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool stores client-side encrypted data, explains the security model (no key, never sees plaintext), and distinguishes it from other vault operations like retrieve/delete. It also notes what is stored in the clear, making the scope precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use conditional writes (if_match/if_absent) and payment options (credits_trial, credit_token). It implicitly distinguishes from other vault tools by describing the store action, but does not explicitly name alternatives or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

x402_verifyCheck an x402 endpoint before paying itA
Read-onlyIdempotent
Inspect

Call this BEFORE authorising payment to any x402 endpoint you did not write yourself. It fetches the endpoint's live payment challenge and compares it against every observation previously made by every other caller, so you learn things a single agent cannot see on its own -- above all, whether the address receiving the money has changed. A 'critical' entry in drift means something determining where funds go (pay_to, network or asset) is different from before: stop and confirm out of band. Read the LIVE charges in preference to any directory listing, and pass what the listing claimed as expect to have the disagreement reported. IMPORTANT: 'status':'ok' is NOT an endorsement -- it only means a challenge was read and recorded. It cannot tell you whether the operator will deliver anything for your money. 'first_observation':true means there is no history at all, so an empty drift proves nothing. ALWAYS read prior_criticals: drift only compares against the last observation, so an endpoint that swapped its payee earlier shows an empty drift once that swap became the baseline -- a non-zero prior_criticals means it has changed where money goes before, and that is true no matter how clean today's look is. 'status':'unreachable' is not evidence of fraud and not evidence of health; do not pay on it either way. A null price_usd means the token's units are unknown here and the amount was NOT converted -- do not assume it is small. Costs $0.010 in USDC on Base, paid via the x402 protocol, or from a credit token — call credits_trial for free credit if you have neither.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic HTTPS URL of the endpoint you are about to pay. Loopback and private-network addresses are refused rather than fetched.
expectNoOptional. What a directory, README or earlier response led you to believe. Any disagreement with the live challenge is reported.
methodNoHow to provoke the challenge: 'POST' (default), 'GET' or 'HEAD'. Use the method you intend to pay for.
credit_tokenNoOptional. A credit token from credits_trial or /credits/buy. Supplying it pays for this call from that balance, so no x402 payment or wallet is needed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNoThe URL that was checked
driftNoDifferences from the last observation. Any severity 'critical' entry changes where money goes. Null means no comparison was made at all, which is not the same as an empty array.
adviceNoPlain-language statement of what was and was not established
statusYes'ok' means a challenge was read -- NOT that the endpoint is trustworthy. 'refused' means the URL was never fetched. 'unreachable', 'redirected' and 'not_x402' all mean no challenge was obtained.
chargesNoWhat the endpoint declares it will charge, right now
last_seenNoISO-8601 time of the previous observation
reachableNoWhether the endpoint answered at all
first_seenNoISO-8601 time this endpoint was first observed
mismatchesNoHow the live challenge disagrees with what you expected
times_seenNoHow many observations exist, across all callers
http_statusNoStatus code the endpoint returned
last_criticalNoThe most recent previously recorded critical change, or null if there has never been one.
prior_criticalsNoHow many critical changes have EVER been recorded for this endpoint, not counting this call. `drift` only compares against the last observation, so once a change has been absorbed into the baseline it stops appearing there. A non-zero value here means this endpoint has changed where money goes before, even when `drift` is empty.
first_observationNoTrue when there was no prior record, so an empty `drift` means nothing
matches_expectationNoPresent only when `expect` was supplied

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavioral caveats that annotations alone cannot convey: 'status':'ok' is not an endorsement, a first observation makes empty drift meaningless, prior_criticals remains the truthful signal after a baseline swaps, unreachable is inconclusive, and null price_usd means no conversion occurred. These do not contradict readOnlyHint/idempotentHint; they enrich the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every section earns its place: the when-to-use rule is front-loaded, followed by the core mechanism, then the caveats most likely to prevent a mistaken payment. It uses clear emphasis markers (IMPORTANT, ALWAYS) to prioritize the highest-risk messages.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid verification tool with an output schema, the description covers the necessary interpretation of statuses and fields, failure semantics, pricing, and payment fallbacks. There is no missing operational context an agent would need to decide whether to call it or act on its result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds semantic guidance beyond field descriptions: expect should carry 'what the listing claimed', method should be the one you intend to pay with, and credit_token is explicitly an alternative balance that avoids an x402 payment. This lifts it above baseline without needing to repeat schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific action ('Call this BEFORE authorising payment') tied to a clear resource (an x402 endpoint not written by the caller), and the second sentence defines the mechanism ('fetches ... live payment challenge and compares it against every observation previously made'). This is precise and naturally distinguishes it from unrelated siblings like meetings_* or vault_*.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states exactly when to invoke ('BEFORE authorising payment to any x402 endpoint you did not write yourself'), tells the agent to prefer live charges over directory listings, and routes users without funding to credits_trial. It also tells the caller which HTTP method to use ('Use the method you intend to pay for') and what conditions should prevent payment ('stop and confirm out of band').

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.

  1. 24 tool updates
    • First observedcompress
    • First observedcredits_balance
    • First observedcredits_trial
    • First observedmeetings_get
    • First observedmeetings_import
    • First observedmeetings_list
    • First observedmeetings_search
    • First observedmeetings_summarize
    • First observedonce_key_claim
    • First observedonce_key_complete
    • First observedonce_key_release
    • First observedpdf_parse
    • First observedreach
    • First observedreach_report
    • First observedreach_report_rescan
    • First observedreach_report_status
    • First observedscrape
    • First observedvault_delete
    • First observedvault_exists
    • First observedvault_list
    • First observedvault_retrieve
    • First observedvault_rotate_token
    • First observedvault_store
    • First observedx402_verify

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides 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.
    11
    36 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to call 50+ pay-per-request tools covering onchain and crypto data, web research, security, compliance screening, business intelligence, and infrastructure checks. Payments settle per call in USDC on Base through the x402 protocol with no accounts, API keys, or subscriptions, and the first call is free for new wallets.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources