Convert public web pages to PDF, images, Markdown, or JSON using one API key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
API key purchased at https://url-pdf.hammbox.com/buy (Paddle checkout).
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.
Free. Returns what this server can do, the price of each paid tool, and where to buy an API key.
This tool takes no arguments.
Free. Returns what this server can do, the price of each paid tool, and where to buy an API key.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Extract structured data from a page as JSON: title, meta description, canonical URL, language, main text and links. Readability-first, no LLM involved. Requires an API key purchased at https://url-pdf.hammbox.com/buy. Same auth as the other paid tools.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute http(s) URL of the page to extract. Required. |
| waitMs | number | Extra settle time after load, 0-10000ms. Few dynamics pages need this. |
| blockAds | boolean | Block requests to major ad/analytics domains before rendering. Default false. |
| darkMode | boolean | Render with prefers-color-scheme: dark. Default false. |
| maxLinks | number | Maximum number of links to return, 0-500. Default 100. |
| timeoutMs | number | Navigation timeout in ms, 5000-100000. Default 45000. |
| waitUntil | string | Puppeteer navigation wait condition. Default networkidle2. |
| maxTextChars | number | Truncate main text to this many characters, 500-200000. Default 20000. |
| clickSelector | string | CSS selector to click before rendering (expand, dismiss modal, switch tab). |
| waitForSelector | string | Optional CSS selector to wait for before rendering. |
| hideCookieBanners | boolean | Remove elements that look like cookie consent banners. Default false. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to extract. Required."
},
"waitMs": {
"type": "number",
"description": "Extra settle time after load, 0-10000ms. Few dynamics pages need this."
},
"blockAds": {
"type": "boolean",
"description": "Block requests to major ad/analytics domains before rendering. Default false."
},
"darkMode": {
"type": "boolean",
"description": "Render with prefers-color-scheme: dark. Default false."
},
"maxLinks": {
"type": "number",
"description": "Maximum number of links to return, 0-500. Default 100."
},
"timeoutMs": {
"type": "number",
"description": "Navigation timeout in ms, 5000-100000. Default 45000."
},
"waitUntil": {
"enum": [
"load",
"domcontentloaded",
"networkidle0",
"networkidle2"
],
"type": "string",
"description": "Puppeteer navigation wait condition. Default networkidle2."
},
"maxTextChars": {
"type": "number",
"description": "Truncate main text to this many characters, 500-200000. Default 20000."
},
"clickSelector": {
"type": "string",
"description": "CSS selector to click before rendering (expand, dismiss modal, switch tab)."
},
"waitForSelector": {
"type": "string",
"description": "Optional CSS selector to wait for before rendering."
},
"hideCookieBanners": {
"type": "boolean",
"description": "Remove elements that look like cookie consent banners. Default false."
}
},
"additionalProperties": false
}Extract page content as clean Markdown. Requires an API key purchased at https://url-pdf.hammbox.com/buy. If this MCP request carries a valid "x-api-key" or "Authorization: Bearer" header, it renders directly and returns a 1-hour download URL; otherwise it returns purchase guidance.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute http(s) URL of the page to extract. Required. |
| width | number | Viewport width in px, 320-3840. Default 1280. |
| height | number | Viewport height in px, 240-2160. Default 900. |
| waitMs | number | Extra settle time after load, 0-10000ms. Few dynamics pages need this. |
| blockAds | boolean | Block requests to major ad/analytics domains before rendering. Default false. |
| darkMode | boolean | Render with prefers-color-scheme: dark. Default false. |
| timeoutMs | number | Navigation timeout in ms, 5000-100000. Default 45000. |
| waitUntil | string | Puppeteer navigation wait condition. Default networkidle2. |
Render a web page to PDF. Requires an API key purchased at https://url-pdf.hammbox.com/buy. If this MCP request carries a valid "x-api-key" or "Authorization: Bearer" header, it renders directly and returns a 1-hour download URL; otherwise it returns purchase guidance.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute http(s) URL of the page to render. Required. |
| scale | number | Scale, 0.1-2. Default 1. |
| width | number | Viewport width in px, 320-3840. Default 1280. |
| format | string | Paper size. Default A4. |
| height | number | Viewport height in px, 240-2160. Default 900. |
| margin | string | Margin shorthand like "10mm" — or an object {top,right,bottom,left}. Optional. |
| waitMs | number | Extra settle time after load, 0-10000ms. Few dynamics pages need this. |
| blockAds | boolean | Block requests to major ad/analytics domains before rendering. Default false. |
Capture a page as an image. Requires an API key purchased at https://url-pdf.hammbox.com/buy. If this MCP request carries a valid "x-api-key" or "Authorization: Bearer" header, it renders directly and returns a 1-hour download URL; otherwise it returns purchase guidance.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute http(s) URL of the page to capture. Required. |
| clip | string | Clip region as "x,y,width,height" — or an object {x,y,width,height}. Optional. |
| width | number | Viewport width in px, 320-3840. Default 1280. |
| format | string | Image format. Default png. |
| height | number | Viewport height in px, 240-2160. Default 900. |
| waitMs | number | Extra settle time after load, 0-10000ms. Few dynamics pages need this. |
| quality | number | JPEG quality 0-1. Ignored for png. Default 0.8. |
| blockAds | boolean | Block requests to major ad/analytics domains before rendering. Default false. |
| keepImages | boolean | Keep image links in the Markdown output. Default false. |
| clickSelector | string | CSS selector to click before rendering (expand, dismiss modal, switch tab). |
| removeSelectors | array | CSS selectors to strip before extraction, e.g. ["nav", ".ads", "footer"]. |
| waitForSelector | string | Optional CSS selector to wait for before rendering. |
| deviceScaleFactor | number | Device pixel ratio, 0.5-3. Default 1. Set 2 for retina. |
| hideCookieBanners | boolean | Remove elements that look like cookie consent banners. Default false. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to extract. Required."
},
"width": {
"type": "number",
"description": "Viewport width in px, 320-3840. Default 1280."
},
"height": {
"type": "number",
"description": "Viewport height in px, 240-2160. Default 900."
},
"waitMs": {
"type": "number",
"description": "Extra settle time after load, 0-10000ms. Few dynamics pages need this."
},
"blockAds": {
"type": "boolean",
"description": "Block requests to major ad/analytics domains before rendering. Default false."
},
"darkMode": {
"type": "boolean",
"description": "Render with prefers-color-scheme: dark. Default false."
},
"timeoutMs": {
"type": "number",
"description": "Navigation timeout in ms, 5000-100000. Default 45000."
},
"waitUntil": {
"enum": [
"load",
"domcontentloaded",
"networkidle0",
"networkidle2"
],
"type": "string",
"description": "Puppeteer navigation wait condition. Default networkidle2."
},
"keepImages": {
"type": "boolean",
"description": "Keep image links in the Markdown output. Default false."
},
"clickSelector": {
"type": "string",
"description": "CSS selector to click before rendering (expand, dismiss modal, switch tab)."
},
"removeSelectors": {
"type": "array",
"items": {
"type": "string"
},
"description": "CSS selectors to strip before extraction, e.g. [\"nav\", \".ads\", \"footer\"]."
},
"waitForSelector": {
"type": "string",
"description": "Optional CSS selector to wait for before rendering."
},
"deviceScaleFactor": {
"type": "number",
"description": "Device pixel ratio, 0.5-3. Default 1. Set 2 for retina."
},
"hideCookieBanners": {
"type": "boolean",
"description": "Remove elements that look like cookie consent banners. Default false."
}
},
"additionalProperties": false
}| darkMode |
| boolean |
| Render with prefers-color-scheme: dark. Default false. |
| landscape | boolean | Landscape orientation. Default false. |
| timeoutMs | number | Navigation timeout in ms, 5000-100000. Default 45000. |
| waitUntil | string | Puppeteer navigation wait condition. Default networkidle2. |
| clickSelector | string | CSS selector to click before rendering (expand, dismiss modal, switch tab). |
| printBackground | boolean | Print background graphics. Default true. |
| waitForSelector | string | Optional CSS selector to wait for before rendering. |
| deviceScaleFactor | number | Device pixel ratio, 0.5-3. Default 1. Set 2 for retina. |
| hideCookieBanners | boolean | Remove elements that look like cookie consent banners. Default false. |
| preferCssPageSize | boolean | Honor the page CSS @page size instead of the format option. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to render. Required."
},
"scale": {
"type": "number",
"description": "Scale, 0.1-2. Default 1."
},
"width": {
"type": "number",
"description": "Viewport width in px, 320-3840. Default 1280."
},
"format": {
"enum": [
"A4",
"Letter",
"Legal"
],
"type": "string",
"description": "Paper size. Default A4."
},
"height": {
"type": "number",
"description": "Viewport height in px, 240-2160. Default 900."
},
"margin": {
"type": "string",
"description": "Margin shorthand like \"10mm\" — or an object {top,right,bottom,left}. Optional."
},
"waitMs": {
"type": "number",
"description": "Extra settle time after load, 0-10000ms. Few dynamics pages need this."
},
"blockAds": {
"type": "boolean",
"description": "Block requests to major ad/analytics domains before rendering. Default false."
},
"darkMode": {
"type": "boolean",
"description": "Render with prefers-color-scheme: dark. Default false."
},
"landscape": {
"type": "boolean",
"description": "Landscape orientation. Default false."
},
"timeoutMs": {
"type": "number",
"description": "Navigation timeout in ms, 5000-100000. Default 45000."
},
"waitUntil": {
"enum": [
"load",
"domcontentloaded",
"networkidle0",
"networkidle2"
],
"type": "string",
"description": "Puppeteer navigation wait condition. Default networkidle2."
},
"clickSelector": {
"type": "string",
"description": "CSS selector to click before rendering (expand, dismiss modal, switch tab)."
},
"printBackground": {
"type": "boolean",
"description": "Print background graphics. Default true."
},
"waitForSelector": {
"type": "string",
"description": "Optional CSS selector to wait for before rendering."
},
"deviceScaleFactor": {
"type": "number",
"description": "Device pixel ratio, 0.5-3. Default 1. Set 2 for retina."
},
"hideCookieBanners": {
"type": "boolean",
"description": "Remove elements that look like cookie consent banners. Default false."
},
"preferCssPageSize": {
"type": "boolean",
"description": "Honor the page CSS @page size instead of the format option."
}
},
"additionalProperties": false
}| darkMode |
| boolean |
| Render with prefers-color-scheme: dark. Default false. |
| fullPage | boolean | Capture the full scrollable page, not just the viewport. Default true. |
| selector | string | Capture only the element matching this CSS selector, instead of the page. |
| timeoutMs | number | Navigation timeout in ms, 5000-100000. Default 45000. |
| waitUntil | string | Puppeteer navigation wait condition. Default networkidle2. |
| clickSelector | string | CSS selector to click before rendering (expand, dismiss modal, switch tab). |
| waitForSelector | string | Optional CSS selector to wait for before rendering. |
| deviceScaleFactor | number | Device pixel ratio, 0.5-3. Default 1. Set 2 for retina. |
| hideCookieBanners | boolean | Remove elements that look like cookie consent banners. Default false. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to capture. Required."
},
"clip": {
"type": "string",
"description": "Clip region as \"x,y,width,height\" — or an object {x,y,width,height}. Optional."
},
"width": {
"type": "number",
"description": "Viewport width in px, 320-3840. Default 1280."
},
"format": {
"enum": [
"png",
"jpeg"
],
"type": "string",
"description": "Image format. Default png."
},
"height": {
"type": "number",
"description": "Viewport height in px, 240-2160. Default 900."
},
"waitMs": {
"type": "number",
"description": "Extra settle time after load, 0-10000ms. Few dynamics pages need this."
},
"quality": {
"type": "number",
"description": "JPEG quality 0-1. Ignored for png. Default 0.8."
},
"blockAds": {
"type": "boolean",
"description": "Block requests to major ad/analytics domains before rendering. Default false."
},
"darkMode": {
"type": "boolean",
"description": "Render with prefers-color-scheme: dark. Default false."
},
"fullPage": {
"type": "boolean",
"description": "Capture the full scrollable page, not just the viewport. Default true."
},
"selector": {
"type": "string",
"description": "Capture only the element matching this CSS selector, instead of the page."
},
"timeoutMs": {
"type": "number",
"description": "Navigation timeout in ms, 5000-100000. Default 45000."
},
"waitUntil": {
"enum": [
"load",
"domcontentloaded",
"networkidle0",
"networkidle2"
],
"type": "string",
"description": "Puppeteer navigation wait condition. Default networkidle2."
},
"clickSelector": {
"type": "string",
"description": "CSS selector to click before rendering (expand, dismiss modal, switch tab)."
},
"waitForSelector": {
"type": "string",
"description": "Optional CSS selector to wait for before rendering."
},
"deviceScaleFactor": {
"type": "number",
"description": "Device pixel ratio, 0.5-3. Default 1. Set 2 for retina."
},
"hideCookieBanners": {
"type": "boolean",
"description": "Remove elements that look like cookie consent banners. Default false."
}
},
"additionalProperties": false
}