Skip to main content
Glama

Foundry: prepaid AI compute in USDF

Server Details

Prepaid AI compute in USDF: models, quotes and chat with a receipt; pay per call (x402) or by key

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
Uptime
99.9% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have clearly distinct roles: market search/call, chat, balance, receipts, model/tool listing, and x402 payment are separable. Some boundaries are softer, especially quote vs. quote_tool and list_tools vs. agents_market_search, but the descriptions make the intended use reasonably clear.

Naming Consistency3/5

All names use snake_case, but the conventions are mixed: list_models/list_tools are verb-first, agents_market_call/agents_market_search put the verb last, and quote/receipt are bare nouns. The names remain readable, but there is no single predictable pattern.

Tool Count5/5

Ten tools is well scoped for a prepaid AI compute gateway covering chat, tools, models, quoting, balance, receipts, marketplace calls, and x402 payments. Each tool appears to earn its place without excessive surface area.

Completeness4/5

The core lifecycle is covered: discover models/tools/market listings, quote costs, call or pay, check balance, and retrieve receipts. Minor gaps remain around account/key management, funding/top-up, and listing historical usage beyond fetching individual receipts.

Available Tools

10 tools
agents_market_callCall a listingAInspect

Calls a listing of the agents market by its id (svc_..., from agents_market_search), paid from this key's USDF balance (never free credit) within the key's and its agent's limits and at most max_price: what one call costs and nothing on top; a call its seller does not answer 2xx costs nothing, or no more than what its seller kept of it. Every listing is called the same way, and answers 503 market_calls_unarmed while calls to the market are not switched on. Needs an API key. Returns the seller's answer and the receipt. The input goes to the seller, whose own policy governs what it keeps.

NameRequiredDescriptionDefault
idYesThe listing's id (svc_...), from agents_market_search
inputNoWhat the call sends: JSON for a POST listing, an object of plain values (its query) for a GET one
max_priceYesThe most this call may cost in USDF ("0.05"): required, as a seller may change its price; the listing's price is in agents_market_search

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations: paid from USDF balance (never free credit), bounded by key/agent limits, max_price acts as a hard cap, failed non-2xx calls cost nothing, requires an API key, and returns the seller's answer plus a receipt. These are exactly the cost, auth, and failure semantics an agent needs before spending money.

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

Conciseness3/5

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

Front-loads the core purpose well, but the body is a dense wall of semicolon-linked clauses with some redundancy ('what one call costs and nothing on top' vs 'costs nothing') that makes it harder to scan than it needs to be.

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

Completeness5/5

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

