MCP
An MCP server an agent calls mid-run to ask whether the endpoints it is about to use are duplicates of each other.
MCP - Model Context Protocol - is the tool-calling standard. It is not a payment protocol. Payment for this server is handled by x402 at the transport layer, in USDC on Base. There is no package to install, no key to obtain, and no account to create.
Install
The server address is published here when the server is deployed. Nothing on this page is installable before then. The tool schemas, the response format, and the payment envelope below are final and can be read against now.
Tools
check_stack
The primary tool. Given 2 to 12 endpoint URLs, it returns the groups that returned identical responses, the endpoints that matched nothing, the observed price of each, and which member of each group is cheapest.
cached answers from the existing corpus only, costs less, and returns immediately. live triggers a probe run, costs more, takes longer, and adds to the corpus.
input:
endpoints string[] 2 to 12 URLs
depth string "cached" | "live" default "cached"
output:
checked_at string
depth string
groups [ { endpoint_ids: string[],
matched_fields: int,
compared_fields: int,
confidence: string } ]
unmatched string[]
prices [ { endpoint: string,
price_usd: number,
multiple_vs_cheapest: number,
observed_at: string } ]
cheapest_in_group [ { group: int, endpoint: string } ]
coverage { known: int, unknown: int }
limits string[]get_cluster
Given an endpoint URL, returns its cluster if it has one, with the member list, the price range, the spread multiple, the confidence, and the URL of the public evidence page.
cheapest_equivalent
Given an endpoint URL, returns the cheapest observed member of its cluster with the price difference and the date that price was observed. Where no cluster exists it returns nothing rather than a guess.
What the response guarantees
These hold on every call. An agent acts on the response without a human reading it, so they are enforced in the server rather than left to convention.
- A match is never returned at confidence: low. The endpoints are returned as unmatched, with the reason.
- Every price carries observed_at. A stale price acted on automatically is a real cost to the caller.
- coverage is always present, so an absence of duplication can be told apart from an absence of data. An endpoint that has never been observed is reported as unknown rather than as clean.
- limits is always present and carries the four things the method cannot see, in full, in every payload. They are also published at /method.
What it costs per call
The per-call price is quoted in the x402 payment challenge the server returns, so a caller reads it at the moment of the call rather than from this page. The cached depth is priced below the livedepth, which carries the cost of the probe run it triggers. Both figures are set from the measured price census rather than chosen.
Payment envelope
protocol x402 over HTTP
asset USDC
chain Base mainnet
chain_id eip155:8453The facilitator is stated here once it is confirmed at deployment. The receiving address is published here once it is set. No payment is quoted against an address this page has not stated.
Payment is per call at the transport layer. A caller that does not pay receives a 402 with the quote and no data.