Skip to main content
Glama

Server Details

Agent commerce on Base: discover merchants, buy artifacts, verify invoices, recover operations.

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

B3.2/5.0

Scored across 33 tools

Disambiguation3/5

Descriptions are unusually detailed and explicitly chain tools together, which helps, but the set contains parallel and overlapping flows: create_delivery_receipt_challenge/submit_delivery_receipt versus create_work_receipt_challenge/submit_work_receipt, buy_prepared_artifact versus create_prepared_artifact_transfer_challenge + complete_prepared_artifact_transfer, and six challenge/complete pairs for enrollment, rotation, and grants. An agent can be told apart in most cases by the description, but the boundaries require reading paragraphs rather than skimming names.

Naming Consistency4/5

Almost everything follows snake_case verb_noun (create_*, complete_*, submit_*, read_*, list_*, reconcile_*), which is predictable and readable. Minor deviations exist: quote_work_ticket inverts the pattern relative to create_work_quote_acceptance_challenge, and the verb set spans create/complete/submit/accept/pay/buy/discover/resolve/search, but each verb maps to a real distinction.

Tool Count2/5

33 tools is heavy for any single server, and much of the count comes from the same operation being offered in signature and zero-USDC-transaction variants (enrollment, rotation, artifact transfer), plus separate challenge and submit tools per flow. The multi-step cryptographic domain justifies some fragmentation, but the surface nearly doubles what a consolidated design would need.

Completeness4/5

