
13 tools: web pages, JS apps and PDFs as text, feeds, sitemaps, search. 25 free calls.
Call this server's tools from your browser. Nothing to install.
Optional. 'Bearer adt_...' API key from https://agent-data-tools.revmesh2074.workers.dev/credits to pay by card. Leave empty to pay each call with x402 (USDC).
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Definitions of an English word from Wiktionary, grouped by part of speech, with example sentences where Wiktionary gives them, plus the page link and the CC BY-SA attribution to show. Use for writing help, vocabulary, translation checks and word games. Example: word=serendipity. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
An English word
Definitions of an English word from Wiktionary, grouped by part of speech, with example sentences where Wiktionary gives them, plus the page link and the CC BY-SA attribution to show. Use for writing help, vocabulary, translation checks and word games. Example: word=serendipity. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| word* | string | An English word |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"word"
],
"properties": {
"word": {
"type": "string",
"description": "An English word"
}
}
}Fetch any public web page URL and get clean, LLM-ready text or Markdown: main content, code blocks, tables, links and headings, for RAG and agent context. Static HTML, Markdown or text; optional section ID. Default 20,000 output characters, max 100,000; input 2 MiB. No JavaScript rendering (see /extract/rendered), logins or paywalls. Empty pages, bad sections, browser challenges and errors are not charged. Use to read docs or articles. Example: url=https://example.com. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute http(s) URL of the page to fetch |
| format | string | Returned representation: text (default), markdown, or both. HTML structured details are included in every format; Markdown/plain sources have empty details. |
| section | string | Optional exact visible HTML ID within primary content, 1-500 characters. Heading scope includes subsections until next same/higher-level heading; section/article/main/div scope is its subtree. Missing/ambiguous/unsupported targets fail uncharged. URL fragments alone do not select a section. |
| maxChars | integer | Maximum characters of body text to return (500-100000, default 20000) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to fetch"
},
"format": {
"enum": [
"text",
"markdown",
"both"
],
"type": "string",
"description": "Returned representation: text (default), markdown, or both. HTML structured details are included in every format; Markdown/plain sources have empty details."
},
"section": {
"type": "string",
"description": "Optional exact visible HTML ID within primary content, 1-500 characters. Heading scope includes subsections until next same/higher-level heading; section/article/main/div scope is its subtree. Missing/ambiguous/unsupported targets fail uncharged. URL fragments alone do not select a section."
},
"maxChars": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Maximum characters of body text to return (500-100000, default 20000)"
}
}
}Same output as /extract, but the page is first rendered in a real browser, so single-page apps and pages that build their content with JavaScript come back with their text instead of an empty shell. Waits for the network to settle (up to 15 seconds). Public pages only; no login. Use when /extract returns EXTRACTION_EMPTY or too little text for a page you can read in a browser. Example: url=https://example.com/. Price $0.01/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute public http(s) URL of the page |
| format | string | text (default), markdown or both |
| section | string | Optional exact HTML id to read only that element |
| maxChars | integer | Output limit, 500-100000 characters (default 20000) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute public http(s) URL of the page"
},
"format": {
"enum": [
"text",
"markdown",
"both"
],
"type": "string",
"description": "text (default), markdown or both"
},
"section": {
"type": "string",
"description": "Optional exact HTML id to read only that element"
},
"maxChars": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Output limit, 500-100000 characters (default 20000)"
}
}
}Read a public RSS 2.0, RSS 1.0 or Atom feed and get the feed title, link and description plus its newest items: title, link, date (ISO 8601), short plain-text summary, author and id. Up to 50 items, feeds up to 2 MB. Lenient with real-world feeds; a page that is not a feed returns 422, uncharged. Use to follow news, blogs, release notes or podcasts without scraping pages. Example: url=https://github.blog/feed/. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute public http(s) URL of the feed |
| limit | integer | Items to return (1-50, default 20) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute public http(s) URL of the feed"
},
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Items to return (1-50, default 20)"
}
}
}Search current news and get the latest headlines as JSON: title, URL, snippet, publisher domain and age, from the Brave Search API's news index. 1-20 results per call; freshness limits results to the past day, week or month. Results are for the caller's immediate use only: no storing, resale or model training (Brave API terms). Upstream failures and exhausted capacity return 503, uncharged. Use when an agent needs current news on a topic. Example: q=bitcoin ETF. Price $0.01/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| q* | string | News search query, at most 400 characters |
| count | integer | Number of results (1-20, default 10) |
| freshness | string | Only articles from the past day, week or month (default: any age) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "News search query, at most 400 characters"
},
"count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Number of results (1-20, default 10)"
},
"freshness": {
"type": "string",
"description": "Only articles from the past day, week or month (default: any age)"
}
}
}Search scholarly literature across journals, conferences, preprints and books: title, authors, year, venue, citation count, DOI link and abstract where available. Optional fromYear filter and up to 20 results per call. Use for research agents, literature reviews, fact-checking a claim against published work, and finding the DOI for a citation. Example: query=CRISPR off-target effects. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of results, 1-20 (default 5) |
| query* | string | Search terms, a title or a research question (3-300 characters) |
| fromYear | integer | Only works published in or after this year |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Number of results, 1-20 (default 5)"
},
"query": {
"type": "string",
"description": "Search terms, a title or a research question (3-300 characters)"
},
"fromYear": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only works published in or after this year"
}
}
}Download a public PDF (up to 10 MB) and return its text page by page, with title, author, page count and character counts. Choose a first page and how many pages to read (up to 200) and cap the output with maxChars. Scanned PDFs without a text layer, encrypted files and non-PDF URLs fail uncharged. Use to read papers, invoices, reports and manuals into an agent's context. Example: url=https://bitcoin.org/bitcoin.pdf. Price $0.005/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute public http(s) URL of the PDF |
| pages | integer | How many pages to read (1-200, default 50) |
| maxChars | integer | Maximum characters of text returned across all pages (1000-200000, default 50000) |
| firstPage | integer | First page to read (default 1) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute public http(s) URL of the PDF"
},
"pages": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "How many pages to read (1-200, default 50)"
},
"maxChars": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Maximum characters of text returned across all pages (1000-200000, default 50000)"
},
"firstPage": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "First page to read (default 1)"
}
}
}Render any public web page in a real headless Chrome browser, with JavaScript executed, and get a JPEG screenshot (1280 px wide, base64) plus the final URL, HTTP status and page title. Set fullPage=true to capture up to 4000 px of page height. Use for visual checks, page previews, monitoring and feeding pages to vision models. Example: url=https://example.com. Price $0.02/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute http(s) URL of the page to capture |
| fullPage | string | number | boolean | Set to true to capture the full page height (max 4000 px) instead of the 1280x800 viewport |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to capture"
},
"fullPage": {
"type": [
"string",
"number",
"boolean"
],
"description": "Set to true to capture the full page height (max 4000 px) instead of the 1280x800 viewport"
}
}
}Search the web and get the top results as JSON: title, URL, a short snippet and the page age, from the Brave Search API. 1-20 results per call. Results are for the caller's immediate use only: no storing, resale or model training (Brave API terms). Upstream failures and exhausted daily capacity return 503, uncharged. Pair with /extract to read a result in full. Use when an agent needs current information or sources from the open web. Example: q=x402 payment protocol. Price $0.01/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| q* | string | Search query, at most 400 characters |
| count | integer | Number of results (1-20, default 10) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Search query, at most 400 characters"
},
"count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Number of results (1-20, default 10)"
}
}
}Read one public XML sitemap or sitemap index as structured URLs and source-reported dates. Supports gzip, substring filtering and pagination. Maximum 512 KiB expanded input and 1000 entries. Does not crawl pages or follow child sitemaps. Invalid XML and execution errors are not charged; a valid empty match is charged. Use to find which pages of a docs site to read before calling /extract. Example: url=https://www.sitemaps.org/sitemap.xml. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute public HTTP(S) XML sitemap URL; child sitemaps are not fetched automatically |
| offset | integer | Offset into distinct reported matching locations (0-1000, default 0); use nextOffset to continue |
| maxUrls | integer | Reported matching locations examined in one page (1-100, default 25); invalid/nonpublic locations may reduce returned entries |
| contains | string | Optional case-insensitive URL substring, at most 200 characters |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute public HTTP(S) XML sitemap URL; child sitemaps are not fetched automatically"
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Offset into distinct reported matching locations (0-1000, default 0); use nextOffset to continue"
},
"maxUrls": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Reported matching locations examined in one page (1-100, default 25); invalid/nonpublic locations may reduce returned entries"
},
"contains": {
"type": "string",
"description": "Optional case-insensitive URL substring, at most 200 characters"
}
}
}Give a URL, get a short summary of the page plus three to six key points, ready to drop into an agent's context. Fetches the page, strips navigation and boilerplate, and summarizes the main text with an LLM. HTML pages only; for a PDF use pdf_text, then ai_summarize_text. Use for research, news triage, link previews and deciding whether a page is worth reading in full. For the full text use extract. Example: url=https://en.wikipedia.org/wiki/HTTP_402. Price $0.01/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute http(s) URL of the page to summarize |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to summarize"
}
}
}Fetch a public web page's head and return link-preview metadata: title, description, site name, type, preview image, canonical URL, language, author, published time, favicon, theme colour, and every OpenGraph and Twitter-card field. Reads at most 512 KB and never runs JavaScript. Use to build link previews, label citations or check how a URL will unfurl before sharing it. Example: url=https://github.com/. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute public http(s) URL of the page |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute public http(s) URL of the page"
}
}
}Short summary of a Wikipedia article in any language edition: title, one-paragraph extract, description, thumbnail and page URL. Use to ground an agent's answer in a quick, citable fact sheet. Example: title=Stockholm. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language code (default en) |
| title* | string | Article title |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title"
],
"properties": {
"lang": {
"type": "string",
"description": "Language code (default en)"
},
"title": {
"type": "string",
"description": "Article title"
}
}
}