Web pages for AI agents: may-I-use checks, prompt-injection flags, Markdown, JSON, screenshots
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. Bearer bhk_... prepaid API key for the paid tools (read, extract, delta, actions, screenshot). preflight and site work without a key.
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.
Returns the forms (with every field, its label and whether it is required), buttons and links on a page, each with a CSS selector an automation tool can use. Uses the rendered page when the HTML alone has none. Charged only on success. Price: US$0.004 per successful call (API key credits or x402).
Returns the forms (with every field, its label and whether it is required), buttons and links on a page, each with a CSS selector an automation tool can use. Uses the rendered page when the HTML alone has none. Charged only on success. Price: US$0.004 per successful call (API key credits or x402).
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| engine | string | |
| user_agent | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"engine": {
"enum": [
"auto",
"fetch",
"kitesurf",
"chromium"
],
"type": "string",
"default": "auto"
},
"user_agent": {
"type": "string"
}
}
}Free. Credits remaining on the API key sent in the Authorization header (1 credit = US$0.001).
No arguments.
{
"type": "object",
"properties": {}
}For pages an agent checks again and again. The first call returns the page as sections plus a fingerprint; send that fingerprint back as "previous" next time and get only the sections that changed (and the headings of removed ones), or changed:false. Uses HTTP ETag/Last-Modified when the site supports them. Nothing is stored on our side: the fingerprint lives with the agent. Saves tokens on every re-check. Charged only on success. Price: US$0.001 per successful call (API key credits or x402).
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| engine | string | |
| previous | object | The "fingerprint" object from your last delta call for this URL. Leave out on the first call. |
| user_agent | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"engine": {
"enum": [
"auto",
"fetch",
"kitesurf",
"chromium"
],
"type": "string",
"default": "auto"
},
"previous": {
"type": "object",
"description": "The \"fingerprint\" object from your last delta call for this URL. Leave out on the first call."
},
"user_agent": {
"type": "string"
}
}
}No AI model involved: returns the structured data the page already publishes — JSON-LD / schema.org objects (products, articles, events, organisations, breadcrumbs), prices and offers, meta and Open Graph tags, canonical URL, language versions, licence, RSS/Atom/JSON feeds, and HTML data tables as columns + rows. Exact values instead of guesses from text. Charged only on success. Price: US$0.002 per successful call (API key credits or x402).
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| engine | string | |
| user_agent | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"engine": {
"enum": [
"auto",
"fetch",
"kitesurf",
"chromium"
],
"type": "string",
"default": "auto"
},
"user_agent": {
"type": "string"
}
}
}Free. Before an agent spends money or time on a URL: is it allowed (robots.txt for this service and, if you pass user_agent, for your own bot; Content Signals such as ai-input and ai-train; meta robots), does a bot check or sign-in stand in the way, and which engine each task needs — plain fetch, Kitesurf (Cloudflare's lightweight agent browser) or Chromium. Rate-limited per IP.
| Argument | Type | Description |
|---|---|---|
| url* | string | The page (http or https) |
| user_agent | string | Your own bot's robots.txt name (e.g. "MyAgentBot") to check its rules too |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The page (http or https)"
},
"user_agent": {
"type": "string",
"description": "Your own bot's robots.txt name (e.g. \"MyAgentBot\") to check its rules too"
}
}
}Returns the main content of a web page as clean Markdown with absolute links. Tries the cheapest way that works: plain fetch, then Kitesurf, then Chromium, and reports which one worked. Refuses (and charges nothing) when the site's robots.txt or Content Signals say no, or when a bot check answers instead of the page. Charged only on success. Price: US$0.004 per successful call (API key credits or x402).
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| engine | string | |
| max_chars | integer | |
| user_agent | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"engine": {
"enum": [
"auto",
"fetch",
"kitesurf",
"chromium"
],
"type": "string",
"default": "auto"
},
"max_chars": {
"type": "integer",
"default": 100000,
"maximum": 400000,
"minimum": 1000
},
"user_agent": {
"type": "string"
}
}
}PNG screenshot of a page at 1280×800 (or the full page). engine "auto" uses Kitesurf unless the page needs video or WebGL, then Chromium. Charged only on success. Price: US$0.008 per successful call (API key credits or x402).
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| engine | string | |
| full_page | boolean | |
| user_agent | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"engine": {
"enum": [
"auto",
"kitesurf",
"chromium"
],
"type": "string",
"default": "auto"
},
"full_page": {
"type": "boolean",
"default": false
},
"user_agent": {
"type": "string"
}
}
}Free. Everything an agent should know about a website before using it: its llms.txt (and llms-full.txt), sitemap (page count and first URLs), feeds, language versions, Content Signals, and which known AI crawlers and agents its robots.txt allows. Rate-limited per IP.
| Argument | Type | Description |
|---|---|---|
| url* | string | Any page of the site |
| user_agent | string | Your bot's robots.txt name, to check its rules too |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Any page of the site"
},
"user_agent": {
"type": "string",
"description": "Your bot's robots.txt name, to check its rules too"
}
}
}