Adam Hale Tools: Web Research and Open Data
Server Details
Free web lookups; PDF to Markdown, audio transcripts, screenshots, WHOIS/DNS paid per call via x402.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Score is being calculated.
Available Tools
12 toolsdocument_to_markdownPDF and document to MarkdownRead-onlyIdempotentInspect
Convert one document at a public URL to Markdown from its text layer: PDF, Word DOCX, Excel XLSX/XLSM/XLSB/XLS, OpenDocument ODS/ODT, CSV, HTML, XML or Apple Numbers, up to 10 MB, Markdown up to 250,000 characters. Not OCR: scanned PDFs, images, PPTX and encrypted files are refused and not charged. Paid only: $0.004 USDC per file. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL of the document, e.g. "https://bitcoin.org/bitcoin.pdf". | |
| filename | No | Optional file name, used as a format hint. | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. | |
| include_metadata | No | false drops the PDF metadata block from the Markdown. |
domain_intelDomain WHOIS (RDAP), DNS and email securityRead-onlyIdempotentInspect
Who a domain is registered with and since when (RDAP: registrar, created, expires, age, status, nameservers, DNSSEC), its DNS records (A, AAAA, MX, NS, TXT, CAA) and email setup (provider, SPF and DMARC policy). No registrant personal data. Paid only: up to 3 domains per call for $0.003 USDC. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| domains | Yes | 1-3 domains (a URL or email address is reduced to its domain). | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
page_to_markdownWeb page to clean MarkdownRead-onlyIdempotentInspect
Read web pages: returns each page's main content as clean Markdown without navigation, scripts or ads (headings, lists, absolute links, tables, code blocks), plus title, description, language, canonical URL and word count; up to 100,000 characters per page. Does not get past bot walls. Paid only: up to 3 URLs per call for $0.002 USDC. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | 1-3 page URLs. | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
robots_txt_checkrobots.txt crawl permission checkRead-onlyIdempotentInspect
Crawl preflight: whether each user agent may fetch each URL under the site's robots.txt (RFC 9309, longest match, '*' fallback), with crawl-delay, the sitemaps robots.txt lists and whether the site publishes /llms.txt. Default agents: GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-User, PerplexityBot, Google-Extended, Googlebot, Bingbot, CCBot, Applebot-Extended, Bytespider and *. Paid only: up to 5 URLs per call for $0.001 USDC. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | 1-5 URLs to check. | |
| agents | No | Optional user-agent product tokens, e.g. ["GPTBot", "*"]. | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
rss_to_jsonRSS, Atom and JSON Feed to JSONRead-onlyIdempotentInspect
Read news feeds or blogs as clean JSON: accepts feed URLs or plain site URLs (finds the feed via ), normalises RSS 0.9x/2.0, RDF, Atom and JSON Feed to one item schema (title, url, publishedAt, author, categories, summary), up to 100 items per feed. Free for 1 feed; up to 5 feeds per call cost $0.003 USDC. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | 1-5 feed or site URLs. | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
seo_meta_tags_checkSEO meta tag and schema.org checkRead-onlyIdempotentInspect
On-page SEO audit of web pages: title and meta description lengths, canonical, robots/noindex and X-Robots-Tag, H1/H2, hreflang, Open Graph, Twitter card and JSON-LD rich-result checks, with machine-readable issue codes. Free for 1 URL when the free web tool is enabled; up to 3 URLs per call cost $0.004 USDC. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | 1-3 page URLs. | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
sitemap_urlsSitemap URL extractorRead-onlyIdempotentInspect
List the pages of a website from its sitemaps: finds them via robots.txt or common paths, follows sitemap indexes, reads gzip, text and feed sitemaps, returns URLs with lastmod. Free: up to 2,000 URLs from 12 sitemap files. With bulk=true: up to 5,000 URLs from 20 files for $0.004 USDC. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | A domain (sitemaps are discovered) or the URL of one sitemap file, e.g. "github.blog". | |
| bulk | No | true = paid tier (5,000 URLs, 20 files). | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
tech_stack_lookupWebsite tech stack lookupRead-onlyIdempotentInspect
Detect what a website is built with: CMS, frameworks, analytics, CDN, hosting, email and DNS providers (MX, SPF, DMARC) and a security-header grade, from one fetch of its homepage. Free for 1 domain per call (10 free calls a minute per IP); 2-3 domains in one call cost $0.005 USDC. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| domains | Yes | 1-3 domains or homepage URLs, e.g. ["wordpress.org"]. One domain is free; two or three are one paid call. | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
ted_tender_searchEU public tender search (TED)Read-onlyIdempotentInspect
Search EU public procurement notices (tenders, contract notices, awards) on TED through the official API v3: keywords, optional buyer country and open-deadline filter, newest first. Free: the 25 newest matches. With bulk=true or page: 100 notices per page, pages 1-50, for $0.002 USDC. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keywords; a comma separates alternatives (OR), up to 5, e.g. "cloud hosting,data centre". | |
| bulk | No | true = paid tier (100 notices per page). | |
| page | No | Paid tier: result page of 100 notices. | |
| country | No | Optional buyer country, ISO 3166-1 alpha-2 (EU/EEA + CH), e.g. "FR". | |
| open_only | No | true = only notices whose tender deadline has not passed. | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
transcribe_short_audioShort audio transcription (Whisper)Read-onlyIdempotentInspect
Transcribe one short audio file (direct public URL to MP3, WAV, M4A, OGG, FLAC or WebM; one file up to 2 MB and 20 minutes) with Whisper large-v3-turbo, or translate it to English: text, timed segments, WebVTT and detected language. No YouTube or social media pages. Paid only: $0.01 USDC per file. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Direct public URL of the audio file. | |
| task | No | translate = English output. | transcribe |
| language | No | Optional spoken language, ISO 639-1 (en, de, es…). | |
| vad_filter | No | false turns off silence filtering. | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
url_status_checkURL status and redirect checkerRead-onlyIdempotentInspect
Check whether links are alive: HTTP status, every redirect hop, final URL and a classification (ok, redirect, broken, restricted, blocked_by_site, disallowed_by_robots_txt, timeout). HEAD first, GET to confirm errors. Free for 1 URL when the free web tool is enabled; up to 10 URLs per call cost $0.003 USDC. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | 1-10 URLs to check. | |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
website_screenshotWebsite screenshotRead-onlyIdempotentInspect
Screenshot one public web page in a headless browser: desktop (1440x900) or mobile (390x844) viewport, PNG or JPEG, returned as an image. Viewport only, no logins or scripts; follows robots.txt and does not get past bot walls; at most one screenshot every 10 seconds across all callers. Paid only: $0.01 USDC per page. Paid calls made without a payment return isError with the x402 v2 PaymentRequired object (amount in USDC atomic units, network, payTo, HTTP endpoint); retry with the signed PaymentPayload in params._meta["x402/payment"]. Invalid input and calls where every item fails are never charged. Fetches follow robots.txt, use the User-Agent AdamHaleTools/1.0 and refuse private or internal addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL of the page. | |
| device | No | Viewport: desktop 1440x900 or mobile 390x844. | desktop |
| format | No | Image format. | png |
| x402_payment | No | Optional, paid tier only: a signed x402 v2 PaymentPayload, base64 (the value an HTTP client sends as the PAYMENT-SIGNATURE header). Prefer params._meta["x402/payment"]. Never a private key or seed phrase. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
- First observed
document_to_markdown - First observed
domain_intel - First observed
page_to_markdown - First observed
robots_txt_check - First observed
rss_to_json - First observed
seo_meta_tags_check - First observed
sitemap_urls - First observed
tech_stack_lookup - First observed
ted_tender_search - First observed
transcribe_short_audio - First observed
url_status_check - First observed
website_screenshot
Related MCP Connectors
Free wallet lookup, ENS resolve, entity labels, caller ID. Paid x402 web search and scrape.
Public web page to markdown, paid per call with x402. First 10 calls free, no signup.
Pay-per-call web extract, DNS/WHOIS/IP lookup, PDF/RSS/sitemap tools. x402 USDC on Base/Algorand.
Read any public web page as clean Markdown for LLMs, with its metadata. Paid per call, x402.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables agents to read any web page or document as markdown, html, links, screenshots or extracted JSON, map and crawl entire sites, and drive a persistent browser session that stays open between calls so pages can be inspected and clicked without reloading. Callers pay per request with a wallet over x402 — no API key or signup — and every route answers its own free GET with the fields it expects.1-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to perform pay-per-call web extraction, DNS/WHOIS/IP lookup, and PDF/feed/sitemap processing via remote tools, with payment through x402 USDC or prepaid credits and no signup required.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to reliably fetch public web URLs and extract clean, agent-ready text, Markdown, links, and metadata, with automatic browser fallback and optional x402 payment support.-
- AlicenseAqualityBmaintenanceEnables AI agents to fetch any public web page as clean Markdown, retrieve page metadata (title, description, canonical URL, OpenGraph/Twitter cards, JSON-LD), and crawl a page plus up to four linked same-site pages. Calls are paid per use in USDC via x402/MPP with no API key or account, and invalid inputs or unfetchable pages are never charged.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.