MCP Server

Puptra PDF Snapshot

com.saastemly/puptra-pdf-snapshot
Developer Tools Media & Content Public & reachable MCP 2026-07-28

What this MCP does

Renders URLs or HTML into PDFs, screenshots, Markdown, links, and page snapshots using browser automation.

links
Every link on the page as absolute URLs, with optional same-domain-only and visi
Every link on the page as absolute URLs, with optional same-domain-only and visible-only filters. Price: $0.005 a call.
Input schema
{'type': 'object', 'required': [], 'properties': {'url': {'type': 'string', 'description': 'The page (https). Set url or html, not both.'}, 'html': {'type': 'string', 'description': 'HTML to render instead of a URL.'}, 'cookies': {'type': 'array'}, 'viewport': {'type': 'object'}, 'userAgent': {'type': 'string'}, 'addStyleTag': {'type': 'array'}, 'bestAttempt': {'type': 'boolean'}, 'gotoOptions': {'type': 'object'}, 'addScriptTag': {'type': 'array'}, 'authenticate': {'type': 'object'}, 'waitForTimeout': {'type': 'number'}, 'waitForSelector': {'type': 'object'}, 'emulateMediaType': {'type': 'string'}, 'visibleLinksOnly': {'type': 'boolean', 'description': 'Only links visible on the page (default false)'}, 'allowResourceTypes': {'type': 'array'}, 'allowRequestPattern': {'type': 'array'}, 'rejectResourceTypes': {'type': 'array'}, 'setExtraHTTPHeaders': {'type': 'object'}, 'excludeExternalLinks': {'type': 'boolean', 'description': 'Only same-origin links (default false)'}, 'rejectRequestPattern': {'type': 'array'}, 'setJavaScriptEnabled': {'type': 'boolean'}}}
markdown
The page's rendered content as Markdown
The page's rendered content as Markdown. Price: $0.005 a call.
Input schema
{'type': 'object', 'required': [], 'properties': {'url': {'type': 'string', 'description': 'The page (https). Set url or html, not both.'}, 'html': {'type': 'string', 'description': 'HTML to render instead of a URL.'}, 'cookies': {'type': 'array'}, 'viewport': {'type': 'object'}, 'userAgent': {'type': 'string'}, 'addStyleTag': {'type': 'array'}, 'bestAttempt': {'type': 'boolean'}, 'gotoOptions': {'type': 'object'}, 'addScriptTag': {'type': 'array'}, 'authenticate': {'type': 'object'}, 'waitForTimeout': {'type': 'number'}, 'waitForSelector': {'type': 'object'}, 'emulateMediaType': {'type': 'string'}, 'allowResourceTypes': {'type': 'array'}, 'allowRequestPattern': {'type': 'array'}, 'rejectResourceTypes': {'type': 'array'}, 'setExtraHTTPHeaders': {'type': 'object'}, 'rejectRequestPattern': {'type': 'array'}, 'setJavaScriptEnabled': {'type': 'boolean'}}}
pdf
Render a URL or HTML to PDF with Puppeteer's page
Render a URL or HTML to PDF with Puppeteer's page.pdf() options (format letter by default, scale, margins, header/footer templates, printBackground, pageRanges). Price: $0.005 a call.
Input schema
{'type': 'object', 'required': [], 'properties': {'url': {'type': 'string', 'description': 'The page to render (https). Set url or html, not both.'}, 'html': {'type': 'string', 'description': 'HTML to render instead of a URL.'}, 'cookies': {'type': 'array', 'description': 'Cookies to set before loading'}, 'deliver': {'type': 'object', 'description': '{store: "1d"|"7d"|"30d"|"365d", name?}: keep the PDF in file storage and answer with metadata instead of bytes'}, 'viewport': {'type': 'object', 'description': '{width,height,deviceScaleFactor,isMobile,hasTouch,isLandscape}; default 1920x1080'}, 'userAgent': {'type': 'string'}, 'pdfOptions': {'type': 'object', 'properties': {'scale': {'type': 'number', 'description': '0.1-2, default 1'}, 'width': {'type': 'string', 'description': 'Paper width, e.g. "8.5in"'}, 'format': {'type': 'string', 'description': 'letter|legal|tabloid|ledger|a0|a1|a2|a3|a4|a5|a6 (default letter)'}, 'height': {'type': 'string', 'description': 'Paper height, e.g. "11in"'}, 'margin': {'type': 'object', 'description': '{top,bottom,left,right}'}, 'tagged': {'type': 'boolean'}, 'outline': {'type': 'boolean'}, 'timeout': {'type': 'number', 'description': '0-60000 ms, default 30000'}, 'landscape': {'type': 'boolean'}, 'pageRanges': {'type': 'string', 'description': 'e.g. "1-5, 8, 11-13"'}, 'footerTemplate': {'type': 'string'}, 'headerTemplate': {'type': 'string', 'description': 'HTML with date/title/url/pageNumber/totalPages classes'}, 'omitBackground': {'type': 'boolean'}, 'printBackground': {'type': 'boolean'}, 'preferCSSPageSize': {'type': 'boolean'}, 'displayHeaderFooter': {'type': 'boolean'}}, 'description': 'Puppeteer page.pdf() options as documented at pptr.dev/api/puppeteer.pdfoptions.'}, 'addStyleTag': {'type': 'array', 'description': '[{content|url}]'}, 'bestAttempt': {'type': 'boolean', 'description': 'Proceed when awaited events fail or time out'}, 'gotoOptions': {'type': 'object', 'description': '{waitUntil: load|domcontentloaded|networkidle0|networkidle2, timeout}'}, 'addScriptTag': {'type': 'array', 'description': '[{content|url}]'}, 'authenticate': {'type': 'object', 'description': '{username,password}'}, 'waitForTimeout': {'type': 'number', 'description': 'Extra wait in ms (0-120000)'}, 'waitForSelector': {'type': 'object', 'description': '{selector, visible?, hidden?, timeout}'}, 'emulateMediaType': {'type': 'string', 'description': 'screen|print'}, 'allowResourceTypes': {'type': 'array'}, 'allowRequestPattern': {'type': 'array'}, 'rejectResourceTypes': {'type': 'array', 'description': 'e.g. ["image"]'}, 'setExtraHTTPHeaders': {'type': 'object', 'description': 'Extra HTTP headers'}, 'rejectRequestPattern': {'type': 'array'}, 'setJavaScriptEnabled': {'type': 'boolean'}}}
screenshot
Capture a PNG, JPEG or WebP screenshot with Puppeteer's page
Capture a PNG, JPEG or WebP screenshot with Puppeteer's page.screenshot() options (fullPage, clip, omitBackground, quality 0-100 for jpeg/webp only). Price: $0.005 a call.
Input schema
{'type': 'object', 'required': [], 'properties': {'url': {'type': 'string', 'description': 'The page to capture (https). Set url or html, not both.'}, 'html': {'type': 'string', 'description': 'HTML to render instead of a URL.'}, 'cookies': {'type': 'array'}, 'deliver': {'type': 'object', 'description': '{store, name?}: keep the image in file storage'}, 'selector': {'type': 'string', 'description': 'Screenshot this element instead of the page'}, 'viewport': {'type': 'object', 'description': '{width,height,deviceScaleFactor,...}; default 1920x1080'}, 'userAgent': {'type': 'string'}, 'scrollPage': {'type': 'boolean', 'description': 'Scroll the page before capturing (lazy content)'}, 'addStyleTag': {'type': 'array'}, 'bestAttempt': {'type': 'boolean'}, 'gotoOptions': {'type': 'object', 'description': '{waitUntil, timeout}'}, 'addScriptTag': {'type': 'array'}, 'authenticate': {'type': 'object'}, 'waitForTimeout': {'type': 'number'}, 'waitForSelector': {'type': 'object'}, 'emulateMediaType': {'type': 'string'}, 'screenshotOptions': {'type': 'object', 'properties': {'clip': {'type': 'object', 'description': '{x,y,width,height,scale?}'}, 'type': {'type': 'string', 'description': 'png|jpeg|webp (default png)'}, 'quality': {'type': 'number', 'description': '0-100, jpeg/webp only'}, 'fullPage': {'type': 'boolean'}, 'fromSurface': {'type': 'boolean'}, 'omitBackground': {'type': 'boolean'}, 'optimizeForSpeed': {'type': 'boolean'}, 'captureBeyondViewport': {'type': 'boolean'}}, 'description': 'Puppeteer page.screenshot() options as documented at pptr.dev/api/puppeteer.screenshotoptions.'}, 'allowResourceTypes': {'type': 'array'}, 'allowRequestPattern': {'type': 'array'}, 'rejectResourceTypes': {'type': 'array'}, 'setExtraHTTPHeaders': {'type': 'object'}, 'rejectRequestPattern': {'type': 'array'}, 'setJavaScriptEnabled': {'type': 'boolean'}}}
snapshot
One call, several formats
One call, several formats: rendered HTML content and a base64 screenshot (plus optional Markdown and accessibility tree), with the page's status and title. Price: $0.005 a call.
Input schema
{'type': 'object', 'required': [], 'properties': {'url': {'type': 'string', 'description': 'The page to snapshot (https). Set url or html, not both.'}, 'html': {'type': 'string', 'description': 'HTML to render instead of a URL.'}, 'cookies': {'type': 'array'}, 'deliver': {'type': 'object', 'description': "{store, name?}: keep the snapshot's screenshot in file storage"}, 'formats': {'type': 'array', 'description': 'At least two of: content, screenshot, markdown, accessibilityTree (default content+screenshot)'}, 'viewport': {'type': 'object'}, 'userAgent': {'type': 'string'}, 'addStyleTag': {'type': 'array'}, 'bestAttempt': {'type': 'boolean'}, 'gotoOptions': {'type': 'object'}, 'addScriptTag': {'type': 'array'}, 'authenticate': {'type': 'object'}, 'waitForTimeout': {'type': 'number'}, 'waitForSelector': {'type': 'object'}, 'emulateMediaType': {'type': 'string'}, 'screenshotOptions': {'type': 'object', 'description': "Puppeteer screenshot options for the snapshot's screenshot format"}, 'allowResourceTypes': {'type': 'array'}, 'allowRequestPattern': {'type': 'array'}, 'rejectResourceTypes': {'type': 'array'}, 'setExtraHTTPHeaders': {'type': 'object'}, 'rejectRequestPattern': {'type': 'array'}, 'setJavaScriptEnabled': {'type': 'boolean'}}}
Added
links
Oct. 3, 2026, 2:40 a.m.
Added
markdown
Oct. 3, 2026, 2:40 a.m.
Added
snapshot
Oct. 3, 2026, 2:40 a.m.
Added
screenshot
Oct. 3, 2026, 2:40 a.m.
Added
pdf
Oct. 3, 2026, 2:40 a.m.