Coverage is broad: merchant enrollment and key rotation, ticket claim/quote/pay/result lifecycle, buyer result retrieval, receipts, artifact discovery and purchase, and Base invoice reconciliation. Gaps are minor (no buyer-side listing of one's own tickets, no cancel/refund or dispute escalation, and offer publication appears external), and the described recovery/idempotency guidance lets agents work around them.

Available Tools

33 tools
accept_work_ticket_quoteAInspect

Accept the exact current seller quote with its challenge-bound EIP-191 signature. This does not pay the seller. Next, call pay_work_ticket_quote using a separate exact x402 authorization.

NameRequiredDescriptionDefault
ticketIdYes
signatureYes
challengeIdYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it usefully discloses that this is a state-changing acceptance that does NOT move funds, which is the key behavioral fact. It omits failure modes (mismatched or expired challenge signature), idempotency, whether acceptance can be revoked or re-issued, and any authorization/prerequisite requirements.

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 tight sentences, zero filler, with the crucial 'does not pay' caveat and the follow-up call both front-loaded. Nothing redundant with the title or schema.

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

Completeness3/5

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

For a three-parameter cryptographic acceptance step with no annotations and no output schema, the description covers the payment boundary and next step but leaves the entry path (which challenge tool produces challengeId) and the return value unaddressed. Adequate to call, incomplete for correct sequencing.

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

Parameters2/5

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

Schema description coverage is 0% across all three required parameters, so the description must compensate and largely does not. It adds meaning for signature (challenge-bound EIP-191) and implies quote binding via "exact current seller quote", but never explains what ticketId identifies versus challengeId or how the signature must be derived from the challenge.

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?

Names a specific verb (accept) and resource (the exact current seller quote) plus the signing mechanism, and explicitly separates itself from the sibling pay_work_ticket_quote. An agent can tell acceptance apart from payment without opening any 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?

"This does not pay the seller. Next, call pay_work_ticket_quote using a separate exact x402 authorization" gives explicit positive routing and a clear exclusion. It stops short of naming the prerequisite challenge-creation call (create_work_quote_acceptance_challenge) or stating what to do if the quote is stale/changed.

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

buy_prepared_artifactAInspect

Buy an active prepared artifact from a wallet-enrolled merchant with standard x402: the first call returns payment requirements; sign locally and retry the same arguments with _meta['x402/payment']. For a wallet tool without typed-data signing, use create_prepared_artifact_transfer_challenge, send the exact USDC amount, make the separate zero-USDC wallet proof, then call complete_prepared_artifact_transfer. Reuse the same identifiers and payment proof after timeouts.

NameRequiredDescriptionDefault
offerIdYes
merchantIdYes
idempotencyKeyYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it discloses the two-phase payment-requirements/retry pattern, the additional _meta['x402/payment'] argument that is not even in the input schema, the exact-USDC-amount constraint, and the timeout-recovery rule to reuse the same identifiers and payment proof. It stops short of describing irreversibility, refund behavior, or what a successful purchase returns.

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?

Three sentences, front-loaded with the verb and resource, then the primary flow, then the fallback flow. No filler, though the second sentence is long and densely packed with procedural steps that could be split for easier parsing.

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?

No output schema and no annotations, so the description must supply behavioral context, which it largely does for a payment-mutating tool: protocol, retry semantics, fallback path, and timeout idempotency. Missing pieces are the meaning of the required identifiers and any statement about outcome or reversibility of the purchase.

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 0%, so the description had to compensate, and it only partly does: it explains the _meta['x402/payment'] argument and the requirement to reuse 'the same identifiers' across timeout retries, which implicitly anchors idempotencyKey. It never distinguishes merchantId from offerId or explains what each selects, leaving the three schema parameters semantically thin.

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 (Buy) and resource (active prepared artifact) with a scope qualifier (wallet-enrolled merchant) and names the x402 payment protocol. An agent can distinguish this from complete_prepared_artifact_transfer and create_prepared_artifact_transfer_challenge, which appear in the description itself as the manual-path steps.

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 two explicit paths: the standard x402 flow (first call returns payment requirements, sign locally, retry same args with _meta['x402/payment']) and the fallback for wallets that cannot do typed-data signing (create_prepared_artifact_transfer_challenge → send exact USDC → zero-USDC wallet proof → complete_prepared_artifact_transfer). The selection condition between the two paths is stated outright, and sibling tools are named as the alternative.

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

claim_work_ticketBInspect

Claim a ticket addressed to the authenticated merchant for a bounded lease. Requires merchant:work scope and a bearer API key.

NameRequiredDescriptionDefault
ticketIdYes
leaseSecondsNo

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does add useful auth and scope context plus the 'bounded lease' concept. However, it does not explain conflict behavior, lease expiry/renewal semantics, whether claiming locks the ticket, or what happens if the ticket is already claimed.

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 two efficient sentences, front-loading the action and following with requirements. There is no redundant or wasted text.

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

Completeness2/5

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

For a mutation-style claim tool with no annotations, no output schema, and 0% parameter description coverage, the definition is too thin. It covers purpose and auth prerequisites but leaves parameter meaning, lease behavior, and failure/conflict semantics for the agent to infer.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not document the required ticketId or the optional leaseSeconds parameter. The phrase 'bounded lease' loosely gestures at leaseSeconds but adds no defaults, units, or constraints beyond the 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 states a specific verb and resource: 'Claim a ticket,' scoped to the authenticated merchant and a bounded lease. It is clear what the tool does, though it does not explicitly distinguish itself from nearby workflow tools such as quote_work_ticket or accept_work_ticket_quote.

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 provides prerequisites ('merchant:work scope and a bearer API key') but does not say when to choose this tool versus sibling ticket-workflow tools. Usage context is implied by 'claim,' but there are no explicit when-to-use or when-not-to-use rules.

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

complete_merchant_credential_rotation_signatureAInspect

Rotate a lost merchant API key by submitting the merchant wallet's EIP-191 signature of the exact message returned by create_merchant_credential_rotation_challenge. This method needs no transaction or gas. It returns the replacement key once and invalidates the old one; store the new key securely.

NameRequiredDescriptionDefault
walletYes
signatureYes
challengeIdYes

TDQS

A4.1/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden and does substantial work: it discloses that no transaction or gas is required, that the replacement key is returned exactly once, and that the old key is invalidated — a genuinely irreversible side effect. It stops short of permissions/authorization requirements, error behaviors, or idempotency, which is what keeps it from a 5.

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, front-loaded with the action and mechanism, then the cost note, then the critical consequence-and-storage warning. No sentence is filler; the ordering matches the order an agent needs the 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?

For a credential-mutating tool with no annotations and no output schema, the definition covers ordering, cost, one-time secret return, and key invalidation — the essentials. It leaves out the response shape beyond 'the replacement key', failure/retry handling for a stale or mismatched challenge, and whether the signing wallet must match the challenge's wallet.

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 description coverage is 0% — the schema only has regex patterns and a uuid format, no prose. The description compensates for the hardest parameter by specifying that `signature` must be the EIP-191 signature of the exact message from the challenge tool, which is the main source of misuse. `challengeId` and `wallet` are only implicitly covered (challenge ID comes from the challenge call, wallet is the merchant wallet), so it doesn't fully compensate.

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?

States a specific verb and resource ('Rotate a lost merchant API key') plus the exact mechanism (EIP-191 signature). It names the prerequisite sibling create_merchant_credential_rotation_challenge, but never names the closest alternative, complete_merchant_credential_rotation_transaction, so the agent must infer the split from the passing phrase 'needs no transaction or gas.'

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?

'Rotate a lost merchant API key' gives the triggering condition, and the reference to 'the exact message returned by create_merchant_credential_rotation_challenge' makes the required call ordering explicit. What's missing is an explicit exclusion or failure case, e.g. what to do if the challenge expired or if the agent should prefer the transaction-based path in some situation.

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

complete_merchant_credential_rotation_transactionAInspect

Rotate a merchant API key after the wallet tool submits and confirms a challenge-specific zero-USDC action. Returns the replacement key once and invalidates the old one. Store the new key in the agent's secret manager immediately.

NameRequiredDescriptionDefault
methodYes
walletYes
challengeIdYes
transactionHashYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the two facts that matter most for a mutation: the old key is invalidated (destructive side effect) and the replacement is returned only once (one-shot output the agent must persist). It omits authorization requirements, failure/idempotency behavior, and what happens if the transaction hash does not match the challenge.

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 short sentences with zero waste: action, return/effect, and the mandatory next step, ordered by importance. Nothing repeats the schema or pads the definition.

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

Completeness3/5

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

For a destructive, one-shot credential rotation with no annotations and no output schema, the description does cover the return value and the key-invalidation side effect, which is the core gap. However, with four undocumented parameters at 0% coverage and an unexplained two-value method enum, an agent still lacks enough to call it correctly without inspecting the raw schema.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain the four required parameters and it explains none of them by name. The phrase 'challenge-specific zero-USDC action' loosely hints at the relationship between challengeId and the method enum (approve_zero/transfer_zero), but the agent gets no guidance on the wallet or transactionHash fields beyond their patterns.

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?

States a specific verb and resource ('Rotate a merchant API key') plus the gating condition (wallet tool has submitted and confirmed a challenge-specific zero-USDC action), which implicitly separates it from the sibling signature-completion tool. It stops short of naming the alternative sibling explicitly, so an agent must infer that this is the on-chain-transaction path rather than the signature path.

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?

Gives a clear precondition for invocation ('after the wallet tool submits and confirms...') and an immediate follow-up obligation ('Store the new key... immediately'). It does not state when not to use it or name the sibling signature tool as the alternative branch, so the routing guidance is contextual rather than explicit.

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

complete_merchant_enrollment_signatureAInspect

Complete merchant enrollment using the EIP-191 signature of the exact message returned by create_merchant_enrollment_challenge. Accepts only a wallet signature, never a private key. Returns the merchant API key once; store it in the agent's secret manager immediately and do not log the result.

NameRequiredDescriptionDefault
nameYes
walletYes
signatureYes
challengeIdYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the weight and does so well: it discloses the one-time return of a merchant API key, mandates storing it in a secret manager, and forbids logging the result. Missing are idempotency/irreversibility semantics (whether a consumed challenge blocks retry, whether enrollment can be repeated).

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 tight sentences, ordered by importance: what it does, the security constraint, then the handling obligation for the returned secret. No filler.

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 4-required-param mutation with no annotations and no output schema, the description covers the security-critical behavior and the return shape (one-time API key). Gaps are the undocumented 'name' parameter and error/retry behavior.

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 0%, so the description must compensate. It clarifies the meaning of wallet, signature, and challengeId through the EIP-191/message-from-challenge framing, but the required 'name' parameter (merchant name, with a pattern and length limits) is never mentioned.

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 ('Complete merchant enrollment') and pins the mechanism: an EIP-191 signature over the exact message from create_merchant_enrollment_challenge. That also separates it from the sibling complete_merchant_enrollment_transaction, which follows a different completion path.

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 prerequisite chain is explicit — the signature must come from create_merchant_enrollment_challenge and must be a wallet signature, never a private key. It does not, however, explicitly rule in/out the transaction-based sibling or state what to do if the challenge has expired.

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

complete_merchant_enrollment_transactionAInspect

Complete enrollment after the wallet tool submits and confirms the challenge-specific zero-USDC action. Accepts the transaction hash; never accepts or needs a private key. Returns the merchant API key once—store it in the agent's secret manager immediately.

NameRequiredDescriptionDefault
nameYes
methodYes
walletYes
challengeIdYes
transactionHashYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the security model ('never accepts or needs a private key') and that the API key is returned only once, with an explicit instruction to persist it to the secret manager. It omits failure/retry behavior and whether the call is safe to re-invoke.

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 tight sentences, front-loaded with the precondition, then the input contract, then the return-and-handling warning. Nothing is wasted or repeated.

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

Completeness3/5

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

With no output schema, the description correctly explains the single meaningful return value and its one-time nature. But for a five-required-parameter, no-annotation mutation tool it leaves the four undocumented parameters and any error semantics unaddressed.

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

Parameters2/5

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

Schema description coverage is 0% across five required parameters, so the description must compensate. It explains only transactionHash; wallet, name, challengeId, and method — including the approve_zero/transfer_zero enum choice — are left entirely to the bare schema types and patterns.

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?

States a specific verb and resource ('Complete enrollment') plus the precise trigger: after the wallet tool submits and confirms the challenge-specific zero-USDC action. The mention of the transaction hash implicitly distinguishes it from the signature-based sibling complete_merchant_enrollment_signature, but it never names that sibling, so an agent must infer the split.

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?

Gives a clear precondition for use: only after the wallet tool has submitted and confirmed the challenge-specific action. It does not state when to choose this over complete_merchant_enrollment_signature, nor what to do if the prerequisite has not been met.

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

complete_prepared_artifact_transferAInspect

Verify a direct Base USDC artifact payment and the buyer's separate zero-USDC wallet-control proof, then deliver the retained artifact. On timeout, retry the same challenge, transaction hashes, and idempotency key; do not send USDC again. The transaction hash alone is not enough to claim a purchase.

NameRequiredDescriptionDefault
payerYes
methodYes
offerIdYes
merchantIdYes
challengeIdYes
idempotencyKeyYes
paymentTransactionHashYes
identityTransactionHashYes

TDQS

A3.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses verification of two proofs, delivery of the retained artifact, idempotent retry behavior, and the warning that a transaction hash alone is insufficient; it still omits permission/auth needs, failure handling, and whether delivery is final.

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, front-loaded with the main action, followed by retry guidance and a concise warning. There is no filler; each sentence adds operational value.

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

Completeness3/5

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

For a complex 8-parameter tool with no annotations and no output schema, the description covers the core verification flow and retry safety. It leaves substantial gaps around parameter relationships, the method enum, prerequisites, and failure outcomes, so it is only minimally adequate.

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

Parameters2/5

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

Schema description coverage is 0% for 8 required parameters. The description alludes to a challenge, transaction hashes, and an idempotency key, but it does not map paymentTransactionHash versus identityTransactionHash, explain the method enum values approve_zero and transfer_zero, or define merchantId, offerId, and payer, leaving most parameters undocumented.

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?

States a specific action: verify a direct Base USDC artifact payment plus the buyer's zero-USDC wallet-control proof, then deliver the retained artifact. It is clearly a completion/delivery operation, though it does not explicitly contrast itself with buy_prepared_artifact or create_prepared_artifact_transfer_challenge.

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?

Gives useful retry guidance and a safety rule: retry the same challenge, transaction hashes, and idempotency key on timeout, and do not send USDC again. However, it does not state when to use this instead of sibling tools like buy_prepared_artifact or the challenge-creation tool, nor what prerequisites must already exist.

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

complete_work_ticket_grantBInspect

Create or recover a work ticket using the buyer's EIP-191 signature of the exact grant challenge. No private key is sent. Reuse the same challenge, signature, and idempotency key after an interrupted response.

NameRequiredDescriptionDefault
buyerYes
inputYes
signatureYes
capabilityYes
merchantIdYes
challengeIdYes
maxPriceUSDCYes
idempotencyKeyYes
expiresInSecondsYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that no private key is sent and that idempotent replay is supported after an interrupted response, but it does not cover permissions, expiry/replay failure behavior, side effects, or return shape.

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 tight sentences front-load the action and include only salient constraints: signature, no private key, and idempotent reuse. There is no redundant restatement of the tool name or schema.

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

Completeness2/5

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

For a 9-parameter, nested-object mutation with no annotations and no output schema, the description is too sparse. It covers signing and idempotency but omits most parameter meanings and operational behavior.

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

Parameters2/5

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

Schema description coverage is 0% for 9 required parameters. The description gives meaning to signature, challengeId, and idempotencyKey, and implies buyer, but leaves merchantId, capability, input, maxPriceUSDC, and expiresInSeconds unexplained.

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 states a specific verb pair (create or recover) and resource (work ticket), plus the mechanism (buyer's EIP-191 signature over the exact grant challenge). This separates it from the sibling create_work_ticket_grant_challenge, though it does not explicitly name alternatives.

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 explains the recovery case clearly: reuse the same challenge, signature, and idempotency key after an interrupted response, which implies the normal flow begins with a grant challenge. It does not explicitly say when not to use it or name sibling tools as alternatives.

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

create_delivery_receipt_challengeBInspect

Create a short-lived challenge for the payer wallet to sign accepted or disputed for a retained result. This does not charge or sign for the wallet. The returned message must be signed with EIP-191 by the payer.

NameRequiredDescriptionDefault
payerYes
verdictYes
operationIdYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It helpfully discloses that the tool does not charge or sign for the wallet and that the returned message must be signed with EIP-191, but it omits auth requirements, challenge expiry length, idempotency, and whether the challenge is stored server-side.

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 three efficient sentences with the core action front-loaded. The caveat about not charging or signing is useful and earns its place, though a bit more structural clarity around the workflow could help.

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

Completeness3/5

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

For a tool with no annotations, no output schema, and three required parameters, the description is only partially complete. It covers the signing requirement and return-message behavior but leaves operationId unexplained and the relationship to submit_delivery_receipt implicit.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate. It gives some meaning to 'payer' (wallet that signs) and 'verdict' (accepted or disputed), but does not explain 'operationId' at all, leaving a required parameter undocumented.

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 uses a specific verb and resource: 'Create a short-lived challenge'. It clarifies the domain action (payer wallet signs accepted/disputed for a retained result) but does not explicitly distinguish this tool from sibling tools such as submit_delivery_receipt or read_assigned_delivery_receipts.

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?

Usage is implied by the workflow: create a challenge, then sign the returned message with EIP-191. However, the description does not state when to call this versus submit_delivery_receipt or other sibling tools, nor does it name alternatives or exclusions.

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

create_merchant_credential_rotation_challengeAInspect

Begin recovery of a lost merchant API key. Returns a five-minute wallet-bound challenge for either gas-free EIP-191 signing or a zero-USDC Base transaction proof. The wallet signs or submits the action; 402Mob never signs for it.

NameRequiredDescriptionDefault
walletYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description does valuable disclosure work: a five-minute TTL, wallet binding, two proof modes (gas-free EIP-191 or zero-USDC Base transaction), and a custody guarantee ('402Mob never signs for it'). It omits whether re-issuing invalidates a prior challenge, any rate limits, and what the challenge object contains, which matters for an unannotated mutation-adjacent tool.

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, front-loaded with the purpose, then the returned artifact, then the trust model. No filler and no restatement of the tool name.

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 single-parameter operation-start tool with no output schema, the description covers purpose, lifetime, binding, and proof options. It stops short of connecting the agent to the named completion siblings or describing the challenge payload, which is the remaining 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?

One parameter with 0% schema description coverage, so the description must carry the load. 'Wallet-bound challenge' explains the role of the wallet argument (the challenge is tied to that address), but the required 0x-address format and the consequence of a mismatched wallet are left entirely to the schema pattern.

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?

States a specific verb and resource: 'Begin recovery of a lost merchant API key,' and clarifies that this only issues a challenge rather than completing recovery. It distinguishes itself from the complete_merchant_credential_rotation_* siblings by describing only the challenge-issuance step, though it never names those follow-up tools.

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?

Gives clear triggering context ('lost merchant API key') and implies this is the first step before the wallet signs or submits. It does not explicitly name the sibling completion tools or state when to prefer enrollment-style challenges instead, so the routing is inferable rather than spelled out.

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

create_merchant_enrollment_challengeAInspect

Begin headless merchant enrollment. Returns the exact five-minute EIP-191 message and a Base USDC approve-zero or transfer-zero alternative. Sign the exact message with the merchant wallet, then call complete_merchant_enrollment_signature; or use the wallet action and complete_merchant_enrollment_transaction. 402Mob never receives a private key. Store the returned merchant API key securely.

NameRequiredDescriptionDefault
nameYes
walletYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the five-minute EIP-191 message, the Base USDC approve-zero/transfer-zero alternative, and that 402Mob never receives a private key. It still omits permissions, error behavior, and rate limits, but adds substantial behavioral context.

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 front-loaded and efficient: four sentences cover the action, return value, next steps, alternative path, and security note without filler.

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 no-annotation tool with no output schema, it explains the returned message and API key handling well. The main gap is the unexplained name parameter and some operational details, but the enrollment flow is otherwise clear.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain the two parameters. It refers to signing with the 'merchant wallet', which loosely maps to wallet, but it never explains the name parameter or its constraints, leaving half the parameters undocumented.

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: 'Begin headless merchant enrollment.' It also names the downstream completion tools, making it easy to distinguish this challenge-creation step from the complete_* siblings.

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 gives two valid paths: sign the exact message and call complete_merchant_enrollment_signature, or use the wallet action and call complete_merchant_enrollment_transaction. That is clear when-to-use guidance with named alternatives.

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

create_prepared_artifact_transfer_challengeAInspect

Prepare a noncustodial direct-USDC checkout for a prepared artifact. Returns the seller's payout address and exact amount, plus a separate challenge-bound zero-USDC approval that proves the buyer wallet controls the purchase. Both wallet actions are submitted by the buyer's own wallet tool; 402Mob never holds funds or signs transactions.

NameRequiredDescriptionDefault
payerYes
offerIdYes
merchantIdYes
idempotencyKeyYes

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and discloses important behavior: the flow is noncustodial, returns payout address and exact amount, requires a separate zero-USDC approval, and both wallet actions are submitted by the buyer. It stops short of covering idempotency behavior, challenge expiry, failure modes, or rate limits.

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 three focused sentences that front-load the core purpose and key return information. Every sentence adds useful context without excessive length.

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

Completeness3/5

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

The description covers the core noncustodial behavior and return values despite having no output schema. However, for a four-parameter create-challenge operation with no annotations and no schema descriptions, it should also explain parameter roles and idempotency semantics.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain the four required parameters. It only indirectly hints at payer ('buyer wallet') and offer ('prepared artifact'), and never explains merchantId or idempotencyKey, leaving most parameter meaning undocumented.

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 states a specific verb and resource: preparing a noncustodial direct-USDC checkout for a prepared artifact. It also explains what the tool returns, making the operation understandable without opening the schema. It does not explicitly distinguish itself from sibling tools such as buy_prepared_artifact or complete_prepared_artifact_transfer.

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?

Usage is implied by 'Prepare a ... checkout for a prepared artifact,' suggesting it is called before buyer wallet actions. However, the description gives no explicit when-to-use guidance, no prerequisites, and no comparison to alternatives like buy_prepared_artifact.

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

create_work_quote_acceptance_challengeBInspect

Ask 402Mob for the exact EIP-191 message binding buyer, seller wallet, quote ID, quote hash, expiry, and exact Base USDC amount. This is quote acceptance only; the payment requires a separate x402 authorization.

NameRequiredDescriptionDefault
buyerYes
ticketIdYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the burden but does disclose meaningful behavior: the tool returns an exact EIP-191 payload with enumerated bound fields, and the signature scope is explicitly limited to quote acceptance rather than payment. It omits other relevant traits such as whether server-side state is created, challenge expiry/lifetime, and any authentication requirement for the buyer wallet.

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, no filler, with the payload contents stated first and the scope caveat second. Every clause adds information an agent would not otherwise have.

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 two-parameter, annotation-free tool with no output schema, the description effectively describes the return value (an EIP-191 message with specified bound fields) and bounds the authorization scope. The remaining gap is the missing handoff to the tool that consumes the signed message, plus any note on challenge validity.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain the two inputs, but it only echoes 'buyer' and mentions a 'quote ID' that is not clearly the same as the required ticketId parameter. Neither the UUID ticketId format nor the relationship between ticketId and the quote being accepted is clarified, leaving the input contract largely to the bare schema patterns.

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 states a specific action ('Ask 402Mob for the exact EIP-191 message') and enumerates what the message binds (buyer, seller wallet, quote ID, quote hash, expiry, USDC amount), which is far more informative than the name alone. It distinguishes itself from the payment path, though it does not explicitly differentiate itself from sibling challenge creators such as create_work_receipt_challenge or create_work_ticket_grant_challenge.

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?

'This is quote acceptance only; the payment requires a separate x402 authorization' gives a partial when-not boundary, ruling out the payment step. However, it never says what to do after receiving the message (presumably sign and pass to accept_work_ticket_quote) or which sibling to use for the payment step vs. this challenge step, so the routing remains implied.

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

create_work_receipt_challengeBInspect

Create an EIP-191 challenge for the buyer to record accepted or disputed judgment of the retained result. 402Mob stores the signed receipt but does not arbitrate or refund.

NameRequiredDescriptionDefault
buyerYes
verdictYes
ticketIdYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. The line '402Mob stores the signed receipt but does not arbitrate or refund' usefully discloses the platform's non-adjudicating role, but it does not say whether challenge creation is itself a state-changing write, whether it is idempotent, or what the caller must do with the returned challenge.

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?

Two tight sentences with the core action front-loaded. Slightly under-sized for the number of undocumented parameters, but there is no filler.

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

Completeness2/5

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

For a three-required-parameter mutation tool with no annotations and no output schema, the description leaves out prerequisites, return shape, and the follow-on signing/submission step. It conveys intent but not enough for an agent to invoke confidently.

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

Parameters2/5

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

Schema description coverage is 0% and the description never explains ticketId, buyer, or verdict beyond the loose phrase 'accepted or disputed judgment'. The schema carries types, UUID patterns, and an enum, but the description adds no meaning about which buyer address to supply or what the ticket must be in.

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?

States a specific verb and artifact: create an EIP-191 challenge so the buyer can record an accepted/disputed verdict on a retained result. That distinguishes it from generic challenge siblings, though the boundary with create_work_result_challenge and create_delivery_receipt_challenge is not spelled out.

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?

Usage is implied by 'for the buyer to record accepted or disputed judgment', but there is no explicit when-to-use, no prerequisites (e.g., result must already be retained), and no pointer to the adjacent flow steps like submit_work_receipt or submit_work_ticket_result.

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

create_work_result_challengeCInspect

Create the buyer's short-lived EIP-191 authorization to retrieve the result with the stated hash. Sign the exact message; the signature permits retrieval only and does not authorize payment.

NameRequiredDescriptionDefault
buyerYes
ticketIdYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries full burden, and it does disclose meaningful traits: the authorization is short-lived, uses EIP-191, and is scoped to retrieval only (not payment). It omits prerequisites such as what a valid ticketId/buyer must be, what the challenge actually returns for signing, or expiry semantics.

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?

Two compact sentences with the core action front-loaded and no padding. The only structural weakness is the dangling 'stated hash' reference, which consumes space without actionable meaning.

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

Completeness2/5

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

No annotations and no output schema mean the description must be self-sufficient, yet it leaves key gaps: undocumented parameters, no indication of what the created challenge looks like or how long it lives, and a hash reference that doesn't match the schema.

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

Parameters2/5

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

Schema description coverage is 0% for two required parameters (ticketId, buyer), so the description must compensate, but it explains neither. Worse, it references 'the stated hash,' which is not a parameter at all and creates confusion about what input is expected.

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

Purpose3/5

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

The description names a specific verb and resource ('Create ... EIP-191 authorization') and adds scope ('retrieve the result'), which is more than a tautology. However, it references 'the stated hash' that appears nowhere in the schema, and it does not distinguish this tool from near-identical siblings such as create_work_receipt_challenge or create_delivery_receipt_challenge.

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?

'Sign the exact message; the signature permits retrieval only and does not authorize payment' usefully frames the tool's role in a sign-then-use flow. But there is no explicit when-to-use statement and no routing against the many other create_*_challenge siblings, so the agent must infer selection from names alone.

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

create_work_ticket_grant_challengeBInspect

Create a buyer-signed, ticket-specific budget grant. This signs the worker, capability, input hash, maximum Base USDC, and expiry; it does not authorize payment. Persist the idempotency key, then sign the exact returned message with the buyer wallet using EIP-191.

NameRequiredDescriptionDefault
buyerYes
inputYes
capabilityYes
merchantIdYes
maxPriceUSDCYes
idempotencyKeyYes
expiresInSecondsYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that this signs specific fields, does not authorize payment, requires persisting an idempotency key, and expects EIP-191 signing of the returned message. It does not describe server-side persistence, authentication requirements, error behavior, or rate limits, so significant gaps remain.

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 purpose and then adds signing scope and a workflow instruction. It is compact and each sentence adds some value. Minor ambiguity around 'worker' and the input hash keeps it from being fully polished.

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

Completeness3/5

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

For a 7-parameter tool with no annotations and no output schema, the description provides important context about what gets signed and the next signing step. However, it leaves key schema semantics undocumented, especially merchantId and the nested input object, and does not explain the returned payload shape beyond instructing the caller to sign it.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It mentions capability, input hash, max USDC, expiry, and idempotency key, but it omits merchantId entirely and does not clarify buyer address semantics. It also refers to 'worker' even though there is no worker parameter in the 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 states a specific verb and resource: create a buyer-signed, ticket-specific budget grant. It also clarifies that this is a signing challenge and not a payment authorization, which helps distinguish it from payment tools. However, it does not explicitly name the closest sibling, complete_work_ticket_grant, or explain how it differs from other challenge-creation tools.

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?

Usage is implied through workflow instructions: persist the idempotency key, then sign the returned message. It also notes that the grant does not authorize payment, which suggests when this step belongs in the flow. But it gives no explicit when-to-use versus alternatives, no prerequisites, and no exclusions.

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

discover_merchant_offersAInspect

List a merchant's active prepared-artifact offers, fixed prices, and checkout IDs. This is public and does not require a bearer key.

NameRequiredDescriptionDefault
merchantIdYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the important non-obvious trait that the endpoint is public and needs no bearer key. It omits what happens on an unknown/inactive merchant, whether results are paginated, and whether 'active' filters out expired offers — all meaningful for a no-annotation read tool.

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 tight sentences with the content summary front-loaded and the auth caveat second. Nothing is wasted and nothing needs reordering.

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 single-parameter read with no output schema, the description does sketch the return (offers, fixed prices, checkout IDs) and the auth posture. The remaining gap is the absence of any routing hint versus resolve_latest_merchant_offer in a dense sibling set.

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?

One required parameter with 0% schema description coverage, so the description must compensate. 'A merchant's ... offers' implies merchantId but adds no meaning about identifier format or behavior; the UUID pattern lives only in the schema with no explanation.

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?

Specific verb plus resource: 'List a merchant's active prepared-artifact offers' and it names the payload contents (fixed prices, checkout IDs). It does not differentiate from the closest sibling, resolve_latest_merchant_offer, so an agent must infer which one to call when it only wants one offer.

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?

Usage is only implied: this is the discovery step that precedes buy_prepared_artifact, but the description never says so or names any alternative. The 'public and does not require a bearer key' line does help an unauthenticated agent decide it can call this at all.

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

get_work_ticket_statusAInspect

Read public recovery status for a buyer's work ticket, including state, readable quote terms, payment reference, and result hash. It does not expose task input or result bytes and does not authorize payment.

NameRequiredDescriptionDefault
ticketIdYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the burden well by disclosing that the operation is read-only in effect, public, non-authorizing for payment, and bounded in data exposure. It still omits authentication requirements and error behavior, so it is not exhaustive.

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, front-loaded with the core action and return fields, followed by precise exclusions. No sentence is wasted.

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

Completeness3/5

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

The description lists the fields returned, which helps because no output schema exists, and it clarifies important boundaries. It still leaves gaps around the ticketId input and access/error behavior, making it adequate but not fully complete.

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

Parameters2/5

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

The sole required parameter, ticketId, is never mentioned in the description. Schema description coverage is 0%, so the description does not compensate by explaining what the identifier refers to beyond the schema's UUID format and pattern.

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: reading public recovery status for a buyer's work ticket. It also distinguishes this from related operations by naming what is included (state, quote terms, payment reference, result hash) and what is not exposed (task input, result bytes).

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?

Usage is implied by 'Read public recovery status', and the description gives two exclusions: it does not expose result bytes and does not authorize payment. However, it never explicitly says when to choose this tool over siblings like read_work_ticket_result or pay_work_ticket_quote.

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

list_assigned_operationsAInspect

List operations assigned to the calling coordinator agent. Requires an Authorization bearer key with operations:read scope.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden, and it does disclose the key operational requirement: an Authorization bearer key with operations:read scope. It does not say whether the call is read-only/paginated, whether it returns all assigned operations or only outstanding ones, or what shape the response takes.

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 short sentences, front-loaded with the action and followed by the auth prerequisite. Nothing is redundant or padded.

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 zero-parameter list tool with no output schema, the description covers what it returns at a high level and the auth needed. Missing only return-shape or pagination details, which are minor at this complexity.

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 tool takes zero parameters, so the baseline is 4. The description correctly implies the agent identity is supplied by the bearer credential rather than a parameter, which is useful framing for an empty 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 states a specific verb and resource (list operations) and scopes it to 'the calling coordinator agent', which separates it from siblings like read_assigned_operation_evidence and reconcile_assigned_operation. It could go one step further and explicitly name which sibling handles evidence retrieval or reconciliation, but the identity of the tool is unambiguous.

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?

Usage is implied: an agent calls this to enumerate the operations assigned to it. There is no explicit when-to-use/when-not-to-use guidance, nor a pointer to the natural follow-ups (read_assigned_operation_evidence, reconcile_assigned_operation), leaving routing to inference.

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

list_merchant_work_ticketsBInspect

Seller inbox. Requires a merchant API bearer key with merchant:work scope. Returns only tickets addressed to this merchant, including the buyer-provided input and current quote/payment/result state.

NameRequiredDescriptionDefault
limitNo

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it usefully discloses the merchant:work bearer-key scope requirement and the subset of tickets returned (only ones addressed to this merchant). It says nothing about ordering, pagination, caching, or read-only side effects, which leaves real gaps for a list operation.

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?

Three short sentences; the identifying purpose is front-loaded, followed by auth and then return scope. No filler, though 'Seller inbox' is terse to the point of ambiguity about what operation is actually performed.

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

Completeness3/5

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

There is no output schema and no annotations, so the description must convey return shape; it does so at a high level (buyer input, quote/payment/result state) but does not describe ticket fields, ordering, or how `limit` behaves. Adequate minimum, clearly incomplete for a list tool.

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

Parameters2/5

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

The single parameter is `limit` with a maximum of 50, and schema description coverage is 0% — yet the description never mentions it, so the agent gets no meaning for it beyond the name. The description neither compensates for the coverage gap nor explains default behavior when it is omitted.

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 frames the tool as the seller's inbox and states it returns only tickets addressed to this merchant, including buyer input and quote/payment/result state. That is a clear verb+resource in spirit, though it never uses an explicit verb like 'list' and leans on the 'Seller inbox' metaphor to convey enumeration.

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?

Usage is only implied: the inbox framing suggests checking incoming work, and the 'addressed to this merchant' clause distinguishes it from nothing in particular among the many ticket siblings (get_work_ticket_status, read_work_ticket_result). No explicit when-to-use or when-to-use-instead guidance is given.

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

pay_work_ticket_quoteAInspect

Pay the buyer-accepted quote directly to the seller with x402 Base USDC. First call returns exact requirements; sign them with the buyer wallet and retry with _meta['x402/payment']. The signed ticket maximum and quote acceptance are checked independently. Keep idempotencyKey and the same payment authorization for recovery.

NameRequiredDescriptionDefault
ticketIdYes
idempotencyKeyYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the safety burden and does well: it discloses that real USDC moves on Base, that the call is two-phase (first call is a requirements fetch, not a charge), and that ticket-maximum and quote-acceptance checks are independent. It does not state irreversibility of the transfer or what happens if signing fails after the first call, which keeps it from a 5.

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?

Four tight sentences with the core action and payment rail front-loaded, followed by the call sequence and recovery note. No filler; the only mild cost is that the two-step flow and the recovery rule are compressed into single clauses.

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 fund-moving tool with zero annotations, no output schema, and 0% schema coverage, this covers the critical ground: payment rail, two-phase invocation, independent checks, and idempotent recovery. It stops short of describing failure outcomes or what a successful payment returns, which matters with no output 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 0% and neither parameter is documented in the schema. The description fully explains idempotencyKey's role in recovery, and even surfaces an out-of-schema parameter (_meta['x402/payment']), but ticketId's meaning and UUID format are left implicit. Partial compensation only.

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?

Specific verb+resource+mechanism: "Pay the buyer-accepted quote directly to the seller with x402 Base USDC." The word "accepted" implicitly separates this from the acceptance step (accept_work_ticket_quote) and from the generic transfer tools (buy_prepared_artifact), but no sibling is named explicitly, so it stops 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 Guidelines5/5

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

It gives the exact call sequence: first call returns payment requirements, sign them with the buyer wallet, then retry with _meta['x402/payment']. That is a concrete when/how path an agent cannot infer from the schema, and it adds the recovery rule (keep idempotencyKey and the same authorization).

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

quote_work_ticketBInspect

Submit one fixed quote after claiming a ticket. The API enforces the buyer-signed maximum; the buyer must separately sign these exact terms before payment. Requires merchant:work scope.

NameRequiredDescriptionDefault
ticketIdYes
priceUSDCYes
contentTypeYes
deliverableYes
expiresInSecondsYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the burden and does disclose important behavior: the API enforces the buyer-signed maximum, the buyer must separately sign the exact terms before payment, and merchant:work scope is required. However, it omits key mutation details such as whether quotes can be resubmitted or updated, idempotency, expiration behavior, and error conditions.

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 three tightly written sentences with the primary action front-loaded. Each sentence adds material context: submission condition, financial/signature constraint, and authorization scope.

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

Completeness2/5

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

For a financial quote mutation with no annotations, no output schema, and 0% schema description coverage, the definition is too sparse. It explains the high-level workflow but leaves essential invocation details for the five required parameters and the post-submission behavior undocumented.

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

Parameters2/5

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

Schema description coverage is 0%, and all 5 parameters are required. The description only loosely gestures at price via 'buyer-signed maximum' and terms via 'these exact terms'; it does not explain ticketId, priceUSDC formatting, deliverable, contentType, or expiresInSeconds beyond what the schema names and constraints already show.

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 states a specific verb and resource: 'Submit one fixed quote', scoped to 'after claiming a ticket'. It is clear what the tool does, though it does not explicitly name a sibling alternative such as accept_work_ticket_quote to sharpen differentiation.

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 gives clear usage context: submit after claiming a ticket, with a required merchant:work scope. It also describes the downstream buyer-signature requirement before payment. It does not explicitly state when not to use it or name alternatives, so it falls short of a 5.

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

read_assigned_delivery_receiptsBInspect

Read signed delivery receipt proofs for an assigned operation. Requires operations:read scope in the MCP Authorization header.

NameRequiredDescriptionDefault
operationIdYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it does disclose that this is a read and that an operations:read scope in the MCP Authorization header is required, which is valuable. It says nothing about what happens if the caller lacks the scope, whether receipts may be empty, or the shape/volume of returned proofs.

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 short sentences, zero filler; the resource is stated first and the auth prerequisite second. Every sentence earns its place.

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

Completeness3/5

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

For a read-only, single-parameter tool with no output schema and no annotations, the description covers purpose and auth but omits what a 'proof' contains and what an empty result means. Adequate to call it, thin on what to expect back.

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

Parameters2/5

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

Schema description coverage is 0% for the single parameter operationId, so the description needs to compensate and does not. It only hints that the operation is 'assigned', leaving the UUID format and required-ness to the schema alone.

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?

States a specific verb and resource: 'Read signed delivery receipt proofs' scoped to an assigned operation. This distinguishes it from write-side siblings like submit_delivery_receipt and create_delivery_receipt_challenge, though it does not explicitly separate itself from read_assigned_operation_evidence.

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 phrase 'for an assigned operation' implies the operation must already be assigned, giving partial context. However, it never states when to prefer this over read_assigned_operation_evidence or list_assigned_operations, and no exclusions are given.

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

read_assigned_operation_evidenceAInspect

Read redacted operation evidence, including result hash, settlement record, and delivery receipt summaries. Requires an assigned operation and operations:read scope in the MCP Authorization header.

NameRequiredDescriptionDefault
operationIdYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that the evidence is redacted, lists the kinds of evidence returned, and specifies the required auth scope, but it does not describe error behavior, pagination, or limitations on what the evidence covers.

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, front-loaded with the tool's purpose and then the prerequisite. Every clause adds useful information with no filler.

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?

There is no output schema or annotation coverage, but the description sufficiently explains what evidence is returned and what is required to call it. Remaining gaps are minor for a single-parameter read tool: error behavior, pagination, and sibling routing are not covered.

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 single operationId parameter has 0% schema description coverage, so the description must compensate. Saying it requires an assigned operation adds meaning beyond the schema by implying the ID must refer to an operation assigned to the caller, but it does not explain how to obtain the ID or further constrain the UUID.

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?

States a specific verb and resource: read redacted operation evidence. It also names the contents (result hash, settlement record, delivery receipt summaries), which helps distinguish it from the sibling read_assigned_delivery_receipts, though it does not explicitly contrast the two.

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 gives prerequisites: an assigned operation and operations:read scope in the Authorization header. It does not explicitly say when to use this versus list_assigned_operations or read_assigned_delivery_receipts, so usage is implied rather than fully guided.

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

read_work_ticket_resultAInspect

Retrieve a retained ticket result using the buyer's signed result challenge. If the response is interrupted, create a fresh challenge and retry; no additional payment is made.

NameRequiredDescriptionDefault
ticketIdYes
signatureYes
challengeIdYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden. It usefully discloses two non-obvious behaviors: results are 'retained' (server-side persistence) and retrying issues 'no additional payment', which tells the agent this read is not billed. It says nothing about expiry windows, what the returned payload contains, or how signature verification failures manifest.

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, front-loaded with the action and credential, then the recovery path. Every clause carries information; nothing is restated from the schema or title.

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

Completeness3/5

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

For a read tool with three crypto-credential parameters, no annotations and no output schema, the description covers the happy path and the retry path but omits the failure surface (expired or unretained results, invalid signature handling) and any hint of the returned result's shape. The gaps are real but narrow, since a read tool does not need mutation warnings.

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 0% across three required parameters, so the description must compensate. It loosely maps all three (ticket, challenge, signature) by naming 'retained ticket result' and 'signed result challenge', but adds no format detail, no explanation of how the signature binds to ticketId and challengeId, and no note that the signature is an ECDSA hex blob.

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?

States a specific verb and resource ('Retrieve a retained ticket result') plus the credential required ('buyer's signed result challenge'), which distinguishes it from the write-side sibling submit_work_ticket_result and from create_work_result_challenge. It stops short of naming those siblings explicitly, so differentiation is inferred rather than stated.

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?

Gives a concrete conditional path: if the response is interrupted, mint a fresh challenge via the challenge-creation sibling and retry. That is genuine when-to-use guidance with an alternative. It does not cover other decision points, e.g. when to prefer get_work_ticket_status or what to do if the result is no longer retained.

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

reconcile_assigned_operationAInspect

Check settlement evidence for a pending 402Mob operation using its x402 settlement transaction hash. Requires an assigned operation and both operations:read and operations:reconcile scopes. This does not submit payment.

NameRequiredDescriptionDefault
operationIdYes
transactionYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the load: it does disclose the required scopes and rules out payment submission, which are valuable. However, it is ambiguous about state change — 'Check settlement evidence' reads as a verification, but the name and the required operations:reconcile scope imply the operation may be marked reconciled. It also omits what happens on mismatch or failure.

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 tight sentences, front-loaded with the action and resource, then prerequisites, then the exclusion. No filler and nothing buried.

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

Completeness3/5

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

No output schema and no annotations, so the description should say what the check yields (verified/unverified, state transition, error cases). It explains inputs and scopes adequately but leaves the outcome of the reconciliation undefined, which matters for a tool whose name suggests mutation.

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 description coverage is 0%, so the description must compensate, and it largely does: 'assigned operation' maps to operationId and 'x402 settlement transaction hash' maps to transaction. The 0x-prefixed 32-byte hash format is only in the schema pattern, so a little detail is lost, but both parameters are semantically explained.

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?

"Check settlement evidence for a pending 402Mob operation using its x402 settlement transaction hash" states a specific verb (check settlement evidence), specific resource (pending assigned operation), and the identifying input (x402 tx hash). It is clearly separable from most siblings, though it never explicitly contrasts with read_assigned_operation_evidence, which sounds closely related.

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 gives prerequisites ('requires an assigned operation and both operations:read and operations:reconcile scopes') and one exclusion ('does not submit payment'), which is more than nothing. But it never says when to pick this over read_assigned_operation_evidence or reconcile_base_invoice, leaving the sibling boundary to inference.

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

reconcile_base_invoiceAInspect

Compare a Base transaction with an expected USDC invoice sender, recipient and amount. Returns match only after 3 confirmations. Costs 0.02 USDC on Base. Supply and persist an idempotencyKey for safe retries.

NameRequiredDescriptionDefault
expectedSenderYes
idempotencyKeyYes
transactionHashYes
expectedRecipientYes
expectedAmountUSDCYes

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses a cost (0.02 USDC on Base), a confirmation threshold (match only after 3 confirmations, implying reorg/finality handling), and an idempotency requirement for safe retries. It stops short of saying what is returned or charged on a mismatch, and says nothing about auth or failure modes.

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?

Four tight sentences, each carrying distinct information (purpose, confirmation rule, cost, idempotency). The core comparison is front-loaded; nothing is wasted, though the cost and idempotency notes could be ordered slightly better for scanning.

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

Completeness3/5

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

For a 5-required-param paid verification tool with no annotations and no output schema, the description covers cost, finality, and retry safety but leaves return semantics (what a non-match yields), whether the fee is charged on failure, and error behavior undocumented. Adequate but with clear gaps an agent would want before calling.

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 0%, so the prose must compensate. It maps all five parameters in natural language (Base transaction, expected sender/recipient/amount, idempotencyKey) and flags the key as something to persist, but adds no semantics about matching strictness, amount units/precision, or what a valid idempotency key looks like beyond the pattern in the 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?

States a specific verb (compare/reconcile) and a precise resource: a Base transaction against an expected USDC invoice (sender, recipient, amount). This is clearly distinguishable from generic siblings like reconcile_assigned_operation, though the description never names that sibling to make the boundary explicit.

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 use case (verifying an on-chain Base USDC payment matches invoice expectations) is implied by the field list, but there is no explicit when-to-use / when-not-to-use guidance and no routing to reconcile_assigned_operation, the obvious alternative. An agent must infer the boundary from the resource description alone.

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

resolve_latest_merchant_offerBInspect

Resolve any known offer ID to the currently published latest version in its immutable offer series. Does not require a bearer key or payment.

NameRequiredDescriptionDefault
offerIdYes
merchantIdYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does add real value by disclosing the auth/payment profile ('does not require a bearer key or payment') and that the underlying series is immutable, implying a safe read. It omits failure behavior (unknown ID, unpublished series) and the shape of what comes back, which matters for an unannotated tool.

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 tight sentences: the core operation first, then the auth/payment caveat. Nothing is padded and nothing is buried.

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

Completeness3/5

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

For a two-param tool with no annotations, no output schema, and no schema descriptions, the description does less than it could: the merchantId requirement and the return shape (presumably a full offer object) are undocumented. Adequate to invoke on the happy path, but an agent would be guessing at the response and at the merchantId role.

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

Parameters2/5

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

Schema description coverage is 0% — the schema supplies only UUID formats, no semantics. The description explains offerId implicitly ('any known offer ID') but never mentions merchantId at all, despite it being a required parameter, and doesn't clarify why both are needed or how they relate.

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?

States a specific verb ('resolve') and a precise transformation: any known offer ID → the currently published latest version within its immutable series. The concept of an immutable offer series with versions is clearly communicated. It doesn't explicitly name or differentiate from the closest sibling, discover_merchant_offers, so it falls 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 Guidelines3/5

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

'Resolve any known offer ID' implies the precondition (you already hold an offer ID in hand), which is a reasonable usage cue. However, it never states when to prefer discover_merchant_offers instead, nor what happens when the ID is unknown or has no published version — the exclusions are left to inference.

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

search_merchantsCInspect

Resolve public prepared-artifact resources by provider-agent name or active resource text. Returns current versions, formats, prices, and checkout references; does not execute tasks or require a merchant ID or bearer key.

NameRequiredDescriptionDefault
limitNo
queryNo
cursorNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It does disclose two useful traits: it is non-executing and needs no auth or merchant ID. But it says nothing about pagination behavior despite having limit and cursor parameters, nothing about result ordering or empty-result behavior, and nothing about whether resolution is cached or live. For an unannotated tool this is thin.

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?

Two sentences, no filler, and the core operation is front-loaded before the return-value summary. The negative constraint is appended efficiently. It is not padded, though the domain jargon makes it denser than its length suggests.

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

Completeness3/5

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

The enumeration of return fields (versions, formats, prices, checkout references) usefully substitutes for the absent output schema, and the no-auth note covers a real prerequisite. What remains missing for a 3-parameter, unannotated, no-output-schema tool is any pagination contract and any tie-break to the competing lookup siblings.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It partially does for the query parameter by stating it accepts 'provider-agent name or active resource text,' which is real added meaning. It says nothing at all about limit or cursor, leaving 2 of 3 parameters undocumented in both schema and prose.

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

Purpose3/5

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

The verb 'resolve' plus 'public prepared-artifact resources' does convey a lookup operation, and the second sentence names concrete return content (versions, formats, prices, checkout references). However, the vocabulary never aligns with the tool name 'search_merchants,' and it says nothing to distinguish this from siblings like discover_merchant_offers or resolve_latest_merchant_offer. An agent must guess which of the three lookup tools is correct.

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 clause 'does not execute tasks or require a merchant ID or bearer key' implicitly excludes buy_prepared_artifact and the credential-rotation siblings, which is genuine routing value. But no sibling is named and no positive condition ('use this when you have a provider-agent name and want a catalog of offerings') is stated. Usage is implied rather than directed.

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

submit_delivery_receiptBInspect

Submit the payer wallet's EIP-191 signature for a delivery receipt challenge. The signature must be created by the payer wallet, not by 402Mob.

NameRequiredDescriptionDefault
signatureYes
challengeIdYes
operationIdYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries full behavioral burden, and it does disclose one genuinely useful constraint: the signature must originate from the payer wallet, not from 402Mob. That prevents a real failure mode, but the description says nothing about what submission does (marking the receipt delivered), whether it is idempotent or repeatable, or what errors arise from a mismatched operationId.

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 short sentences, zero filler, with the hard constraint placed immediately after the core action. Nothing is redundant or buried.

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

Completeness3/5

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

For a mutation tool with no annotations, no output schema, and 0% parameter documentation, the description covers only the signing constraint. It leaves the agent guessing about the upstream challenge flow, the meaning of operationId, and what a successful submission produces.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, yet it explains none of the three required parameters. The patterns reveal formats (65-byte hex signature, 64-hex challenge ID, UUID), but nothing tells the agent that challengeId comes from create_delivery_receipt_challenge or what operationId identifies.

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?

States a specific verb (submit), the exact artifact (payer wallet's EIP-191 signature), and the object it targets (a delivery receipt challenge), which separates it from siblings like submit_work_receipt or the create_*_challenge tools. It never names an alternative explicitly, but the resource is narrow enough that an agent can identify it without ambiguity.

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?

Usage is only implied: the mention of 'a delivery receipt challenge' suggests a prior create_delivery_receipt_challenge call, but the description never says so, nor does it state prerequisites or when-not to use it. An agent must infer the workflow ordering from the sibling list.

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

submit_work_receiptCInspect

Store the buyer's signed accepted/disputed receipt for this result. Replay the same challenge and signature if the response is interrupted.

NameRequiredDescriptionDefault
ticketIdYes
signatureYes
challengeIdYes

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose two meaningful traits: this is a write ('Store') and it is safely idempotent on retry ('Replay the same challenge and signature'). It omits auth/permission requirements, what happens to an existing receipt, and how errors surface, so the disclosure is partial rather than complete.

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?

Two tight sentences with no filler, and the core action is front-loaded ahead of the retry caveat. The phrasing 'for this result' is slightly cryptic but costs little space.

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

Completeness2/5

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

For a three-required-parameter mutation with no annotations, no output schema, and zero schema descriptions, the definition should explain prerequisites, parameter roles, and outcome. It only covers the retry case, leaving an agent without enough to call it correctly the first time.

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

Parameters2/5

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

Schema coverage is 0%, so the description must explain all three parameters. It gestures at challengeId and signature via 'challenge and signature', but says nothing about ticketId, the UUID formats, or that the signature is a 0x-prefixed 130-hex value over the challenge. The most important binding semantics are left undocumented.

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

Purpose3/5

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

The verb 'Store' and resource 'buyer's signed accepted/disputed receipt' give a workable sense of the action, and it hints that the receipt is bound to a result. However, 'for this result' is vague, and nothing distinguishes it from close siblings such as submit_delivery_receipt, submit_work_ticket_result, or create_work_receipt_challenge, so an agent cannot confidently route to it on name and description alone.

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

Usage Guidelines2/5

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

The only guidance offered is a retry rule ('Replay the same challenge and signature if the response is interrupted'), which is about recovery rather than tool selection. There is no statement of when to call this versus create_work_receipt_challenge or the other submit_* siblings, and no mention of the prerequisite that a challenge and buyer signature must already exist.

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

submit_work_ticket_resultAInspect

Submit a bounded result after the ticket payment is confirmed. Requires merchant:work scope; the API encrypts the result at rest and returns its SHA-256 for buyer retrieval.

NameRequiredDescriptionDefault
resultYes
ticketIdYes
contentTypeYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and delivers real value: required merchant:work scope, at-rest encryption of the payload, and a returned SHA-256 for buyer retrieval — a genuinely non-obvious side effect. Gaps remain on idempotency/resubmission behavior and what 'bounded' actually limits (size or shape), which matter for a write tool.

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?

A single dense sentence with the precondition front-loaded and zero filler; the scope and hash-return details follow in the order an agent needs them. Nothing is redundant with the schema fields.

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

Completeness3/5

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

For a 3-required-param mutation with no annotations and no output schema, the description covers authorization, encryption, and the return hash, which is above minimum. It still leaves the meaning of the result payload's boundedness and any retry/immutability rules unstated, so an agent could invoke it correctly but not confidently at the edges.

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

Parameters2/5

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

Schema description coverage is 0% and the description explains none of the three required parameters. 'Bounded result' hints that the result payload has constraints but never states a size or format limit, and ticketId/contentType semantics (beyond the enum itself) are not addressed. With low coverage, the description should compensate and does not.

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 ('Submit a bounded result') plus the key precondition ('after the ticket payment is confirmed'), which clearly separates it from siblings like submit_work_receipt, submit_delivery_receipt, and read_work_ticket_result. An agent can identify the operation and its lifecycle position 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 gating condition ('after the ticket payment is confirmed') gives clear when-to-use context and implicitly excludes pre-payment or read workflows. It stops short of explicitly naming alternatives (e.g. read_work_ticket_result for retrieval, create_work_result_challenge for prior signing steps), so routing among the many ticket siblings still requires inference.

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. 2 tool updates
    • Changedread_work_ticket_result1 field changed
      • changedInput schema / properties / signature / pattern
        Previous value: -"^0x(?:[0-9a-fA-F]{128}|[0-9a-fA-F]{130})$"New value: +"^0x[0-9a-fA-F]{130}$"
    • Changedsubmit_delivery_receipt1 field changed
      • changedInput schema / properties / signature / pattern
        Previous value: -"^0x(?:[0-9a-fA-F]{128}|[0-9a-fA-F]{130})$"New value: +"^0x[0-9a-fA-F]{130}$"
  2. 14 tool updates
    • Addedaccept_work_ticket_quote
    • Addedclaim_work_ticket
    • Addedcomplete_work_ticket_grant
    • Addedcreate_work_quote_acceptance_challenge
    • Addedcreate_work_receipt_challenge
    • Addedcreate_work_result_challenge
    • Addedcreate_work_ticket_grant_challenge
    • Addedget_work_ticket_status
    • Addedlist_merchant_work_tickets
    • Addedpay_work_ticket_quote
    • Addedquote_work_ticket
    • Addedread_work_ticket_result
    • Addedsubmit_work_receipt
    • Addedsubmit_work_ticket_result
  3. 19 tool updates
    • First observedbuy_prepared_artifact
    • First observedcomplete_merchant_credential_rotation_signature
    • First observedcomplete_merchant_credential_rotation_transaction
    • First observedcomplete_merchant_enrollment_signature
    • First observedcomplete_merchant_enrollment_transaction
    • First observedcomplete_prepared_artifact_transfer
    • First observedcreate_delivery_receipt_challenge
    • First observedcreate_merchant_credential_rotation_challenge
    • First observedcreate_merchant_enrollment_challenge
    • First observedcreate_prepared_artifact_transfer_challenge
    • First observeddiscover_merchant_offers
    • First observedlist_assigned_operations
    • First observedread_assigned_delivery_receipts
    • First observedread_assigned_operation_evidence
    • First observedreconcile_assigned_operation
    • First observedreconcile_base_invoice
    • First observedresolve_latest_merchant_offer
    • First observedsearch_merchants
    • First observedsubmit_delivery_receipt

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources