Skip to main content
Glama

Server Details

Check any x402 endpoint before your AI agent pays it: trust grade, verdict, and hijack checks.

Ownership verified
Status
Healthy
Uptime
99.1% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Book0fEli/lumiere-paycheck
GitHub Stars
0
Server Listing
Lumière PayCheck

TDQS

A4.5/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct resource and action: aggregate stats (catalog_stats), single-endpoint lookup (check_endpoint), pre-payment gating (check_payment), discovery (top_endpoints), paid report (get_full_report), and post-payment feedback (report_outcome). The descriptions explicitly cross-reference each other ('use check_payment instead', 'use top_endpoints for discovery'), eliminating overlap.

Naming Consistency4/5

All names use consistent snake_case, and most follow a verb_noun pattern (check_endpoint, check_payment, get_full_report, report_outcome). The two noun-first names (catalog_stats, top_endpoints) are minor deviations but remain clear and predictable.

Tool Count5/5

Six tools is well-scoped for a monitoring/trust service, with no redundancy. Each tool earns its place by covering a distinct step in the endpoint-trust workflow.

Completeness4/5

The surface covers the full lifecycle: catalog overview, discovery, per-endpoint grading, payment approval, paid deep-dive, and buyer feedback. Minor gaps exist (e.g. no explicit search or batch-check tool on the free surface), but core workflows have no dead ends.

Available Tools

6 tools
catalog_statsx402 catalog statisticsA
Read-onlyIdempotent
Inspect

Get an overview of the whole monitored x402 catalog: how many endpoints are monitored, how many fall into each verdict (proceed, caution, avoid, free, insufficient_data), and when scores were last computed. Use it for context or reporting, for example to tell a user how much of the x402 ecosystem passes checks. It says nothing about any single endpoint: use check_endpoint for one endpoint, top_endpoints for a ranked list, or check_payment before paying. Read-only, free, no parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
forTeamsNoShort note about team plans (per-agent keys, spend limits, audit trail)
scoredAtYesWhen scores were last computed
byVerdictYesEndpoint count per verdict
endpointsYesEndpoints monitored

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that the tool is free and parameterless and characterizes the data as catalog-wide aggregates rather than per-endpoint detail, which is useful scoping context. It does not add anything beyond that (no rate limits, caching, or freshness caveats), so it is good but not rich.

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 scope and returned content before the routing guidance. Every sentence carries information, though the verdict enumeration and the 'for context or reporting' example add a little redundancy that keeps it short of maximally tight.

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?

An output schema exists, so the description need not detail return values, and it still sketches the shape of the result (counts per verdict, last computed). With zero parameters, full annotation coverage, and explicit sibling routing, an agent has everything needed to select and invoke this tool 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 takes zero parameters, which is the baseline-4 case. The description's closing 'no parameters' statement is consistent with the empty input schema and confirms that no filtering or pagination options exist.

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 ('Get an overview of the whole monitored x402 catalog') and enumerates the exact content returned: endpoint counts, verdict breakdown (proceed, caution, avoid, free, insufficient_data), and last-computed timestamps. It explicitly distinguishes itself from siblings by naming check_endpoint, top_endpoints, and check_payment as the tools for single-endpoint or ranked-list needs.

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

Usage Guidelines5/5

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

Gives explicit when-to-use ('for context or reporting, for example to tell a user how much of the x402 ecosystem passes checks') and explicit when-not ('says nothing about any single endpoint'), with a named alternative for each adjacent use case. Nothing is left to inference about routing between this and its siblings.

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

check_endpointCheck an x402 endpointA
Read-onlyIdempotent
Inspect

