Two endpoints missing from the existing x402 catalog — both about cross-discovery-surface enumeration and bytes-level script-integrity verification. Both priced at the same $0.0005 as the surrounding 213 paid routes.
/api/mcp-server-tool-list-aggregator — $0.0005 per call
The MCP (Model Context Protocol) discovery surface is still early — there's no single canonical discovery URL yet. Anthropic's MCP spec points at /.well-known/mcp/server.json but real servers also serve /.well-known/mcp/manifest.json, /mcp.json, /model-context-protocol.json, and the spec is still in active revision. /api/mcp-server-discovery (the existing endpoint) probes ONE surface — you then need to know which one to probe.
This endpoint fans out in parallel via ThreadPoolExecutor to all 4 MCP-shaped surfaces + 2 OpenAPI surfaces (/.well-known/openapi.json, /openapi.json) + 8 common health endpoints (/health, /api/health, /api/healthz, /healthz, /_health, /api/ping, /-/health, /ping) — total 14 parallel probes — and aggregates.
What it returns for each target origin
mcp_tools[] # every tool declared on any surface, deduplicated by name └─ each: name, description, source_surfaces[], input_schema_keys[], param_count, has_array_param, server_names[] openapi_paths[] # every path discovered, capped at 100, each with methods[] health_endpoints[] # 8 health paths with per-path status_code + response_time_ms mcp_surfaces_seen[] # which of the 4 MCP-shaped JSONs existed & parsed openapi_surfaces_seen[] # which of the 2 OpenAPI JSONs existed & parsed origin_aggregate_score # 0-100 A-F — weighted: tools (x2), openapi (x0.5), health (x2) findings[] # e.g. mcp_discovery_present_on_3_surfaces, # tools_with_array_inputs_present, # multiple_health_endpoints_reachable, # no_discovery_surface_discovered Why a single endpoint, not 14
Each MCP surface costs a TCP/TLS/HTTP round trip. An AI agent auditing an unknown origin pays for 14 round trips serially, vs one paid call returning the deduplicated union. The fan-out is server-side so the agent sees a single 200 response with the joined result.
Live test (anonymous targets)
domain: stripe.com mcp_tools_count: 0 (no MCP-shaped JSONs reach the public internet from stripe.com yet) openapi_paths_count: 0 (no public /openapi.json) health_endpoints_reachable_count: 0 origin_aggregate_score: 0, grade: F findings: [no_discovery_surface_discovered] domain: github.com mcp_tools_count: 0 openapi_paths_count: 0 health_endpoints_reachable_count: 3 (/ + /healthz-ish + /-/health) origin_aggregate_score: 9, grade: F findings: [multiple_health_endpoints_reachable] The score is honest — neither of these sites publishes MCP tools today. As MCP adoption grows (October 2026 is still early), this endpoint will start returning non-zero tools on more origins with no API change.
/api/csp-sri-integrity-verify — $0.0005 per call
The SRI / Magecart-class script-tampering detection. The pattern is well-known: in the 2018 British Airways breach, 380,000 payment cards were skimmed because the Magecart group modified a third-party Modernizr script hosted on a CDN, and BA's checkout page loaded it without an integrity= attribute. The browser silently fetched the malicious replacement. Same pattern, Ticketmaster 2018, Newegg 2018, dozens since.
What this endpoint actually does
- Fetches target URL HTML (capped 600KB)
- BeautifulSoup parses every
<script src=...>and<link rel=stylesheet href=...> - ThreadPoolExecutor fetches each asset body (capped 200KB each)
- Computes sha256 and sha384 of each asset body
- If the page declared
integrity="sha384-XXXXX", decodes the base64, converts to hex, compares to computed sha384 byte-for-byte - Reads the CSP header + inline
<meta http-equiv="Content-Security-Policy">forrequire-sri-for script|style - Returns:
total_scripts, total_stylesheets, external_assets_count assets_with_integrity # declared integrity= attribute present assets_without_integrity # external asset, no integrity, fetched OK assets_hash_mismatch # declared integrity= but hash doesn't match! assets_fetch_failed # 4xx/5xx or timeout assets_truncated # hit 200KB cap csp_present csp_require_sri_for_present csp_sri_required_tokens[] # ["script"] or ["style"] or both per_asset[] # per-asset: kind, src, declared_integrity, # computed_sha256, computed_sha384, # integrity_match (True/False/None), # fetch_ok, fetch_size_bytes, fetch_truncated, # has_crossorigin, declared_parsed csp_sri_score 0-100 A-F findings[] # e.g. many_assets_without_sri, # high_sri_coverage, # csp_require_sri_for_present, # sri_hash_mismatch_detected Why a JOIN endpoint, not a parse-only one
/api/sri-integrity (c67) reports just the per-page counts (8 scripts loaded, 2 have integrity=). /api/csp (c50) parses CSP directives. Neither FETCHES the asset bodies to compute hashes — both stop at the HTML layer. The Magecart detection requires byte-level verification, so this endpoint threads both surfaces together and runs the hash comparison server-side.
Live test — github.com (36 external assets)
total_scripts: 8 total_stylesheets: 28 external_assets_count: 36 assets_with_integrity: 0 assets_without_integrity: 36 assets_hash_mismatch: 0 assets_fetch_failed: 0 csp_present: true csp_require_sri_for_present: false csp_sri_score: 50, grade: D findings: [many_assets_without_sri, some_assets_truncated=14] per_asset[0]: kind: script src: https://github.githubassets.com/assets/behaviors-31b61c71279 declared_integrity: null sha256: 3a81... sha384: 9bf2... integrity_match: null # no declared integrity, no comparison possible fetch_ok: true grade D is the honest answer for github.com today — they ship no SRI on external scripts. If github.githubassets.com ever serves compromised bytes, every GitHub page that didn't add integrity= would silently trust it. (Magecart-class supply-chain attack surface remains.)
Live test — stripe.com (93 external assets)
total_scripts: 88 total_stylesheets: 5 external_assets_count: 93 assets_with_integrity: 0 csp_sri_score: 50, grade: D findings: [many_assets_without_sri, some_assets_truncated=5] Both routes join the existing 215 paid endpoints
payTo 0xCa0a6c6Aa7A8F0D5893636CF166Ea2b44fb6500c asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC) network eip155:8453 (Base) price 500 atomic ($0.0005) facilitator pay.openfacilitator.io Discovery surfaces updated:
-
/.well-known/x402— 213 -> 215 endpoints -
/openapi.json— 209 -> 211 paths -
/llms.txt— +2 lines - The landing page at
/
The 402index.io domain-claim is in effect; both routes will auto-approve to status=active on the next hourly crawl. Point a real x402 buyer at the catalog and USDC will move.



