url-to-pdf
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Convert public web pages to PDF, images, Markdown, or JSON using one API key.
| Author | io.github.strayly |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2486 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"url-to-pdf": {
"url": "https://url-pdf.hammbox.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (5)
list_capabilitiesread-onlyFree. Returns what this server can do, the price of each paid tool, and where to buy an API key.
Hints: read-only yes · destructive no · idempotent no · open-world yes
url_to_pdfread-onlyRender 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.
Parameters:
url(required) — 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.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.
Hints: read-only yes · destructive no · idempotent no · open-world yes
url_to_screenshotread-onlyCapture 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.
Parameters:
url(required) — 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.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.
Hints: read-only yes · destructive no · idempotent no · open-world yes
url_to_markdownread-onlyExtract 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.
Parameters:
url(required) — 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.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.
Hints: read-only yes · destructive no · idempotent no · open-world yes
url_to_extractread-onlyExtract 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.
Parameters:
url(required) — 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.
Hints: read-only yes · destructive no · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.