Get the trust verdict for one x402 endpoint: score (0-100), grade (A-F), and verdict (proceed, caution, avoid, free, or insufficient_data), plus uptime, delivery-test status, payout-wallet incidents, and how many independent buyers stand behind the seller's buyer wallets (we count customers, not wallets). Use it when you're deciding whether an endpoint is trustworthy at all, before you have a price quote. When you already have the 402 quote (amount and payTo) and are about to pay, use check_payment instead: it runs this same check and also verifies the price and wallet. To discover good endpoints rather than check a known one, use top_endpoints. Read-only and free; reflects monitoring every 30 minutes and real test payments, so a brand-new endpoint may return insufficient_data. Endpoints not in the catalog return monitored: false. API docs: https://github.com/Book0fEli/lumiere-paycheck/blob/main/docs/api.md

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL of the x402 endpoint including path, exactly as the agent will call it, e.g. https://api.example.com/v1/price.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe endpoint checked
authNoPresent when our paid test was refused for want of the seller's own sign-in (no money was taken). Have access? Send hasAccess: true to check_payment.
pageNoPublic page with the full history
gradeNoA delivered cleanly; B delivered with a caveat; C unconfirmed; D doesn't work as listed, no money lost; F costs money or unsafe; ? with too little data
scoreNo0-100; null for free resources
adviceNoWhat the verdict means for paying it, naming the actual cause
buyersNoWho is really behind the seller's buyers. Never changes the grade.
pointsNoThe points behind the score: uptime /40, speed /15, stability /25, delivery /20
probesNoChecks counted in the last 7 days
valuesNoAutomatic value checks on the latest paid response. A warning caps the grade at B, never avoid.
listingNoPresent only when the latest paid response differs from the listing's example or schema. The data is delivered.
reasonsNoEvery factor behind the grade, most important first: paid tests (with date and what came back), uptime, speed, payout wallet, price, listing
verdictYesproceed | caution | avoid | free | insufficient_data
deliveryNoverified = a real test payment was delivered; failing (see advice: an error after payment that didn't collect the money is D/caution; taking the money and failing is F/avoid); or unverified
forTeamsNoShort note about team plans (per-agent keys, spend limits, audit trail)
headlineNoOne sentence: the verdict and its main reason
decidedByNoWhich rule set the final score (e.g. a ceiling from a failed paid test), or that it came straight from the points
monitoredYesfalse if the endpoint isn't in the monitored catalog
payToModeNofixed, or per_request when the seller issues a new payout address per request
uptimePctNoShare of checks in the last 7 days that returned a valid payment quote
withdrawnNoPresent when the endpoint was withdrawn by its seller or is gone from the Bazaar: no longer for sale, don't pay it.
testedWithNoPresent when the latest passing paid test needed a sign-in or extra input: a seller-provided test account, a wallet sign-in, or the seller's declared test request.
buyerReportsNoWhat real buyers reported after paying. Never changes the grade; confirmations move the endpoint up our paid-test queue.
exampleInputNoPresent when the listing's own example input got 'not found' when we paid (no money taken): use real input.
requiredInputNoPresent when our paid test was refused for want of a header or input the listing doesn't document (no money taken).
valuesCheckedNoLatest paid check also passed known-answer value tests
walletIncidentsNoUnexplained payout-wallet changes
walletUnconfirmedNoRecent wallet changes nobody could confirm yet

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that the check is free, that it reflects monitoring every 30 minutes and real test payments, that a brand-new endpoint may return insufficient_data, and that uncataloged endpoints return monitored:false. These are concrete behavioral traits an agent needs to interpret the result.

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 purpose and return values, then usage routing, then caveats and a docs link. It is fairly long but nearly every sentence carries decision-relevant information; the trailing API docs URL is the only mildly extraneous element.

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?

An output schema exists, yet the description still helpfully previews the verdict vocabulary and edge-case return values. Combined with the weaker alternatives routing, an agent has everything needed to call this correctly and interpret results.

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 100% schema description coverage, so the schema already explains the url format and example. The description adds no parameter-level guidance beyond what the schema provides, matching the baseline 3 when the schema carries the semantic load.

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

Purpose5/5

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

The description states a specific verb and resource ('Get the trust verdict for one x402 endpoint') and enumerates the returned signals (score, grade, verdict, uptime, payout incidents, buyer counts). It is instantly distinguishable from siblings like check_payment and top_endpoints.

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

Usage Guidelines5/5

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

Explicit routing: use this 'before you have a price quote,' use check_payment 'when you already have the 402 quote... and are about to pay,' and use top_endpoints 'to discover good endpoints rather than check a known one.' Both when-to-use and named alternatives are covered.

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

check_paymentCheck an x402 payment before payingA
Read-onlyIdempotent
Inspect

Decide whether a specific x402 payment should go through: returns allow true/false with reasons. Checks the endpoint's trust verdict, that the amount is within your cap and not above the monitored price, and that the payTo wallet matches the one we've observed (catches swapped or hijacked wallets). Optionally (minOrganicShare) it also requires that enough of the seller's volume comes from independent buyers. Intended for right before a payment, with the amount, payTo, and network from the endpoint's 402 quote; allow is true only when every rule passes. Use check_endpoint instead if you only want an endpoint's grade without a quote in hand. Read-only and free; it doesn't make or block the payment itself. When allow is false, the reasons list explains why. API docs: https://github.com/Book0fEli/lumiere-paycheck/blob/main/docs/api.md

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL of the x402 endpoint you are about to pay, including path
payToNoWallet address from the endpoint's 402 quote
amountNoAmount about to be paid, atomic units (USDC has 6 decimals: 10000 = $0.01)
networkNoNetwork from the quote, e.g. eip155:8453
hasAccessNotrue if you have your own account, API key or sign-in with this seller. For endpoints that need the seller's sign-in on top of x402, allowCaution/requireVerified then don't block (we couldn't confirm delivery only because we can't sign in).
maxAmountNoYour hard cap for this payment in atomic units (USDC: 1000000 = $1). Payments above it are denied.
allowCautionNofalse = deny endpoints with a caution verdict too, not just avoid (default true)
priceToleranceNoOptional, 0-0.5 (default 0.02 = 2%): how far above the endpoint's recent prices still counts as the same price, for sellers whose price drifts (pegged to BTC, gas or FX). Bigger jumps are denied as overcharges.
minOrganicShareNoOptional, 0-1: deny sellers where less than this share of 30-day volume comes from independent buyers (e.g. 0.5). Not applied to sellers whose buyers haven't been reviewed yet.
requireVerifiedNotrue = only allow endpoints that delivered on a real test payment (default false)

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNo
allowYesPay only when true
gradeNo
notesNo
scoreNo
buyersNoWho is really behind the seller's buyers. Never changes the grade.
valuesNoAutomatic value checks on the latest paid response
listingNoPresent only when the latest paid response differs from the listing's example or schema. The data is delivered.
reasonsYesWhy it was allowed or denied
verdictNoproceed | caution | avoid | free | insufficient_data
deliveryNo
forTeamsNoShort note about team plans (per-agent keys, spend limits, audit trail)
observedNoThe latest payment quote our monitor saw
monitoredYesWhether the endpoint is in the monitored catalog
payToModeNo
reviewableNoDenied only for reasons a person may approve
afterPayingNoHow to report the outcome after paying (free, verified on-chain)
authRequiredNotrue: the seller needs its own sign-in on top of x402; send hasAccess: true if you have it
buyerReportsNoWhat real buyers reported after paying. Never changes the grade; confirmations move the endpoint up our paid-test queue.
gradeReasonsNoEvery factor behind the endpoint's grade (same as check_endpoint's reasons)
declaredPayToNoPayout wallets the seller declared itself
gradeHeadlineNoWhy the endpoint has its grade, in one sentence
walletUnconfirmedNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds behavior the annotations cannot: it is free, it does not make or block the payment itself, allow is true only when every rule passes, and the reasons list explains a false result. It also discloses the rule set being evaluated (trust verdict, cap, monitored price, payTo match, optional organic-share).

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 decision and the rule list, and every sentence carries new information (rules, optional rule, usage timing, alternative, safety profile, false-case behavior, docs link). It is dense and slightly long for a single paragraph, but there is no filler to cut.

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 an output schema present, return values need not be re-explained, yet the description still summarizes allow/reasons. For a 10-parameter decision tool it covers the decision logic, the preconditions, the alternative sibling, and a docs link — nothing an agent needs to invoke it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns above that by framing three parameters in context (amount/payTo/network come from the 402 quote) and by naming minOrganicShare with its intent. It still leaves maxAmount, allowCaution, and requireVerified entirely to the schema, so it does not fully substitute for per-parameter reading.

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 precise verb+resource ('Decide whether a specific x402 payment should go through') and immediately describes the return shape (allow true/false with reasons). It explicitly distinguishes itself from the sibling check_endpoint, so an agent can route 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 Guidelines5/5

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

Gives the exact moment to use it ('right before a payment, with the amount, payTo, and network from the endpoint's 402 quote') and names the alternative with the condition that selects it ('Use check_endpoint instead if you only want an endpoint's grade without a quote in hand'). Both when-to-use and when-to-use-something-else are explicit.

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

get_full_reportHow to get a full trust reportA
Read-onlyIdempotent
Inspect

Get instructions for buying the detailed paid report on one x402 endpoint (score breakdown, current price quote, wallet and price history, test-payment results). Returns the report URL, price, and network; it doesn't buy the report itself. The report is an x402 endpoint that your agent pays with any x402 client. Use it only when the free check_endpoint result isn't enough and the user wants the full history. The response also lists the other paid x402 checks (wallet risk, batch grades, watch alerts), paid the same way. Endpoints we don't monitor return 404 on the report URL and are never charged. API docs: https://github.com/Book0fEli/lumiere-paycheck/blob/main/docs/api.md

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL of the x402 endpoint you want the paid report for, including path

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
priceNo
networkNo
paymentNo
forTeamsNoShort note about team plans (per-agent keys, spend limits, audit trail)
availableNofalse when paid reports aren't enabled
reportUrlNoRequest this URL with an x402 client to buy the report
otherPaidChecksNoOther pay-per-call x402 checks, paid the same way

TDQS

A4.4/5.0
Behavior4/5

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

The annotations already declare a safe read-only, idempotent, non-destructive profile, and the description goes further by disclosing that the call itself does not perform the purchase, that payment happens through an x402 client on the returned report URL, and that unmonitored endpoints return 404 and are never charged. That is genuinely non-obvious behavior beyond the annotations, though actual billing mechanics (rate limits, cost of the quote call) remain unspecified.

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

Conciseness4/5

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

Purpose and the critical 'doesn't buy the report' caveat are front-loaded in the first two sentences, and the later sentences add routing, pricing, and edge-case value. It is a dense paragraph whose later clauses, such as the catalog of other paid checks, are slightly tangential to the core call.

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?

