MCP server and Claude Code plugin for Machine Payments Protocol inspection. Provides tools to inspect 402 Payment Required challenges, scan domains for MPP endpoints, compare pricing, validate receipts, and execute dry-run payment flows.
Five tools with complete input schemas and descriptions, but descriptions are generic and lack LLM-optimized guidance. All tools are READ_ONLY (good for safety), but descriptions don't explain WHEN to use each tool vs. alternatives, or what downstream actions become possible. Parameter descriptions are present but minimal. No output schemas documented. Error handling and recovery guidance absent. Naming is clear (verb_noun pattern) but descriptions average ~100 chars, below the 50-200 char LLM-optimized baseline.
Compare pricing across multiple MPP endpoints. Sends a request to each URL, parses the 402 challenge, and returns a side-by-side comparison with the cheapest option highlighted.
Execute a dry-run of the full MPP payment flow: request resource, parse 402 challenge, and show what the sign/pay/receipt steps would do. No actual transactions are made.
Send a request to a URL and parse the 402 Payment Required challenge. Returns parsed challenge fields, verification results, and timing.
Discover MPP endpoints on a domain by checking /.well-known/mpp.json, /llms.txt, /health, and optionally probing common API paths.
Decode and verify a base64-encoded MPP receipt. Checks base64 decoding, JSON structure, required fields (receiptId, timestamp, credential), and timestamp validity.
Output schemas not documented. LLMs cannot plan downstream actions or extract required fields without knowing what each tool returns.
Descriptions lack WHEN/WHY guidance. E.g., mpp_inspect says what it does but not when to call it vs. mpp_flow, or what the agent should do with the parsed challenge.
No error handling or recovery guidance. Tools lack descriptions of failure modes (e.g., invalid URL, timeout, malformed receipt) and what the agent should do next.
Parameter descriptions are minimal. E.g., 'Additional headers as Key: Value strings' doesn't explain format, escaping, or when to use this parameter.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
mpp_compare requires 'Two or more URLs' but no guidance on what happens if URLs return different challenge versions or incompatible pricing models.