Diagnose x402 seller endpoints: what is wrong with your 402 challenge, and how to fix it.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Full explanation of one rule by id — what it checks, why it matters, how to fix it, and where the rule came from. Use when you want the reasoning without re-probing.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Full explanation of one rule by id — what it checks, why it matters, how to fix it, and where the rule came from. Use when you want the reasoning without re-probing.
| Argument | Type | Description |
|---|---|---|
| id |
| string |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
},
"additionalProperties": false
}The whole rule table. Knowing what was NOT checked is part of knowing what a clean result means.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Probe an x402 seller endpoint and report what it observes about it. Performs the handshake a paying client would: GET with no X-PAYMENT header, then checks the 402 challenge against 16 rules. Every finding says whether the rule comes from the x402 spec or from an observed facilitator rejection. Reports status "healthy" (nothing to report), "advisories" (only warn/info findings — the endpoint works), "defects_found" (at least one error-severity finding), "not_x402" or "unreachable".
| Argument | Type | Description |
|---|---|---|
| url* | string | The endpoint to probe, http(s) only. Private and loopback addresses are refused. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The endpoint to probe, http(s) only. Private and loopback addresses are refused."
}
},
"additionalProperties": false
}