An output schema exists, so return values need not be re-explained, and the description still flags what the response contains plus the 404 edge case and a docs link. For a one-parameter read tool with annotations, an agent has everything needed to call it correctly.

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

Parameters3/5

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

With a single parameter at 100% schema description coverage, the schema already documents 'url' fully including the path requirement. The description implies the URL is an x402 endpoint but adds no format or validation detail beyond what the schema provides, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Get instructions for buying the detailed paid report on one x402 endpoint') and names the exact contents returned (score breakdown, price quote, wallet and price history). It explicitly distinguishes its scope from the free check_endpoint result, so an agent can separate it from its siblings without opening a schema.

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

Usage Guidelines5/5

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

Gives an explicit trigger ('Use it only when the free check_endpoint result isn't enough and the user wants the full history'), names the alternative by name, and clarifies the downstream action ('doesn't buy the report itself'). Nothing about when or when-not to call it is left to inference.

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

report_outcomeReport how a paid x402 call wentA
Idempotent
Inspect

After paying an x402 endpoint, report whether you got what you paid for. Free, optional, and open to every agent: send the receipt from a Lumière PayCheck allow decision (paid plans), or the endpoint url plus the payment's transaction hash (anyone; we verify the payment on-chain, Base or Solana, within 24 hours). Answer the short questions in answers: gotResponse, matchedListing (yes/partly/no), charged (as_quoted/more/twice), dataUsable (yes/unsure/no), wouldPayAgain. Reports never change a grade by themselves: confirmations from independent buyers move the endpoint up our paid-test queue, and serious problems (nothing came back, charged more or twice) trigger a re-test; only our own paid test changes the grade. One report per payment; the seller's own wallet can't report on itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
txNoThe payment's transaction hash (Base 0x...) or Solana signature
urlNoThe endpoint you paid (with tx, when you have no receipt)
answersNo
outcomeNoOptional shortcut instead of answers: delivered = usable; problem = error, empty, wrong or overcharged
receiptNoThe receipt from a Lumière PayCheck 'allow' decision (paid plans). Or send url + tx instead.
problemsNoShort descriptions, e.g. 'missing field price', 'HTTP 500'
httpStatusNoHTTP status the endpoint returned after payment, e.g. 200 or 500

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNo
paidNoAmount paid on-chain, atomic units
reasonNoWhy it wasn't accepted
thanksNo
flaggedNono_response, overcharged or double_charged: sent privately to the operator for an immediate re-test
networkNo
outcomeNo
acceptedYesWhether the report was recorded
forTeamsNoShort note about team plans (per-agent keys, spend limits, audit trail)
overchargeNoPresent when the on-chain payment was higher than any quote we saw
retestQueuedNoA paid re-test was queued because of reports
ourTestQueuedNoOur own paid test of this endpoint is queued (buyer confirmations or problem reports moved it up)
verifiedOnChainNoThe payment was found on-chain (reports sent with tx instead of a receipt)

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover mutation/idempotency safety, and the description adds substantial context beyond them: reports never change a grade alone, independent confirmations move the endpoint up the paid-test queue, serious problems trigger a re-test, on-chain verification happens within 24 hours on Base or Solana, and the self-reporting ban. This is exactly the kind of behavioral disclosure annotations do not carry.

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 submission options, and every sentence conveys information about eligibility, inputs, or effects. It is dense and the long parenthetical clauses make it slightly heavy, but there is little true filler.

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 7-parameter, nested-object tool with an output schema (so return values need not be described), the description covers submission routes, verification mechanics, eligibility limits, and downstream consequences of reporting. Nothing an agent needs to invoke it correctly is missing.

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

Parameters4/5

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

Schema coverage is already 86%, so the schema carries most parameter meaning. The description still adds value by explaining the receipt-vs-url+tx choice, enumerating the answer fields, and clarifying 'outcome' as a shortcut for answers, going beyond the raw schema text.

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 object ('report whether you got what you paid for' after paying an x402 endpoint) and clearly frames it as feedback on a paid call, which separates it from siblings like check_endpoint, check_payment, and get_full_report. An agent can identify the task 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 Guidelines5/5

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

Explicitly states when to use it (after paying an x402 endpoint), eligibility ('free, optional, and open to every agent'), the two submission paths (receipt from an allow decision vs url + tx), and constraints ('one report per payment; the seller's own wallet can't report on itself'). Alternatives and exclusions are named, not implied.

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

top_endpointsMost trustworthy x402 endpointsA
Read-onlyIdempotent
Inspect

List the x402 endpoints that are currently safest to pay (verdict proceed or caution, no payout-wallet incidents), best first, with score, grade, verdict, and whether a real test payment was delivered. Use it to discover reliable endpoints or pick between providers. To evaluate one specific endpoint use check_endpoint; to approve a payment use check_payment. Read-only and free; rankings update as monitoring runs (every 30 minutes).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many endpoints to return, 1-50 (default 10)

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
forTeamsNoShort note about team plans (per-agent keys, spend limits, audit trail)
endpointsYesBest first

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), and the description adds non-annotation context: it is free and rankings refresh as monitoring runs every 30 minutes. That freshness cadence is genuinely useful for an agent deciding whether to re-query, though nothing is said about pagination or result-size behavior.

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 core purpose before the sibling routing, and every clause carries information. Slightly dense when enumerating returned fields, but 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?

An output schema exists, so return values need not be enumerated in prose, and the description still names the key fields and the ranking rule. Combined with annotations and a fully documented parameter, an agent has what it needs to call this correctly; only pagination/truncation behavior is left unstated.

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

Parameters3/5

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

Schema coverage is 100% and the single limit parameter is fully documented with range and default in the schema. The description adds no syntax or meaning beyond that, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb (List) and resource (x402 endpoints) with explicit inclusion criteria (verdict proceed or caution, no payout-wallet incidents), ordering (best first), and returned fields (score, grade, verdict, test-payment delivery). An agent can distinguish this from check_endpoint and get_full_report without opening a schema.

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

Usage Guidelines5/5

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

Gives both the positive use case ('discover reliable endpoints or pick between providers') and explicit routing to alternatives ('To evaluate one specific endpoint use check_endpoint; to approve a payment use check_payment'). The when-to-use decision is fully specified.

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
    • Changedcatalog_stats1 field changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
  2. 1 tool update
    • Changedcheck_payment1 field changed
      • addedInput schema / properties / priceTolerance
        Added value: +{
        +  "description": "Optional, 0-0.5 (default 0.02 = 2%): how far above the endpoint's recent prices still counts as the same price, for sellers whose price drifts (pegged to BTC, gas or FX). Bigger jumps are denied as overcharges.",
        +  "maximum": 0.5,
        +  "minimum": 0,
        +  "type": "number"
        +}
  3. 2 tool updates
    • Changedcheck_endpoint5 fields changed
      • changedOutput schema / properties / advice / description
        Previous value: -"What the verdict means for paying it"New value: +"What the verdict means for paying it, naming the actual cause"
      • addedOutput schema / properties / decidedBy
        Added value: +{
        +  "description": "Which rule set the final score (e.g. a ceiling from a failed paid test), or that it came straight from the points",
        +  "type": "string"
        +}
      • addedOutput schema / properties / headline
        Added value: +{
        +  "description": "One sentence: the verdict and its main reason",
        +  "type": "string"
        +}
      • addedOutput schema / properties / points
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The points behind the score: uptime /40, speed /15, stability /25, delivery /20",
        +  "properties": {
        +    "delivery": {
        +      "type": "string"
        +    },
        +    "speed": {
        +      "type": "string"
        +    },
        +    "stability": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "string"
        +    },
        +    "uptime": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "uptime",
        +    "speed",
        +    "stability",
        +    "delivery",
        +    "total"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / reasons
        Added value: +{
        +  "description": "Every factor behind the grade, most important first: paid tests (with date and what came back), uptime, speed, payout wallet, price, listing",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "at": {
        +        "description": "Date of the event it's based on (YYYY-MM-DD)",
        +        "type": "string"
        +      },
        +      "effect": {
        +        "description": "positive, neutral or negative",
        +        "type": "string"
        +      },
        +      "factor": {
        +        "description": "data, delivery, uptime, speed, wallet, price, listing, values, access or withdrawn",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "The ceiling this factor puts on the grade, e.g. \"F (max 39)\"",
        +        "type": "string"
        +      },
        +      "text": {
        +        "description": "What we found, in plain words (paid-test results include the date and what came back)",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "factor",
        +      "effect",
        +      "text"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedcheck_payment2 fields changed
      • addedOutput schema / properties / gradeHeadline
        Added value: +{
        +  "description": "Why the endpoint has its grade, in one sentence",
        +  "type": "string"
        +}
      • addedOutput schema / properties / gradeReasons
        Added value: +{
        +  "description": "Every factor behind the endpoint's grade (same as check_endpoint's reasons)",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "at": {
        +        "description": "Date of the event it's based on (YYYY-MM-DD)",
        +        "type": "string"
        +      },
        +      "effect": {
        +        "description": "positive, neutral or negative",
        +        "type": "string"
        +      },
        +      "factor": {
        +        "description": "data, delivery, uptime, speed, wallet, price, listing, values, access or withdrawn",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "The ceiling this factor puts on the grade, e.g. \"F (max 39)\"",
        +        "type": "string"
        +      },
        +      "text": {
        +        "description": "What we found, in plain words (paid-test results include the date and what came back)",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "factor",
        +      "effect",
        +      "text"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
  4. 1 tool update
    • Changedcheck_endpoint1 field changed
      • addedOutput schema / properties / withdrawn
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when the endpoint was withdrawn by its seller or is gone from the Bazaar: no longer for sale, don't pay it.",
        +  "properties": {
        +    "at": {
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "reason": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "at",
        +    "reason",
        +    "note"
        +  ],
        +  "type": "object"
        +}
  5. 1 tool update
    • Changedcheck_endpoint2 fields changed
      • addedOutput schema / properties / requiredInput
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when our paid test was refused for want of a header or input the listing doesn't document (no money taken).",
        +  "properties": {
        +    "documented": {
        +      "type": "boolean"
        +    },
        +    "note": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "documented",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / testedWith
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when the latest passing paid test needed a sign-in or extra input: a seller-provided test account, a wallet sign-in, or the seller's declared test request.",
        +  "properties": {
        +    "how": {
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "how",
        +    "note"
        +  ],
        +  "type": "object"
        +}
  6. 1 tool update
    • Changedget_full_report1 field changed
      • addedOutput schema / properties / otherPaidChecks
        Added value: +{
        +  "description": "Other pay-per-call x402 checks, paid the same way",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "price": {
        +        "type": "string"
        +      },
        +      "request": {
        +        "type": "string"
        +      },
        +      "what": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "what",
        +      "request",
        +      "price"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
  7. 1 tool update
    • Changedcheck_endpoint3 fields changed
      • changedOutput schema / properties / delivery / description
        Previous value: -"verified = a real test payment was delivered; failing (see advice: an error after payment that didn't collect the money is caution, not avoid); or unverified"New value: +"verified = a real test payment was delivered; failing (see advice: an error after payment that didn't collect the money is D/caution; taking the money and failing is F/avoid); or unverified"
      • addedOutput schema / properties / exampleInput
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when the listing's own example input got 'not found' when we paid (no money taken): use real input.",
        +  "properties": {
        +    "found": {
        +      "type": "boolean"
        +    },
        +    "note": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "found",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / grade / description
        Previous value: -"A-F, or ? with too little data"New value: +"A delivered cleanly; B delivered with a caveat; C unconfirmed; D doesn't work as listed, no money lost; F costs money or unsafe; ? with too little data"
  8. 2 tool updates
    • Changedcheck_endpoint1 field changed
      • addedOutput schema / properties / auth
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when our paid test was refused for want of the seller's own sign-in (no money was taken). Have access? Send hasAccess: true to check_payment.",
        +  "properties": {
        +    "note": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "description": "true: the seller needs its own sign-in (account, API key or wallet signature) on top of x402",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "required",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedcheck_payment2 fields changed
      • addedInput schema / properties / hasAccess
        Added value: +{
        +  "description": "true if you have your own account, API key or sign-in with this seller. For endpoints that need the seller's sign-in on top of x402, allowCaution/requireVerified then don't block (we couldn't confirm delivery only because we can't sign in).",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / authRequired
        Added value: +{
        +  "description": "true: the seller needs its own sign-in on top of x402; send hasAccess: true if you have it",
        +  "type": "boolean"
        +}
  9. 3 tool updates
    • Changedcheck_endpoint3 fields changed
      • addedOutput schema / properties / buyerReports
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "What real buyers reported after paying. Never changes the grade; confirmations move the endpoint up our paid-test queue.",
        +  "properties": {
        +    "confirmed": {
        +      "description": "Buyers (customers or wallets) who reported a usable response in 7 days",
        +      "type": "number"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "ourTestQueued": {
        +      "description": "Our own paid test is queued for this endpoint",
        +      "type": "boolean"
        +    },
        +    "problems": {
        +      "description": "Buyers who reported a problem in 7 days",
        +      "type": "number"
        +    },
        +    "windowDays": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "confirmed",
        +    "problems",
        +    "ourTestQueued",
        +    "windowDays",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / delivery / description
        Previous value: -"verified = a real test payment was delivered; failing; or unverified"New value: +"verified = a real test payment was delivered; failing (see advice: an error after payment that didn't collect the money is caution, not avoid); or unverified"
      • addedOutput schema / properties / values
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Automatic value checks on the latest paid response. A warning caps the grade at B, never avoid.",
        +  "properties": {
        +    "checked": {
        +      "description": "true: automatic value checks passed on the latest paid test",
        +      "type": "boolean"
        +    },
        +    "warning": {
        +      "description": "A value that looks wrong (wrong subject, stale data, price far from the public spot price)",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "checked"
        +  ],
        +  "type": "object"
        +}
    • Changedcheck_payment3 fields changed
      • addedOutput schema / properties / afterPaying
        Added value: +{
        +  "description": "How to report the outcome after paying (free, verified on-chain)",
        +  "type": "string"
        +}
      • addedOutput schema / properties / buyerReports
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "What real buyers reported after paying. Never changes the grade; confirmations move the endpoint up our paid-test queue.",
        +  "properties": {
        +    "confirmed": {
        +      "description": "Buyers (customers or wallets) who reported a usable response in 7 days",
        +      "type": "number"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "ourTestQueued": {
        +      "description": "Our own paid test is queued for this endpoint",
        +      "type": "boolean"
        +    },
        +    "problems": {
        +      "description": "Buyers who reported a problem in 7 days",
        +      "type": "number"
        +    },
        +    "windowDays": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "confirmed",
        +    "problems",
        +    "ourTestQueued",
        +    "windowDays",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / values
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Automatic value checks on the latest paid response",
        +  "properties": {
        +    "checked": {
        +      "type": "boolean"
        +    },
        +    "warning": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "checked"
        +  ],
        +  "type": "object"
        +}
    • Changedreport_outcome12 fields changed
      • addedInput schema / properties / answers
        Added value: +{
        +  "properties": {
        +    "charged": {
        +      "description": "Were you charged the quoted amount, once?",
        +      "enum": [
        +        "as_quoted",
        +        "more",
        +        "twice"
        +      ],
        +      "type": "string"
        +    },
        +    "dataUsable": {
        +      "description": "Did the data look real and usable?",
        +      "enum": [
        +        "yes",
        +        "unsure",
        +        "no"
        +      ],
        +      "type": "string"
        +    },
        +    "gotResponse": {
        +      "description": "Did you get a response after paying?",
        +      "type": "boolean"
        +    },
        +    "matchedListing": {
        +      "description": "Did it match what the listing promised?",
        +      "enum": [
        +        "yes",
        +        "partly",
        +        "no"
        +      ],
        +      "type": "string"
        +    },
        +    "wouldPayAgain": {
        +      "description": "Would you pay this endpoint again?",
        +      "type": "boolean"
        +    }
        +  },
        +  "type": "object"
        +}
      • changedInput schema / properties / outcome / description
        Previous value: -"delivered = the response was usable; problem = error, empty, or wrong shape"New value: +"Optional shortcut instead of answers: delivered = usable; problem = error, empty, wrong or overcharged"
      • changedInput schema / properties / receipt / description
        Previous value: -"The receipt returned with the 'allow' decision"New value: +"The receipt from a Lumière PayCheck 'allow' decision (paid plans). Or send url + tx instead."
      • changedInput schema / properties / tx / description
        Previous value: -"Settlement transaction hash, if known (0x...)"New value: +"The payment's transaction hash (Base 0x...) or Solana signature"
      • addedInput schema / properties / url
        Added value: +{
        +  "description": "The endpoint you paid (with tx, when you have no receipt)",
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "receipt",
        -  "outcome"
        -]
      • addedOutput schema / properties / flagged
        Added value: +{
        +  "description": "no_response, overcharged or double_charged: sent privately to the operator for an immediate re-test",
        +  "type": "string"
        +}
      • addedOutput schema / properties / network
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / ourTestQueued
        Added value: +{
        +  "description": "Our own paid test of this endpoint is queued (buyer confirmations or problem reports moved it up)",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / overcharge
        Added value: +{
        +  "description": "Present when the on-chain payment was higher than any quote we saw",
        +  "type": "string"
        +}
      • addedOutput schema / properties / paid
        Added value: +{
        +  "description": "Amount paid on-chain, atomic units",
        +  "type": "string"
        +}
      • addedOutput schema / properties / verifiedOnChain
        Added value: +{
        +  "description": "The payment was found on-chain (reports sent with tx instead of a receipt)",
        +  "type": "boolean"
        +}
  10. 2 tool updates
    • Changedcheck_endpoint3 fields changed
      • changedOutput schema / properties / listing / description
        Previous value: -"Present only when the latest paid response doesn't match the listing's example. The data is delivered; the grade is capped at B until the listing matches."New value: +"Present only when the latest paid response differs from the listing's example or schema. The data is delivered."
      • addedOutput schema / properties / listing / properties / capped
        Added value: +{
        +  "description": "true: the data is reshaped vs the listing (nested, list vs item), grade capped at B; false: a minor gap, warning only",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / listing / properties / sellerFix / description
        Previous value: -"What the seller changes to lift the B cap"New value: +"What the seller can change"
    • Changedcheck_payment3 fields changed
      • changedOutput schema / properties / listing / description
        Previous value: -"Present only when the latest paid response doesn't match the listing's example. The data is delivered; the grade is capped at B until the listing matches."New value: +"Present only when the latest paid response differs from the listing's example or schema. The data is delivered."
      • addedOutput schema / properties / listing / properties / capped
        Added value: +{
        +  "description": "true: the data is reshaped vs the listing (nested, list vs item), grade capped at B; false: a minor gap, warning only",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / listing / properties / sellerFix / description
        Previous value: -"What the seller changes to lift the B cap"New value: +"What the seller can change"
  11. 2 tool updates
    • Changedcheck_endpoint1 field changed
      • addedOutput schema / properties / listing
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present only when the latest paid response doesn't match the listing's example. The data is delivered; the grade is capped at B until the listing matches.",
        +  "properties": {
        +    "matchesExample": {
        +      "description": "false: the paid response differs from the seller's own example",
        +      "type": "boolean"
        +    },
        +    "sellerFix": {
        +      "description": "What the seller changes to lift the B cap",
        +      "type": "string"
        +    },
        +    "warning": {
        +      "description": "How the real response differs, and where to read the fields",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "matchesExample",
        +    "warning",
        +    "sellerFix"
        +  ],
        +  "type": "object"
        +}
    • Changedcheck_payment1 field changed
      • addedOutput schema / properties / listing
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present only when the latest paid response doesn't match the listing's example. The data is delivered; the grade is capped at B until the listing matches.",
        +  "properties": {
        +    "matchesExample": {
        +      "description": "false: the paid response differs from the seller's own example",
        +      "type": "boolean"
        +    },
        +    "sellerFix": {
        +      "description": "What the seller changes to lift the B cap",
        +      "type": "string"
        +    },
        +    "warning": {
        +      "description": "How the real response differs, and where to read the fields",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "matchesExample",
        +    "warning",
        +    "sellerFix"
        +  ],
        +  "type": "object"
        +}
  12. 2 tool updates
    • Changedcheck_endpoint1 field changed
      • addedOutput schema / properties / buyers
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Who is really behind the seller's buyers. Never changes the grade.",
        +  "properties": {
        +    "buyerWallets30d": {
        +      "description": "Buyer wallets that paid the seller in 30 days",
        +      "type": "number"
        +    },
        +    "estimated": {
        +      "description": "true when counted from a sample of buyers",
        +      "type": "boolean"
        +    },
        +    "flags": {
        +      "description": "coordinated_wallets, self_funded, concentrated_buyers, shared_operator, estimated, partial_lookup",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "independentBuyers30d": {
        +      "description": "Independent buyers behind the seller's buyer wallets in 30 days (wallets funded from one source count as one)",
        +      "type": "number"
        +    },
        +    "organicShare": {
        +      "description": "0-1: share of 30-day volume from independent buyers",
        +      "type": "number"
        +    },
        +    "reviewed": {
        +      "description": "false until the seller's buyers have been reviewed (the biggest sellers are reviewed daily)",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "reviewed"
        +  ],
        +  "type": "object"
        +}
    • Changedcheck_payment2 fields changed
      • addedInput schema / properties / minOrganicShare
        Added value: +{
        +  "description": "Optional, 0-1: deny sellers where less than this share of 30-day volume comes from independent buyers (e.g. 0.5). Not applied to sellers whose buyers haven't been reviewed yet.",
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedOutput schema / properties / buyers
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Who is really behind the seller's buyers. Never changes the grade.",
        +  "properties": {
        +    "buyerWallets30d": {
        +      "description": "Buyer wallets that paid the seller in 30 days",
        +      "type": "number"
        +    },
        +    "estimated": {
        +      "description": "true when counted from a sample of buyers",
        +      "type": "boolean"
        +    },
        +    "flags": {
        +      "description": "coordinated_wallets, self_funded, concentrated_buyers, shared_operator, estimated, partial_lookup",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "independentBuyers30d": {
        +      "description": "Independent buyers behind the seller's buyer wallets in 30 days (wallets funded from one source count as one)",
        +      "type": "number"
        +    },
        +    "organicShare": {
        +      "description": "0-1: share of 30-day volume from independent buyers",
        +      "type": "number"
        +    },
        +    "reviewed": {
        +      "description": "false until the seller's buyers have been reviewed (the biggest sellers are reviewed daily)",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "reviewed"
        +  ],
        +  "type": "object"
        +}
  13. 6 tool updates
    • First observedcatalog_stats
    • First observedcheck_endpoint
    • First observedcheck_payment
    • First observedget_full_report
    • First observedreport_outcome
    • First observedtop_endpoints

Publisher details

Operator
Lumière LLC · Publisher source
Vendor relationship
First-party
Restrictions
Not applicable

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Before an AI agent pays an x402 endpoint, checks whether it's safe to pay: liveness, scam/anomaly scan (payTo hijack, bait-and-switch, honeypot), and on-chain receiver verification. ~70% of x402 endpoints are dead or scams.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Verify x402 endpoints before your agent spends. Three tools: verify (SPEND/CAUTION/INVESTIGATE/DO NOT SPEND backed by 50K+ services), passport (full trust identity), risk_check (deep assessment). No API keys, no signup.
    12 npm
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Archived and no longer maintained. Tools and prices shown here are out of date. Use the maintained server: glama.ai/mcp/servers/OceanAlt666/oceanalt-aml-mcp (GitHub: OceanAlt666/oceanalt-aml-mcp).
    280 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Pay-per-call checks an AI agent runs before it moves money: token safety verdicts and wallet risk profiles on Base, on-chain payment verification, IBAN/VAT/BIC/LEI/ISIN validation, and live TLS and email-spoofing posture for a domain. Paid in USDC over x402 with no API key or account; the free payment_info tool explains the pricing.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.