With no output schema, the description still covers the return shape (seller's answer and receipt), cost/refund behavior, auth requirement, and the disabled-market error, leaving nothing essential for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: max_price is a cap that 'nothing [is] on top' of, and it clarifies that the input payload is forwarded to the seller and governed by the seller's own policy. That routing/interpretation context is not in the schema.

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

Purpose5/5

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

States a specific verb and resource ("Calls a listing of the agents market by its id") and explicitly ties the id format to the sibling tool agents_market_search, so the agent can distinguish this from the search tool without opening either 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?

Makes the search-then-call workflow clear by referencing where the id comes from and notes the 503 market_calls_unarmed condition, giving real context for when the call will or won't work. It stops short of stating explicit exclusions against sibling tools like quote or x402_pay.

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

balanceBalanceA
Read-only
Inspect

With an API key: what the key can spend now, the account's balance and the amount held for requests running, and what is left of the key's budget, in USDF. With address instead, and no key: that wallet's USDF and USDG on the chain now, and how much USDF it lets the signature-transfer contract spend, which x402 payments come from.

NameRequiredDescriptionDefault
addressNoA wallet address (0x...): its USDF and USDG on the chain, with no key

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavioral context beyond that: it explains what each returned figure represents (held funds for in-flight requests, remaining key budget, the signature-transfer allowance that funds x402 payments). It does not mention rate limits or refresh/latency characteristics, so not 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.

Conciseness3/5

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

It is a single dense sentence-paragraph that covers both modes without waste, but the trailing clause 'which x402 payments come from' and the stacked parentheticals make it harder to parse than it needs to be. Front-loading is decent (key case first) but readability is compromised.

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 read-only, single-optional-parameter tool with no output schema, the description covers both invocation paths and what each returns in enough detail to call it correctly. It lacks nothing critical, though explicit guidance on what happens if both key and address contexts are present is absent.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, and the description goes beyond it by explaining what the address parameter produces: on-chain USDF and USDG plus the spend allowance granted to the signature-transfer contract. It clarifies that supplying an address implies keyless mode, which the schema alone does not convey.

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 specifically what the tool returns: spendable amount, account balance, held funds, and remaining key budget under a key; or on-chain USDF/USDG plus transfer-contract allowance under an address. That is a clear resource ('balance') with two well-defined modes. It does not explicitly contrast itself with siblings like quote or x402_pay, 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 Guidelines4/5

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

It gives explicit conditions selecting each mode: 'With an API key' versus 'With address instead, and no key.' An agent can infer which invocation applies. However, it names no alternative tools or when-not-to-use cases, so it stops short of full routing guidance.

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

chatChat completionAInspect

Runs a chat completion and returns the text with its receipt (tokens, price, cost, balance, settlement). With an API key it spends from that key's balance, holding the most the request can cost first. Not streamed. Output is capped at 4096 tokens. A call without a progress token answers within 55 s of arriving. With a progress token, progress is sent every 15 s and the call may run 10 minutes, so the client must reset its timeout on progress (resetTimeoutOnProgress: true in the TypeScript SDK) or wait that long. At its deadline, or when the client's connection closes, a call is cut: the text produced so far is returned with finish_reason "length" and billed on the provider's usage report where the provider gives one, otherwise on an estimate never above max_tokens; for a model whose reasoning is not streamed, at the held output budget. Cancellation messages are not supported: a call the client stops waiting for without disconnecting runs to completion or its deadline and is billed. With no key, the call is paid with x402 in USDF (signature transfer) or USDG (signed transfer), as POST /x402/v1/chat/completions: without a payment it returns isError with the payment requirements (x402Version, resource, accepts) as structuredContent; sign one accept and call again with the payment in _meta["x402/payment"], the payment argument or the PAYMENT-SIGNATURE header. The quote is the call's maximum cost at the published price (prompt at one token per byte, output at max_tokens, capped as above, no minimum), paid up front; the call is charged what it uses at that price and the rest is refunded in the asset paid, the gateway paying the gas. A paid call runs to its end or its deadline whether or not the client waits and returns the receipt and _meta["x402/payment-response"]; at the deadline the text so far is returned with finish_reason "length" and a note, charged what it used and the rest refunded. A call no provider accepted before its deadline, or whose provider failed or ended with nothing, is refunded in full in the asset paid; so is one cut by the deadline after the provider accepted it, with nothing produced. A call with less than 20 s left before its deadline is refused before the payment is settled (deadline_too_close), nothing charged. MPP clients pay the same quote: the payment-required result also carries _meta["org.paymentauth/payment-required"] with evm charge challenges (USDG by signed transfer authorization, USDF by signature transfer); call again with the credential in _meta["org.paymentauth/credential"], and the paid result carries _meta["org.paymentauth/receipt"].

NameRequiredDescriptionDefault
modelYesModel id from list_models
paymentNoWith no key: the x402 payment for this call's quote, as the PAYMENT-SIGNATURE value (base64 JSON) or the payload object; _meta["x402/payment"] and the PAYMENT-SIGNATURE header are read too
messagesYesChat messages in the OpenAI format: objects with a role (system, user, assistant or tool) and content (text, or an array of content parts)
max_tokensNoOutput token budget, a positive integer; defaults to the model's default_max_output, capped at max_output
temperatureNoSampling temperature, 0 to 2

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only give the safety profile (readOnlyHint=false, openWorldHint=true, idempotentHint=false); the description goes far beyond, disclosing fund holding up front, refund mechanics in the paid asset, what happens at deadline and on disconnect, billing on provider usage vs. estimate, the no-cancellation rule, and the 20-second refusal with nothing charged.

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

Conciseness3/5

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

Front-loaded with the core action and no filler sentences, but it is one long, undifferentiated paragraph with no headings or bullets, and the deadline/cut/refund behavior is restated several times (connection-close cut, paid-call deadline, provider-accepted-then-cut), which costs the reader on re-parse.

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

Completeness5/5

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

With no output schema, the description carries the return contract itself — text plus receipt fields, finish_reason "length" on truncation, structuredContent payment requirements on the first unpaid call, and the _meta receipt keys — which is exactly what an agent needs for a paid, non-idempotent, open-world call.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, and the description adds real meaning on top: it establishes that payment applies only "with no key," that model ids come from list_models, and that the payment value may also arrive via _meta["x402/payment"] or the PAYMENT-SIGNATURE header rather than the named argument.

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?

"Runs a chat completion and returns the text with its receipt" is a precise verb+resource statement, and the scope (non-streamed, 4096-token output cap, paid per call) immediately separates it from read-only siblings like balance, list_models and receipt.

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 branches clearly on the two payment modes (API key balance vs. no-key x402/MPP), which is genuine usage guidance for this tool. However it never routes the agent to the siblings that exist for that purpose — quote/quote_tool for previewing the cost, balance for funds, receipt for retrieving receipts — so the agent must infer whether to call those first.

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

list_modelsList modelsA
Read-only
Inspect

Models the gateway serves with their context window, output limits and whether a route is available right now; with an API key, their prices too (USD per 1M tokens, the same figure in USDF).

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds meaningful behavior: route availability is dynamic, and prices are only shown with an API key, including the USD/USDF pricing format. This is useful context beyond the structured annotations.

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

Conciseness4/5

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

The description is a single dense sentence that front-loads the main resource and lists the key output fields efficiently. It is slightly packed, especially the parenthetical pricing note, but no sentence is wasted.

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

Completeness5/5

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

With zero parameters, no output schema, and only basic annotations, the description carries the necessary burden of explaining what is returned. It covers the model fields, dynamic route availability, and conditional pricing, so an agent has enough context to call it correctly.

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

Parameters4/5

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

The tool has zero parameters, so there is no parameter semantics burden. The description correctly does not invent parameter details, and the 0-param baseline applies.

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

Purpose4/5

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

The description clearly identifies the resource (models served by the gateway) and the information returned (context window, output limits, route availability, conditional pricing). It does not explicitly differentiate this from the sibling list_tools tool, which is the main missing clarity point.

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: use this to discover available models and their pricing/limits. However, there is no explicit guidance on when to choose this over siblings like list_tools, nor any stated preconditions beyond the API-key note for pricing.

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

list_toolsList toolsA
Read-only
Inspect

Tools you can call through POST /v1/tools/{id}, paid from the same balance and key as chat, each with the input it takes (with an API key, its price in USDF too), ordered by title. Every tool listed can be called now. q keeps the tools whose id, title or description has those words; a page holds up to 200, and page.next names the next one. No key needed.

NameRequiredDescriptionDefault
qNoWords a tool's id, title or description has
cursorNopage.next of the page before

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only and non-open-world behavior. The description adds meaningful context beyond that: no key is needed to list, tool calls are paid from the same balance/key as chat, prices appear in USDF with an API key, every listed tool is callable now, and pages hold up to 200.

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 purpose and packs auth, payment, filtering, and pagination details efficiently. It is dense but every clause adds useful information, though the single paragraph is slightly overloaded.

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

Completeness5/5

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

For a low-complexity list tool with two optional parameters and no output schema, the description is complete. It covers what is returned at a high level, pagination, authentication, and pricing context.

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 100%, so the baseline is 3. The description reinforces q as filtering on id, title, or description and cursor as page.next, and adds the page-size limit of 200, which is useful but not extensive.

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: tools callable via POST /v1/tools/{id}, with payment context and ordering. This clearly distinguishes it from chat, list_models, and other siblings without needing to name them.

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?

Explains that it lists currently callable tools and describes q filtering and pagination, giving clear usage context. It does not explicitly name alternatives or say when not to use this tool, 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.

quoteQuote a requestA
Read-only
Inspect

The hold the chat tool places before running a request, in USDF and USD (output capped at 4096 tokens). It is an estimate, not a ceiling: a completed request is billed the provider's reported usage, normally less. Pass prompt or messages. No key needed; a request for attested hardware (a :private model id or provider.private), and any request from a Private-tier key, is quoted on its attested routes, at the model's price.

NameRequiredDescriptionDefault
modelYesModel id from list_models
promptNoPrompt text, sent as one user message
messagesNoChat messages in the OpenAI format: objects with a role (system, user, assistant or tool) and content (text, or an array of content parts)
providerNoRouting asks as on the REST API, for example {"private": true} for attested hardware this gateway verified, at the model's price
max_tokensNoOutput token budget, a positive integer; defaults to the model's default_max_output, capped at max_output

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only say readOnlyHint=true/openWorldHint=false, yet the description adds substantial context: it is an estimate and not a billing ceiling, actual billing follows provider-reported usage and is normally less, no key is required, and attested/private routing is quoted at the model's price on verified routes. This is exactly the kind of cost/auth behavior an agent needs beyond the structured hints.

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 dense sentences with no filler; the pricing semantics are front-loaded. Slight deductions for the roundabout opening noun phrase and the repeated 'at the model's price' clause, which make it less scannable than it could be.

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

Completeness4/5

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

With no output schema, the description still conveys the return's essence (dual USDF/USD figures, 4096-token cap) and the pricing model. However, it does not describe the shape of the returned quote or how the two currencies relate, leaving a modest gap for a tool whose whole job is producing a structured price estimate.

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?

With 100% schema coverage the baseline is 3, but the description adds real meaning: 'Pass prompt or messages' clarifies the two mutually optional input paths, and the 'output capped at 4096 tokens' note relates to the token budget. The 4096 cap sits somewhat awkwardly next to the schema's max_tokens default/cap wording, creating mild ambiguity about which budget is meant.

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 defines the tool as 'the hold the chat tool places before running a request' and clarifies 'It is an estimate, not a ceiling', so an agent can infer this returns a pre-flight cost quote in USDF/USD for a chat request. It is distinguishable from siblings like chat, balance and receipt, though the purpose is expressed through a metaphor rather than a direct verb+resource statement.

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

Usage Guidelines4/5

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

It states when this applies (before running a request, mirroring the chat flow) and gives input guidance ('Pass prompt or messages', 'No key needed'). It also names the conditions under which special routing pricing applies (attested hardware via ':private' or provider.private, Private-tier keys), but it never explicitly contrasts with an alternative tool or states when not to use it.

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

quote_toolQuote a tool callA
Read-only
Inspect

What a call to a tool would hold for this input before it runs (its most it can cost), in USDF and USD, with the tool's price. It checks the input as the call would, and runs and holds nothing. No key needed.

NameRequiredDescriptionDefault
toolYesTool id from list_tools
inputNoThe input the call would send, as in the tool's input schema

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, yet the description still adds real value: it validates the input exactly as the real call would, runs nothing, and holds no funds — key facts for a cost-estimation tool. This is meaningful disclosure beyond the annotation set.

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

Conciseness3/5

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

Three sentences that are front-loaded but grammatically muddled — 'What a call to a tool would hold for this input before it runs (its most it can cost)' reads awkwardly, and the USDF/USD duality is unexplained. It is short but not clean.

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

Completeness4/5

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

With no output schema, the description usefully characterizes the return: the maximum cost in USDF and USD plus the tool's price. It also covers the auth requirement and the no-side-effect guarantee, leaving little an agent needs but doesn't have.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are documented in the schema (tool id from list_tools, input matching the tool's input schema). The description adds no syntax or format detail beyond that, so the baseline 3 applies.

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

Purpose4/5

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

Names a specific verb (quote) and resource (a call to a tool) and states the output dimension (cost in USDF and USD). It does not, however, distinguish itself from the sibling tool named simply 'quote', leaving ambiguity about which quoting tool to pick.

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?

'Before it runs' implies the pre-flight use case, and 'No key needed' tells the agent it can be invoked unauthenticated. There are no explicit when-not conditions and no comparison against the sibling 'quote' tool, so the routing guidance is only implied.

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

receiptReceiptA
Read-only
Inspect

With the API key that made the request: its receipt, with the usage, the price sheet version, the cost and, once settled, the settlement, its transaction and the rows behind the onchain digest. With no key: the public receipt of any request id, x402 ones included, with its line in the usage log, the payment, the settlement and where its proof is (GET /x402/v1/receipts/{id}).

NameRequiredDescriptionDefault
request_idYesThe id returned with the completion (also the x-request-id header)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safe-read profile is covered. The description usefully adds that the credential changes the scope of the result, that settlement fields appear only 'once settled' (eventual availability), and names the backing endpoint GET /x402/v1/receipts/{id}; it says nothing about error behavior 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.

Conciseness3/5

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

The mode distinction is front-loaded, which is good, but the second half is a comma-spliced pile-up of nouns ('the usage, the price sheet version, the cost and, once settled, the settlement, its transaction and the rows behind the onchain digest') that is hard to parse in one pass.

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, so the description carries the burden of explaining what comes back, and it enumerates the returned fields for both modes plus the endpoint. For a single-parameter read tool this is close to complete, with only error/empty-settlement handling left implicit.

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?

With one parameter and 100% schema description coverage, the schema already explains that request_id is the id returned with the completion (and the x-request-id header). The description only echoes 'request id' and the endpoint path, adding no format or constraint detail 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 resource (a request's receipt) and enumerates its contents: usage, price sheet version, cost, settlement, transaction, and onchain digest rows. It clearly distinguishes two retrieval modes (own request via API key vs. public receipt of any id), though it never names a sibling to contrast with.

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 explicit conditions for the two modes: 'With the API key that made the request' versus 'With no key: the public receipt of any request id, x402 ones included.' This tells the agent which invocation applies, but offers no guidance against alternatives such as balance or quote.

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

x402_payPay an x402 URLAInspect

Calls a URL that asks for an x402 payment and pays it for you: the gateway pays the seller in USDC from its own float and charges this key in USDF the seller's amount and the payer's fee (never free credit), within the key's and its agent's limits. Needs an API key. Returns the seller's answer with the payment and its receipt; a payment is charged only once the chain shows it, and one that never settles costs nothing. quote: true answers what it would cost and pays nothing. Third-party tools to call this way are listed under marketplace in list_tools (GET /v1/tools?source=marketplace).

NameRequiredDescriptionDefault
urlYesThe seller's URL (https)
bodyNoThe request body: text, or JSON sent as application/json
quoteNoAnswer the price and pay nothing
methodNoDefault GET, or POST when a body is given
headersNoHeaders for the seller (the payment headers are the gateway's)
networkNoPay on this network only: its CAIP-2 id, one GET /v1/x402/payer lists
max_priceNoThe most to pay in USDF, the fee included ("0.05")

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare readOnly=false, openWorld=true, idempotent=false, destructive=false; the description adds substantial behavior beyond that — how billing works (USDF charge covering seller amount plus payer fee, never free credit), settlement semantics (charged only once the chain shows it, an unsettled payment costs nothing), and the return content (seller answer plus payment and receipt). This is exactly the kind of financial/consequence disclosure an agent needs before invoking a money-spending call.

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

Conciseness4/5

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

Front-loaded with the core action and the payment model, then quote behavior, then discovery pointer — a sensible ordering. The single dense paragraph packs in a lot, and the closing list_tools pointer is slightly buried, but no sentence is 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?

With no output schema, the description correctly describes the return ('the seller's answer with the payment and its receipt') and covers auth, billing, and settlement risk for a 7-parameter mutating tool. It leaves the caller to infer request-body/method edge behavior and error outcomes (e.g., what happens on insufficient balance).

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description explains the quote parameter's effect, but that largely restates the schema's own text ('Answer the price and pay nothing'), and it adds nothing for method, body, headers, network, or max_price — all of which are already documented in the schema.

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

Purpose5/5

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

States a concrete verb and resource — 'Calls a URL that asks for an x402 payment and pays it for you' — and immediately clarifies the settlement model (gateway pays seller in USDC from float, charges the key in USDF). An agent can distinguish this from sibling tools like quote or balance without inspecting 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?

Gives explicit conditions: 'quote: true answers what it would cost and pays nothing' and points to list_tools with the marketplace source for discovering callable third-party URLs. Prerequisites (needs an API key, operates within key and agent limits) are stated. It stops short of naming when to use the sibling quote/quote_tool tool instead of the quote parameter.

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. 1 tool update
    • Changedx402_pay3 fields changed
      • changedInput schema / properties / network / description
        Previous value: -"Pay on this network only"New value: +"Pay on this network only: its CAIP-2 id, one GET /v1/x402/payer lists"
      • removedInput schema / properties / network / enum
        Removed value: -[
        -  "base",
        -  "solana"
        -]
      • addedInput schema / properties / network / maxLength
        Added value: +64
  2. 10 tool updates
    • First observedagents_market_call
    • First observedagents_market_search
    • First observedbalance
    • First observedchat
    • First observedlist_models
    • First observedlist_tools
    • First observedquote
    • First observedquote_tool
    • First observedreceipt
    • First observedx402_pay

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources