x402 Doctor
Server Details
Check x402 endpoints like a paying agent: diagnose, fix plans, pre-payment checks. Free quick check.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- Fizzl13/x402-doctor
- GitHub Stars
- 1
TDQS
Scored across 4 tools
Each tool serves a clear, non-overlapping purpose: full diagnosis, fix with code, preflight before payment, and a free quick check. Even though quick_check is a subset of diagnose, the cost and depth differences make them distinct.
All tools follow a consistent 'x402_' prefix with an action verb (diagnose, fix, preflight, quick_check). The naming pattern is uniform and predictable.
With 4 tools, the set is well-scoped for a focused diagnostic utility. Each tool earns its place without redundancy or bloat.
The tool surface covers the full lifecycle of x402 endpoint health: quick check, full diagnosis, pre-payment validation, and fix suggestions. No obvious gaps for its stated purpose.
Available Tools
4 toolsx402_diagnoseDiagnose an x402 endpoint ($0.01 via x402)ARead-onlyInspect
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. Same as GET /api/v1/diagnose.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The x402 endpoint (public http(s) URL), e.g. https://api.example.com/paid | |
| method | No | HTTP method of the paid route (default: GET, then POST) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint and openWorldHint already in annotations, the description adds useful behavioral context: the tool itself costs $0.01 USDC via x402, it probes external endpoints without paying them, and it returns pass/warn/fail checks plus fix hints. No annotation contradiction is present.
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 dense but focused; the initial paid cost is front-loaded and the colon list efficiently enumerates what is checked. The final sentence about the return shape and REST equivalent adds value without repetition.
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?
Given no output schema, the description explicitly states the return format (checks with pass/warn/fail and fix hints) and lists the input-output scope. It is sufficient for an agent to invoke and interpret results, though exact response field names are not specified.
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 100%, so the schema fully documents url and method. The description does not add extra meaning beyond mentioning the paid/network context, but the baseline of 3 is appropriate because the schema carries the parameter semantics.
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 the specific action (diagnose), target (x402 endpoint), and the detailed check areas, so an agent knows exactly what the tool covers. It stops short of explicitly contrasting itself with the sibling tools (x402_preflight, x402_quick_check), so it is clear but not fully sibling-differentiating.
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 description implies the main use case: inspect an x402 endpoint the way a paying agent would without incurring payment to the endpoint. It does not, however, tell the agent when to choose this over x402_quick_check or x402_preflight, nor give any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_fixFix plan for an x402 endpoint ($0.05 via x402)ARead-onlyInspect
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. Same as GET /api/v1/fix.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The x402 endpoint (public http(s) URL), e.g. https://api.example.com/paid | |
| stack | No | Your server stack (default: detected) | |
| method | No | HTTP method of the paid route (default: GET, then POST) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only and open-world behavior, and the description adds meaningful context: the operation costs $0.05 USDC via x402 on Base or Solana, and it returns generated code. It also notes equivalence to a GET endpoint, which is useful extra behavioral detail beyond the annotations.
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 compact and front-loaded with the most important details: cost, action, and output. The parenthetical stack list and 'Same as GET /api/v1/fix' note are slightly redundant but not wasteful.
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 tool with no output schema, the description usefully explains the input (URL, stack, method), the cost, and the nature of the output (per-problem code fixes customized with payTo, amount, network, and route). It could be more explicit about error or edge-case behavior, but the core usage context is well covered.
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 100%, and the description largely restates the stack enum and defaults already present in the schema. It adds no significant new parameter-level meaning beyond what the input schema provides.
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 clearly identifies the tool's purpose: it diagnoses an x402 endpoint and returns concrete code fixes per problem. The verb 'returns' and resource 'x402 endpoint' are specific, though it doesn't explicitly name sibling tools to differentiate 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?
The description implies usage when a user needs a fix plan for an x402 endpoint, and mentions the cost and supported stacks. However, it provides no explicit guidance on when to choose x402_fix over x402_diagnose, x402_preflight, or x402_quick_check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_preflightCheck an x402 endpoint before paying it ($0.001 via x402)ARead-onlyInspect
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, over your budget (max_usd), price above what is advertised, not HTTPS, unknown token, its 30-day track record. Never pays the endpoint. Same as GET /api/v1/preflight.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The x402 endpoint (public http(s) URL), e.g. https://api.example.com/paid | |
| method | No | HTTP method of the paid route (default: GET, then POST) | |
| max_usd | No | Your budget per call in USD, e.g. 0.05 | |
| network | No | CAIP-2 network you want to pay on, e.g. eip155:8453 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses that the call costs $0.001 USDC, that it never pays the target endpoint, and the kinds of checks/returns (payment failure, budget, HTTPS, token, track record). This is valuable behavioral context. It doesn't mention failure modes of the preflight call itself, but with annotations covering read-only safety, this is sufficient. No contradiction.
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 cost and usage, and the reason list is dense but useful. Some redundancy with the title ('$0.001 via x402') and a long first sentence keep it from a 5.
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, the description explains the possible return verdicts and the reasons behind them, and it states the fee and non-payment behavior. It doesn't spell out the exact response shape or next actions for go/caution/no_go, but for a preflight check this is largely complete.
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 already covers all four params with descriptions (100% coverage), so baseline is 3. The description adds useful context by linking max_usd to the budget check and naming Base/Solana as supported networks, going slightly beyond the schema's CAIP-2 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?
The description names a concrete action—preflight an x402 endpoint before payment—and the return outcome (go/caution/no_go with reasons), so an agent understands what the tool is for. It does not explicitly contrast with siblings such as x402_quick_check, so it stops 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?
Clear when to use: before the agent pays an endpoint. It also states the tool never pays the endpoint, which tells the agent this is a safe preflight rather than an execution. However, it does not explicitly say when to prefer x402_quick_check or x402_diagnose/fix, so no alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_quick_checkQuick x402 endpoint check (free)ARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The x402 endpoint (public http(s) URL), e.g. https://api.example.com/paid | |
| method | No | HTTP method of the paid route (default: GET, then POST) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description adds useful behavioral details beyond that: the free price point, the hourly rate limit, and the exact return shape (pass/warn/fail, problem count, top three). No contradiction exists between the description and annotations.
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 compact and dense with value, leading with 'Free' and the core question. The sibling routing adds a bit of a list-like tail but remains within a single short paragraph; no wasted words.
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 lightweight read-only check tool with no output schema, the description covers return values, rate limits, cost, and routing to siblings. It does not describe what specific problems are reported, but that is a minor gap for a quick-check tool.
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 100%, so the schema already documents url and method. The description adds no new parameter-level meaning beyond naming the endpoint context; it relies on the schema, which is acceptable given the high coverage.
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 opens with a precise, answerable question: 'does this x402 endpoint work for a paying agent?' and names its output (pass, warn or fail with problem count and top three). It clearly differentiates itself from sibling tools by naming x402_diagnose, x402_fix, and x402_preflight with their distinct purposes.
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 description explicitly routes to alternatives: use x402_diagnose for every check, x402_fix for code changes, and x402_preflight before paying someone else's endpoint. It also states the free tier and 10-calls-per-hour limit, which informs when the tool may or may not be appropriate.
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.
4 tool updates
- First observed
x402_diagnose - First observed
x402_fix - First observed
x402_preflight - First observed
x402_quick_check
Related MCP Connectors
Live x402 endpoint trust/diligence check before you pay it. $0.02/call via x402.
Check x402 endpoints before spending: free readiness and policy checks, paid trust evidence.
Check an x402 endpoint before your agent pays it: avoid / caution / ok, proven on-chain.
Check x402 endpoints before paying: liveness, price history, farm detection. Plus RU web access.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceFree x402 endpoint checker plus paid report and metadata tools. Remote MCP server for agents. Written by AI named Nock, not a human.-
- AlicenseNot gradedqualityDmaintenanceVerify 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 npmMIT
- AlicenseAqualityBmaintenanceBefore 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.3MIT
- FlicenseNot gradedqualityBmaintenanceEnables autonomous agents to inspect and audit unfamiliar x402 endpoints before spending USDC, using bounded read-only probes to surface payment challenges, pricing, network, receiver, and operational signals without signing or spending funds.-
Glama MCP Gateway
Add one secure layer between your agents and this server.