MCP server exposing x402-farm APIs as tools for Claude/Cursor/etc. Handles automatic USDC payment via x402 protocol from configured wallet.
10 tools with consistent naming (verb_noun pattern: extract, render, screenshot, links, page_meta, french_company, french_geocode, dns_records, email_validate, free_preview_extract). All have descriptions (avg ~100 chars, within baseline 34-392). Input schemas present with type declarations and parameter descriptions. However, output schemas are NOT documented in source, critical gap for LLM planning. No error handling guidance visible. Tool descriptions lack WHEN/WHY context and dependency hints. Parameters are minimal (1-2 per tool) but lack constraints (enums, ranges, format specs). No tool annotations (readOnlyHint, idempotentHint). Descriptions are functional but generic, e.g., 'Extract the main content of a web page as clean markdown' lacks guidance on when to use extract vs free_preview_extract or render.
Full DNS records of a domain: A, AAAA, MX, TXT, NS, SPF. $0.005/call.
Validate an email address: syntax + domain MX check (no email sent). $0.005/call.
Extract the main content of a web page as clean markdown (JS-rendered, real browser). $0.005/call via x402.
FREE preview: first 300 chars of a page's text content (static fetch, no payment needed).
Look up French companies by name or SIREN/SIRET: officers, NAF code, HQ address, status. $0.02/call.
Geocode any French address including overseas territories (lat/lon + score). $0.005/call.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., does french_company return officer names, NAF codes, HQ address separately or nested?). Blocks composition and forces trial-and-error.
No error handling guidance. Descriptions lack recovery hints (e.g., 'If URL is invalid, check syntax' or 'If company not found, try partial name search'). Agents cannot self-correct on failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
All deduplicated links of a page, classified internal/external with anchor text. $0.005/call.
SEO meta, OpenGraph, canonical and JSON-LD of a page. $0.005/call.
Get the full HTML of a page after JavaScript execution. $0.005/call.
PNG screenshot of a web page. Returns base64 image. $0.01/call.
Parameter constraints missing. 'url' accepts any string; no validation that it is http(s). 'q' in french_company accepts any string; no guidance on SIREN/SIRET format (9 or 14 digits). Enums and format specs should replace free-form strings.
Descriptions lack WHEN/WHY context. 'Extract the main content' does not explain when to use extract vs render vs free_preview_extract. LLMs cannot disambiguate similar tools without explicit guidance.
No tool annotations. Tools lack readOnlyHint (all are read-only), idempotentHint (all are idempotent), or destructiveHint. Agents cannot infer safety properties and may over-retry or under-retry.