mcpbeat Sign in

x402 Doctor MCP Server

answering

x402 Doctor is answering right now. Last checked 4 min ago. It exposes 11 tools. Last commit 16 Oct 2026.

Is this x402/MPP API safe to pay? $0.001 preflight, fixes, a $0.25 test purchase. Free quick check.

Uptime history 22 days of history · worst day 98%
22 days agonow
100.0%
Uptime 24h
184 of 184 checks
11
Tools
read from the server
323 ms
Response time
average over 24h
1
Stars
last commit 16 Oct 2026

What changed 15

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 27 September 2026. No other catalogue keeps this.

15 Oct 4 tool descriptions were rewritten x402_diagnose, x402_fix, x402_preflight and 1 more
15 Oct a tool appeared verify_receipt
12 Oct 2 tools appeared x402_delivery_check, x402_delivery_status
12 Oct a tool description was rewritten x402_preflight
3 Oct a tool appeared check_payment_proof
29 Sep 2 tools appeared x402_preflight_batch, x402_preflight_deep
28 Sep a tool appeared feedback
27 Sep 3 tool descriptions were rewritten x402_diagnose, x402_fix, x402_preflight

What the code does

We read the source, 23 h ago · tools taken from the live server · rules ccca72095570

A tool parameter reaches a dangerous call

A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.

A tool parameter reaches a dangerous call x402_diagnose.method → lib/credits.js:113, x402_diagnose.method → lib/credits.js:118, x402_preflight.method → lib/credits.js:113 и ещё 7
      const r = Number(await need().eval(TAKE, { keys: [k(hash)], arguments: [String(n)] }));
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command media/explainer/build.py:29
    subprocess.run(cmd, check=True)
    with open(os.path.join(HERE, args.script)) as f:
Executes code built at runtime lib/credits.js:113
      const r = Number(await need().eval(TAKE, { keys: [k(hash)], arguments: [String(n)] }));
      $("who").innerHTML = account.toLowerCase() === AUTHORITY.toLowerCase()
Touches key and credential files lib/jev-poison.js:28
  String.raw`\b(read|open|cat|include)\b.{0,30}(~\/|\.ssh|id_rsa|\.env\b|mcp\.json|private key|seed phrase|mnemonic)`,
Sends data to a third-party sink lib/lightning.js:56
  if (!PROFILES.has(extra.requestBindingProfile)) problems.push(`extra.requestBindingProfile must be "http:1" or "mcp:1" (is ${JSON.stringify(extra.requestBindingProfile)})`);

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

A tool parameter here reaches a dangerous call

That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 4 min ago.

run in your terminal
claude mcp add x402-doctor --transport http https://x402-doctor.onrender.com/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "x402-doctor": {
      "url": "https://x402-doctor.onrender.com/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.x402-doctor]
url = "https://x402-doctor.onrender.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "x402-doctor": {
      "url": "https://x402-doctor.onrender.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "x402-doctor": {
      "url": "https://x402-doctor.onrender.com/mcp"
    }
  }
}

This server publishes 1 more address. The block above uses the one we reach during checks; the full list is under Endpoints below, and the author may intend a particular one for your client.

Available tools 11

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

