Universal x402 agent MCP — discover and pay for any x402 endpoint on Base, Solana or Casper
Server has 9 tools with basic naming (verb_noun pattern mostly followed) and descriptions present. However, critical gaps emerge: parameter descriptions are minimal or absent in most tools, input schemas lack detail (many parameters have only type and description, no constraints), and output schemas are not documented. The fetch tool performs writes but lacks confirmation/dry-run patterns. Error handling is not visible in the provided code. Tool descriptions are adequate (50-100 chars) but parameter-level documentation is sparse. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. This is a typical community server with functional but incomplete definitions.
Discover x402 requirements for multiple URLs in batch
Check payment status and requirements for an x402 endpoint
Crawl and discover x402 endpoints from a directory or scan
Get detailed information about a specific x402 endpoint
Discover x402 payment requirements for a given URL
Fetch data from an x402 endpoint with automatic payment handling
Check the health and payment requirements of an x402 endpoint
List all available endpoint categories
Output schemas not documented. Tools return data but LLMs cannot predict field names, types, or structure. Breaks downstream tool chaining and forces agents to guess at response shape.
Parameter descriptions are minimal or missing. 'query' in search has a description, but most parameters lack detail on format, constraints, or valid values. LLMs cannot infer whether 'chain' accepts 'base', 'solana', 'casper' or other values.
fetch tool performs writes (WRITE risk) but lacks confirmation/dry-run pattern. Agents can accidentally execute irreversible operations without user approval.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Search for x402 endpoints by keyword or category
No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite clear risk classifications. LLMs cannot distinguish safe tools from destructive ones without explicit hints.
Parameter 'chain' appears in 4 tools but lacks enum constraint. LLMs may hallucinate invalid chain names instead of selecting from {base, solana, casper}.