SCRIPTMASTERLABS — 402Proof
Server Details
x402 payment firewall + Agent Credit Bureau. Invoice/verify/score via RLUSD on XRPL.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 11 tools
The payment flow tools (get_invoice, verify_payment, get_compliance_receipt) are clearly distinct, but a cluster of free wallet-intelligence tools overlaps heavily: bureau_public_score, check_loyalty, and get_agent_passport all return score/loyalty/tier data for the same wallet, and bureau_full_report vs get_agent_passport both read as 'full profile' calls. Descriptions do help separate them (passport = payment history + risk, full_report = score breakdown + spend history), but an agent can still plausibly misselect among them.
Most names are verb_noun (check_loyalty, get_invoice, verify_payment, get_compliance_receipt), but five tools use a 'bureau_' namespace prefix instead of a verb (bureau_full_report, bureau_public_score), creating two competing conventions. The mix is readable but not predictable — you cannot tell from the name alone whether a tool is bureau-scoped or a generic verb_noun action.
Eleven tools is well within the ideal range and each maps to a distinct step or artifact in the credit-bureau/payment lifecycle (score, report, attestation issue/verify, threshold, invoice, payment verification, receipt, stats, loyalty). Nothing feels padded or missing at the count level.
The core lifecycle is covered end to end: get an invoice, verify payment, retrieve a compliance receipt, and query/attest/verify credit standing. Minor gaps exist — no way to list or look up receipts/invoices by wallet, and no attestation revocation or dispute path — but agents can work around these.
Available Tools
11 toolsbureau_full_reportCInspect
Full credit bureau report: score breakdown, spend history, risk factors. Cost: 0.01 RLUSD.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | ||
| payment_token | No |
TDQS
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 one meaningful trait: this is a paid call costing 0.01 RLUSD. However, it never explains the payment flow — whether payment_token must be supplied, what happens when it is omitted, or whether the call fails without payment — which is the critical behavioral question for a metered tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler; the contents and price are stated immediately. It is efficient, though the terseness comes at the cost of the missing guidance noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid tool with no annotations, no output schema, and 0% parameter documentation, the description should at minimum explain the payment/token mechanics and roughly what a report returns. It gestures at the report contents but leaves the payment path and parameter roles entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and neither parameter is described. The description says nothing about what 'wallet' identifies (subject vs. payer) or about the role of 'payment_token', leaving the key ambiguity — whether payment_token is required to satisfy the 0.01 RLUSD cost — unresolved in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a concrete resource ('Full credit bureau report') and enumerates its contents: score breakdown, spend history, risk factors. The word 'Full' implicitly separates it from lighter siblings like bureau_public_score or bureau_get_attestation, but the contrast is never made explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this rather than bureau_public_score, bureau_get_attestation, or bureau_verify_threshold. The only usage-relevant information is the cost, which tells the agent this is a paid call but not when it is warranted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bureau_get_attestationBInspect
Portable attestation JWT (24h TTL) proving creditworthiness. Cost: 0.01 RLUSD.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | ||
| payment_token | No |
TDQS
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 output type (JWT), validity window (24h), and price (0.01 RLUSD), but says nothing about payment flow, wallet ownership checks, signature/verification behavior, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the defining properties front-loaded; nothing is repeated or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid credential-issuance tool with two undocumented parameters and no output schema, the definition is too thin. It omits how payment is supplied, what the JWT response contains, and how this relates to verification siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description needs to define wallet and payment_token. It only alludes to cost, which loosely implies why payment_token exists, but never explains the wallet parameter or whether payment_token is mandatory or optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the concrete resource produced (a portable attestation JWT) and its key properties (24h TTL, proves creditworthiness). It does not explicitly distinguish this from bureau_public_score or bureau_full_report, so an agent must infer that this is the portable-proof variant rather than a score/report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or comparison to siblings such as bureau_verify_attestation or bureau_public_score. The phrase 'proving creditworthiness' hints at a use case, but the agent gets no exclusion rules or decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bureau_public_scoreBInspect
FICO-style 300-850 Agent Credit Bureau score for any XRPL wallet. Includes grade and loyalty tier. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the score range, included fields, and that there is no cost, but says nothing about preconditions (does the wallet need to be activated?), behavior for unknown wallets, or rate limits/commercial tiering despite marketing it as 'free'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core output, then the included fields, then the cost note. No filler; the only slight waste is that 'FICO-style' is marketing color rather than actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read with no output schema and no annotations, the definition covers what the result contains (score, grade, loyalty tier), which is the main thing. It still lacks error/edge-case behavior and any pointer to bureau_full_report or get_agent_passport for richer data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'wallet' parameter is bare, so the description must compensate. It does partly by specifying 'any XRPL wallet', telling the agent this is an XRPL address rather than an internal ID, but gives no format or example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: a 300-850 credit score for an XRPL wallet, with the extra outputs (grade, loyalty tier) named. It is clear what the tool returns, but it never explicitly contrasts itself with the sibling bureau_full_report, so the 'public' vs 'full' distinction is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'Free' plus 'public' hints that this is the lightweight, no-cost alternative to bureau_full_report, but no when-to-use or when-not-to-use statement is made. An agent must infer that it should pick this over the sibling for a quick score check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bureau_verify_attestationBInspect
Verify a bureau attestation JWT. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It communicates only cost ('Free') and says nothing about what verification actually returns (valid/invalid, claims, expiry), whether the token must originate from the bureau, or what errors look like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and with zero filler. Every clause contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter verification tool the essentials (what it verifies) are present, but with no output schema and no annotations the description should explain the return outcome and failure semantics. Those gaps leave it only minimally sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the single 'token' property is completely undocumented in the schema. The description partially compensates by identifying the token as an 'attestation JWT', clarifying its nature, but adds no format, encoding, or sourcing requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (verify) and resource (bureau attestation JWT), which is distinct from sibling bureau_get_attestation (fetch) and bureau_verify_threshold (threshold check). It does not explicitly name or exclude a sibling, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus bureau_get_attestation, bureau_verify_threshold, or the other siblings. 'Free' hints at a cost consideration but says nothing about preconditions or the choice between verification tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bureau_verify_thresholdBInspect
Boolean creditworthiness check — is this wallet above a score threshold? Cost: 0.005 RLUSD.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | ||
| payment_token | No |
TDQS
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 the cost and that the result is boolean, but it does not explain payment_token requirements, whether the operation is read-only, where the threshold comes from, or what happens on payment failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It communicates the core purpose and cost efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid verification tool with no annotations, no output schema, and 0% parameter description coverage, the description is too sparse. It should clarify payment_token handling, threshold source, and expected failure modes, especially given the unexplained cost mechanism.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It implies that wallet is the subject of the check and that a cost is involved, but payment_token is never explained, and the referenced threshold is not actually a parameter in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific check: a boolean creditworthiness test for whether a wallet exceeds a score threshold. This is clearer than the sibling tools that retrieve full reports or public scores, though it does not explicitly name or contrast those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The boolean framing implies the tool should be used when only a pass/fail answer is needed, and the cost is disclosed. However, there is no explicit guidance on when to choose this over bureau_public_score, bureau_full_report, or other verification siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_loyaltyBInspect
Loyalty tier and free-call balance for any XRPL wallet. Automatic — no registration. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes |
TDQS
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 valuable context (no registration, no cost, works for any wallet), which is real behavioral value. However, it does not state that the call is read-only/non-mutating, nor what happens for an unregistered or malformed wallet, leaving the agent to infer the failure mode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short fragments, front-loaded with the resource and followed by cost/prerequisite facts; nothing is wasted. Its terseness is more a completeness gap than a verbosity problem.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with no output schema and no annotations, the description is only marginally adequate: it says what is returned conceptually but not in what shape, and not how it behaves on unknown wallets. It could easily carry those two facts in one more sentence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% — the single 'wallet' parameter is an undescribed string. The phrase 'for any XRPL wallet' does tell the agent the value must be an XRPL address rather than an arbitrary string, which is genuine added meaning. But the address format (classic r-address vs X-address) and validation behavior remain unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — loyalty tier plus free-call balance — scoped to XRPL wallets, so an agent knows exactly what it retrieves. It is clearly distinct from all siblings (bureau reports, invoices, payment verification, platform stats), though it doesn't explicitly contrast with any of them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Automatic — no registration. Free.' describes prerequisites and cost, not when to use the tool. There is no statement of when this is the right call versus get_agent_passport, platform_stats, or get_invoice, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_passportBInspect
Full Agent Passport for any XRPL wallet: payment history, risk score 0-100, loyalty tier, passport hash. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses cost ('Free') and the shape of what comes back (payment history, risk score range, tier, hash), which is real context. But it says nothing about whether the wallet must exist, behavior for unknown wallets, auth needs, rate limits, or freshness of the data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the resource and then lists contents. Every clause carries information; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with no output schema, enumerating the returned fields compensates well for the missing schema. The remaining gap is the wallet value format and lookup-failure behavior, which matters given no annotations exist to cover it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required 'wallet' parameter. The phrase 'for any XRPL wallet' adds some meaning — it signals the value is an XRPL wallet identifier rather than an arbitrary string — but it does not give address format (e.g., r-address) or validation expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Agent Passport) scoped to any XRPL wallet, and enumerates the payload (payment history, risk score 0-100, loyalty tier, passport hash). This is clear and content-rich. However, it never distinguishes itself from overlapping siblings like bureau_full_report, bureau_public_score, or check_loyalty, which cover much of the same ground.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative-selection guidance. With siblings like bureau_full_report and check_loyalty that clearly overlap on risk score and loyalty tier, the agent is left to guess which tool to pick. The enumerated payload implies usage but does not state it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compliance_receiptBInspect
Retrieve a tamper-evident compliance receipt by UUID. Contains XRPL tx hash, agent wallet, endpoint, amount, and timestamp. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the tamper-evident nature and the returned fields plus cost, but says nothing about auth requirements, what happens when the receipt_id is unknown or malformed, or whether receipts expire — meaningful gaps for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the verb-resource-identifier, then the payload contents, then cost. Nothing is wasted or repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, enumerating the receipt contents (tx hash, wallet, endpoint, amount, timestamp) is genuinely useful. For a simple single-parameter read tool this is nearly sufficient; only error and auth behavior are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter has no description, so the description must compensate. It does, partially, by stating the identifier is a UUID, implying the expected format and that an opaque internal ID will not work, but it gives no example or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb ('Retrieve') plus a well-named resource ('tamper-evident compliance receipt') and the lookup key (UUID), which separates it from verify_payment and bureau_* verification tools. It does not clarify its relationship to the adjacent get_invoice, so the distinction is implied 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: if you hold a receipt_id you call this to fetch it. The only explicit guidance is 'Free', which tells the agent there is no cost barrier, but there is no statement of when to prefer this over get_invoice or bureau_get_attestation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_invoiceAInspect
Request a payment invoice for any SqueezeOS endpoint. Returns destination address, amount, and payment_options for XRPL (RLUSD or USDC), Xahau (native XAH), Base (USDC), or Solana (USDC-SPL). Pass currency='USDC' and chain='solana' for Solana; pass asset='XAH' (or chain='xahau') for the Xahau rail. Xahau invoices for third-party endpoints also return fee_required/fee_amount/fee_pay_to/fee_memo_hex: a flat 0.01 XAH facilitator fee paid as a second Xahau Payment (SML endpoints are fee-exempt; the XRPL rail has no facilitator fee). Free.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | RLUSD (default, XRPL), USDC (XRPL/Base/Solana per chain), or XAH (Xahau) | |
| chain | No | solana — use Solana USDC-SPL rail; base — use Base USDC rail; xrpl — use USDC on XRPL; xahau — use Xahau native-XAH rail | |
| currency | No | USDC for Base/Solana rail; omit for RLUSD on XRPL | |
| endpoint_id | Yes | UUID of endpoint to pay for |
TDQS
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 declares the call free, quantifies the Xahau facilitator fee (flat 0.01 XAH, paid as a second Payment), and names the exemption (SML endpoints) and the rail with no fee (XRPL). It omits whether the invoice is persisted, whether it expires, and any auth requirements, which a mutation-adjacent tool would ideally state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what the tool returns, then rail routing, then fee behavior. Dense but every clause carries operational information an agent needs to pick parameters or predict cost; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by naming the returned fields (destination address, amount, payment_options, and the fee_* set on Xahau third-party endpoints). That covers selection and expectation-setting; remaining gaps are lifecycle details like invoice expiry and idempotency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the per-parameter baseline is a 3; the description earns above that by documenting cross-parameter combinations the schema cannot express individually (currency plus chain for Solana, asset or chain for Xahau). It does not add format or validation detail beyond the routing rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Request a payment invoice') scoped to 'any SqueezeOS endpoint', and lists the concrete rails it covers. An agent can distinguish this from verify_payment or get_compliance_receipt 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit parameter routing for each rail ('currency=USDC and chain=solana for Solana', 'asset=XAH (or chain=xahau) for Xahau'), which is real selection guidance. It stops short of naming when to use this versus sibling tools such as verify_payment, so no exclusions or tool-level alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
platform_statsAInspect
Live 402Proof platform stats: total payments, volume, active agents. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose that data is live/real-time and free (no billing cost), which is genuine added context. It says nothing about authentication requirements, rate limits, or whether values are cumulative or windowed, though for a zero-argument read-only stats endpoint the risk surface is small.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded clause naming the resource and its metrics, with the salient facts ('Live', 'Free') placed at the edges. No waste, though the telegraphic style and trailing 'Free.' read slightly like marketing copy rather than specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must indicate what comes back, and it does by listing the three metrics. For a zero-parameter, zero-annotation stats endpoint, remaining gaps (units for 'volume', time window) are minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema offers nothing to interpret and the baseline of 4 applies. The description does not need to explain inputs and correctly spends its words on outputs instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (402Proof platform stats) and enumerates the three metrics returned (total payments, volume, active agents). It is readily distinguishable from every sibling, none of which report aggregate platform statistics. It stops short of an explicit 'this is the only aggregate-stats endpoint' differentiation, but the verb/resource pair is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Live' and 'Free' implicitly signal when to reach for this tool: a zero-cost, no-parameter snapshot of platform-wide numbers, as opposed to the per-entity siblings (get_invoice, verify_payment, bureau_public_score). There is no explicit statement of when not to use it or of an alternative, so the guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_paymentAInspect
Submit tx_hash after paying an invoice. Supports XRPL, Xahau, Base (0x… hash), and Solana. Returns a signed JWT access_token (1-hour TTL). For a Xahau invoice with fee_required=true, also submit fee_tx_hash (the 0.01 XAH facilitator-fee payment) — settlement requires both payments. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| tx_hash | Yes | XRPL/Xahau: 64-char hex; Base: 0x-prefixed hex; Solana: base58 signature | |
| invoice_id | Yes | ||
| fee_tx_hash | No | Xahau only, when the invoice has fee_required=true: tx hash of the 0.01 XAH facilitator-fee payment to fee_pay_to carrying fee_memo_hex | |
| agent_domain | No | ||
| agent_wallet | Yes | ||
| recovery_secret | Yes | Private high-entropy secret returned only with the original invoice; required to recover a previously settled token after lost response/restart |
TDQS
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 valuable traits a schema cannot: returns a signed JWT access_token with a 1-hour TTL, requires both on-chain payments for Xahau fee_required settlement, and is free. It says nothing about failure modes, idempotency, or whether the tx must be confirmed on-chain before submission, which are the behaviors that matter most for a settlement-verification call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short clauses, each with distinct payload: the action, the chain formats, the JWT return with TTL, the Xahau dual-payment caveat, and the cost. The main instruction is front-loaded and nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with no annotations and no output schema, the description does cover the return value (signed JWT, 1-hour TTL) and the tricky Xahau case. But the roles of agent_wallet and agent_domain, and the relationship the submitted tx_hash must have to the invoice, remain unexplained, leaving real gaps for a mutation-style settlement call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: tx_hash, fee_tx_hash, and recovery_secret are already documented in the schema, and the description mostly restates those (format per chain, fee_required condition). The undocumented parameters invoice_id, agent_wallet, and agent_domain get no semantic explanation in the description, so the coverage gap is not compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (submit tx_hash to verify payment for an invoice) plus the supported chains and the return artifact, so the action is unambiguous. It does not explicitly differentiate itself from siblings like get_invoice or get_compliance_receipt, leaving the agent to infer the invoice-then-verify sequence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Submit tx_hash after paying an invoice" gives a clear precondition, and the Xahau branch ("with fee_required=true, also submit fee_tx_hash") is an explicit conditional instruction. There is no guidance on failure/retry paths, whether it can be re-called for an already-settled invoice, or which sibling to use instead for read-only invoice lookups.
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.
11 tool updates
- First observed
bureau_full_report - First observed
bureau_get_attestation - First observed
bureau_public_score - First observed
bureau_verify_attestation - First observed
bureau_verify_threshold - First observed
check_loyalty - First observed
get_agent_passport - First observed
get_compliance_receipt - First observed
get_invoice - First observed
platform_stats - First observed
verify_payment
Related MCP Connectors
x402 payment firewall + Agent Credit Bureau. Invoice/verify/score via RLUSD on XRPL.
Wallet trust scores for AI agents. Stellar, XRPL, EVM 81+ chains. OFAC sanctions. x402 payments. Multi-chain wallet trust scoring for AI agents. Score Stellar, XRPL, and EVM wallets across 81+ chains with real-time OFAC/UN/EU sanctions screening. Pay per query via x402 USDC micropayments on Stellar or Base — no accounts, no API keys required.
XRPL escrow for agent-to-agent payments: hire, prove, AI-audit, auto-pay on PASS.
Counterparty risk scoring for agentic commerce via x402 micropayments.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables agents and developers to check x402 endpoints, assess scores and wallet risks, authorize payments with spending rules, and report outcomes before an agent pays.6MIT
- AlicenseAqualityDmaintenanceCounterparty risk scoring for agentic commerce. Scores wallets, domains, IPs, and companies 0-100 before AI agents transact via x402 micropayments on Base13MIT
- FlicenseAqualityDmaintenanceVerified Latin American data for autonomous AI agents via x402 micropayments. Sanctions screening (OFAC SDN + SARLAFT + CNBV + COAF + UAF) with EU AI Act Art.12/13 compliant hash-chain audit trail, entity enrichment (RUES/CNPJ/RFC), and real-time LATAM central bank rates including Argentina dólar blue. $0.02–$0.10 USDC per call on Base and Solana. No API key required.41-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to build, validate, and submit ledger-native XRPL transactions against public nodes — escrows, XRP and token payments, DEX/AMM swaps and liquidity, issuer clawback, and x402 pay-per-request — with validated-ledger proof of results. State-changing calls go to the account owner for browser signing, while an owner-funded agent account allows autonomous spending bounded by on-ledger balance and local policy limits.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.