MCP server for mdapi (https://md.fastdb.in) — paid HTML-to-Markdown and page extraction tools for AI agents, x402 pay-per-call (USDC on Base)
Three tools with solid descriptions (150-200 chars each) and clear use cases. All tools have input schemas with type definitions and parameter descriptions. However, output schemas are not formally documented in the tool registration, only mentioned in code comments. Tool names follow verb_noun pattern (html_to_markdown, extract_page, service_info). Parameters are well-described with enums for 'mode'. Missing: explicit output schema documentation, error recovery guidance in descriptions, and per-parameter validation rules.
Extract structured JSON from a web page (by URL) or raw HTML: title, byline, excerpt, siteName, publishedTime, language, plain text, links, images, and meta tags. Paid tool: $0.005 per call via x402 (USDC on Base).
Convert a web page (by URL) or raw HTML into clean, LLM-ready Markdown. Readability article extraction; nav/scripts/footers stripped; tables preserved. Set render=true to execute the page in a real headless browser first — required for JS-rendered SPAs (React/Next/Vue) that return empty HTML to a plain fetch. Paid tool: $0.005 per call via x402 (USDC on Base).
Free. Service, pricing, and payment details for the mdapi tools on this server.
Output schemas not formally documented in tool registration. Code comments describe structuredContent payload (markdown, url, rendered, ms for html_to_markdown; title, byline, links, images for extract_page), but LLMs cannot see these, only the tool description and input schema are visible in the MCP protocol.
Error handling descriptions lack recovery guidance. Tools return toolError() with code + message, but descriptions do not explain what errors are possible or how to recover (e.g., 'If fetch fails, check URL is public and accessible').
Payment requirement (-32402 error) is handled via x402 protocol but not mentioned in tool descriptions. LLMs calling these tools without x402 support will see payment-required errors with no context in the description about how to proceed.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
service_info tool description is generic ('Free. Service, pricing, and payment details'). Does not explain when to call it or what structure it returns. Input schema is empty {} but no description of output fields.
Parameter 'render' (boolean) lacks constraints. Description says 'true: execute page in headless browser' but does not mention cost impact, timeout, or when it is necessary vs optional. LLMs may not understand trade-offs.