x402
x402_delivery_check
Paid ($0.25 USDC via x402 on Base or Solana): not a reading but a purchase. x402 Doctor buys the endpoint once (at most $0.1, USDC on Base, from its own wallet) with the example input its listing declares, checks the answer against the declared output schema and measures the charge on chain. Answers with a job id at once; follow it with x402_delivery_status (free), the result usually comes within minutes. The endpoint must get a "go" from the pre-payment check and be payable in USDC on Base; otherwise it is refused before payment. Same as GET /api/v1/delivery-check. The answer carries a signed receipt (EIP-191, bound to your arguments) that proves later which verdict you got.
x402_delivery_status
Free: the status of a delivery check ordered with x402_delivery_check (or GET /api/v1/delivery-check): awaiting_payment, queued or done, and once done the result: paid_and_delivered, the outcome, the charge measured on chain and the transaction.
x402_diagnose
Paid ($0.01 USDC via x402 on Base or Solana): diagnose an x402 endpoint the way a paying agent would, without paying it: the 402 challenge format, every accepts[] option, the resource URL, Solana settlement readiness, which wallets can pay, Bazaar/OpenAPI discovery and the browser paywall. Returns every check with pass/warn/fail and a fix hint. For the endpoint's owner or a developer debugging it; to decide whether to pay someone else's endpoint, use x402_preflight. Same as GET /api/v1/diagnose. The answer carries a signed receipt (EIP-191, bound to your arguments) that proves later which verdict you got.
x402_fix
Paid ($0.05 USDC via x402 on Base or Solana): diagnoses your x402 endpoint, then returns per problem the concrete change as code for your stack (express, next, hono, node, python, generic), filled in with your own payTo, amount, network and route. For the endpoint's owner: includes the diagnosis, so there is no need to call x402_diagnose first. Same as GET /api/v1/fix. The answer carries a signed receipt (EIP-191, bound to your arguments) that proves later which verdict you got.
x402_preflight
Paid ($0.001 USDC via x402 on Base or Solana): call this before your agent pays an x402 endpoint. Returns go, caution or no_go, the recommended payment option, and why: payment would fail, the seller's payout address is on the OFAC SDN sanctions list, over your budget (max_usd), price above what is advertised, not HTTPS, unknown token, its 30-day track record. Never pays the endpoint. The buyer's check for one call; for several endpoints at once use x402_preflight_batch, before a payment above about $1 x402_preflight_deep, and to debug your own endpoint x402_diagnose. Same as GET /api/v1/preflight. The answer carries a signed receipt (EIP-191, bound to your arguments) that proves later which verdict you got.
x402_preflight_batch
Paid ($0.005 USDC via x402 on Base or Solana): the pre-payment check for up to 10 x402 endpoints at once. Per endpoint go, caution or no_go, the recommended payment option and why, plus totals. For marketplaces and agents that weigh several services. Never pays the endpoints. Same as GET /api/v1/preflight/batch. The answer carries a signed receipt (EIP-191, bound to your arguments) that proves later which verdict you got.
x402_preflight_deep
Paid ($0.01 USDC via x402 on Base or Solana): for expensive calls. The pre-payment verdict (go, caution or no_go) plus the full diagnosis, the 30-day history per day, how reliable the seller's other endpoints are and whether the endpoint moved domains. Never pays the endpoint. Worth it before a payment above about $1; for an ordinary call x402_preflight is enough. Same as GET /api/v1/preflight/deep. The answer carries a signed receipt (EIP-191, bound to your arguments) that proves later which verdict you got.
x402_quick_check
Free: does this x402 endpoint work for a paying agent? Returns pass, warn or fail with the number of problems and the top three. Limited to 10 calls per hour. For every check use x402_diagnose ($0.01); for code changes x402_fix ($0.05); before paying someone else's endpoint x402_preflight ($0.001).
feedback
feedback
Report a bug, a missing feature or anything else about this service, in a structured way. Free. A person reads every report; nothing is run or changed automatically.
payment
check_payment_proof
Free: after paying an x402 endpoint, pass the PAYMENT-RESPONSE header it returned (X-PAYMENT-RESPONSE in v1). Returns the transaction, network and payer it names, whether that transaction exists on-chain and succeeded, and which USDC moved from whom to whom, with an explorer link. Read-only. Limited to 10 calls per hour.
verify
verify_receipt
Free: check the signed receipt that every paid x402 Doctor answer carries (diagnose, preflight, batch, deep, fix, delivery check; HTTP or MCP), for example to prove later which verdict you got before paying an endpoint. Pass the whole answer as response. Returns valid, the signer and whether it is an x402 Doctor signer; with route and input also whether the receipt is for exactly that request. A changed verdict or receipt fails. Read-only, nothing is stored. Same as POST /api/v1/verify.

Endpoints

URLTransportStateLatencyChecked
https://x402-doctor.onrender.com/mcp streamable-http answering 241 ms 4 min ago
https://x402-doctor.fizzl.eu/mcp streamable-http answering 233 ms 4 min ago

Alternatives to x402 Doctor

same job, measured the same way
Settled
by settled

Check x402 endpoints before your agent pays: payTo, paid test purchases, payee and buyer reports

244 installs/wk 18 tools answering
Atlas MCP
by atlas26onchain

Base token safety checks (honeypot test, liquidity, new launches), paid per call in USDC via x402.

39 installs/wk local only
AISkills402
by aiskills402

Tested AI agent skill files (SKILL.md), bought once over x402 for cents on Base. Free MCP search.

4 tools answering
Delvorn
by mranderson323

GET https://delvorn.site/api/x402/test-asset $0.05 Base. First independent=Certified+$0.05 back.

13 tools answering
Safe4
by safe4

Tests an AI agent's purchase against the task it was given. Paid per call in USDC via x402.

2 tools answering
H
Honeycheck
by honeycheck

Before buying a token on Arc, test whether it can be sold back. Free, or 1-5c a call over x402.

43 installs/wk local only
A
App Store Version
by ryuamarines

Checks current App Store version by bundle ID. x402 payment required (testnet USDC).

1 tools answering
R
Robots Txt Checker
by ryuamarines

Checks if a URL path is allowed by robots.txt. x402 payment required (testnet USDC).

1 tools answering

x402 Doctor — questions

Answers built from our own checks of this server.

What can x402 Doctor do?
It exposes 11 tools, read directly from the server on our last check. Among them: check_payment_proof, feedback, verify_receipt, x402_delivery_check, x402_delivery_status, x402_diagnose and 5 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is x402 Doctor working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 184 of 184 checks got a reply (100.0%), average response time 323 ms. The bar chart above shows every period we have measured.
How do I connect x402 Doctor?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does x402 Doctor need an API key?
No. x402 Doctor completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 11 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is x402 Doctor?
It answers our handshake in 323 ms on average, which is faster than 41% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is x402 Doctor open source?
Yes — it is published under the AGPL-3.0 licence, written in JavaScript and 1 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.