url-to-pdf
Convert public web pages to PDF, images, Markdown, or JSON using one API key.
사용해야 할까요
품질 및 안전성
발견 사항 (6)
- HIGH
- MEDIUMurl_to_pdf에서
- MEDIUMurl_to_screenshot에서
- MEDIUMurl_to_markdown에서
- MEDIUMurl_to_extract에서
- LOWlist_capabilities에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"url-to-pdf": {
"url": "https://url-pdf.hammbox.com/mcp"
}
}
}원격 엔드포인트
https://url-pdf.hammbox.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢list_capabilities
Free. Returns what this server can do, the price of each paid tool, and where to buy an API key.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢url_to_pdf(url, format, landscape, printBackground, scale, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to render. Required."
},
"format": {
"type": "string",
"enum": [
"A4",
"Letter",
"Legal"
],
"description": "Paper size. Default A4."
},
"landscape": {
"type": "boolean",
"description": "Landscape orientation. Default false."
},
"printBackground": {
"type": "boolean",
"description": "Print background graphics. Default true."
},
"scale": {
"type": "number",
"description": "Scale, 0.1-2. Default 1."
},
"margin": {
"type": "string",
"description": "Margin shorthand like \"10mm\" — or an object {top,right,bottom,left}. Optional."
},
"preferCssPageSize": {
"type": "boolean",
"description": "Honor the page CSS @page size instead of the format option."
},
"width": {
"type": "number",
"description": "Viewport width in px, 320-3840. Default 1280."
},
"height": {
"type": "number",
"description": "Viewport height in px, 240-2160. Default 900."
},
"deviceScaleFactor": {
"type": "number",
"description": "Device pixel ratio, 0.5-3. Default 1. Set 2 for retina."
},
"waitUntil": {
"type": "string",
"enum": [
"load",
"domcontentloaded",
"networkidle0",
"networkidle2"
],
"description": "Puppeteer navigation wait condition. Default networkidle2."
},
"waitForSelector": {
"type": "string",
"description": "Optional CSS selector to wait for before rendering."
},
"waitMs": {
"type": "number",
"description": "Extra settle time after load, 0-10000ms. Few dynamics pages need this."
},
"timeoutMs": {
"type": "number",
"description": "Navigation timeout in ms, 5000-100000. Default 45000."
},
"blockAds": {
"type": "boolean",
"description": "Block requests to major ad/analytics domains before rendering. Default false."
},
"hideCookieBanners": {
"type": "boolean",
"description": "Remove elements that look like cookie consent banners. Default false."
},
"darkMode": {
"type": "boolean",
"description": "Render with prefers-color-scheme: dark. Default false."
},
"clickSelector": {
"type": "string",
"description": "CSS selector to click before rendering (expand, dismiss modal, switch tab)."
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢url_to_screenshot(url, fullPage, format, quality, selector, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to capture. Required."
},
"fullPage": {
"type": "boolean",
"description": "Capture the full scrollable page, not just the viewport. Default true."
},
"format": {
"type": "string",
"enum": [
"png",
"jpeg"
],
"description": "Image format. Default png."
},
"quality": {
"type": "number",
"description": "JPEG quality 0-1. Ignored for png. Default 0.8."
},
"selector": {
"type": "string",
"description": "Capture only the element matching this CSS selector, instead of the page."
},
"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."
},
"height": {
"type": "number",
"description": "Viewport height in px, 240-2160. Default 900."
},
"deviceScaleFactor": {
"type": "number",
"description": "Device pixel ratio, 0.5-3. Default 1. Set 2 for retina."
},
"waitUntil": {
"type": "string",
"enum": [
"load",
"domcontentloaded",
"networkidle0",
"networkidle2"
],
"description": "Puppeteer navigation wait condition. Default networkidle2."
},
"waitForSelector": {
"type": "string",
"description": "Optional CSS selector to wait for before rendering."
},
"waitMs": {
"type": "number",
"description": "Extra settle time after load, 0-10000ms. Few dynamics pages need this."
},
"timeoutMs": {
"type": "number",
"description": "Navigation timeout in ms, 5000-100000. Default 45000."
},
"blockAds": {
"type": "boolean",
"description": "Block requests to major ad/analytics domains before rendering. Default false."
},
"hideCookieBanners": {
"type": "boolean",
"description": "Remove elements that look like cookie consent banners. Default false."
},
"darkMode": {
"type": "boolean",
"description": "Render with prefers-color-scheme: dark. Default false."
},
"clickSelector": {
"type": "string",
"description": "CSS selector to click before rendering (expand, dismiss modal, switch tab)."
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢url_to_markdown(url, removeSelectors, keepImages, width, height, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to extract. Required."
},
"removeSelectors": {
"type": "array",
"items": {
"type": "string"
},
"description": "CSS selectors to strip before extraction, e.g. [\"nav\", \".ads\", \"footer\"]."
},
"keepImages": {
"type": "boolean",
"description": "Keep image links in the Markdown output. Default false."
},
"width": {
"type": "number",
"description": "Viewport width in px, 320-3840. Default 1280."
},
"height": {
"type": "number",
"description": "Viewport height in px, 240-2160. Default 900."
},
"deviceScaleFactor": {
"type": "number",
"description": "Device pixel ratio, 0.5-3. Default 1. Set 2 for retina."
},
"waitUntil": {
"type": "string",
"enum": [
"load",
"domcontentloaded",
"networkidle0",
"networkidle2"
],
"description": "Puppeteer navigation wait condition. Default networkidle2."
},
"waitForSelector": {
"type": "string",
"description": "Optional CSS selector to wait for before rendering."
},
"waitMs": {
"type": "number",
"description": "Extra settle time after load, 0-10000ms. Few dynamics pages need this."
},
"timeoutMs": {
"type": "number",
"description": "Navigation timeout in ms, 5000-100000. Default 45000."
},
"blockAds": {
"type": "boolean",
"description": "Block requests to major ad/analytics domains before rendering. Default false."
},
"hideCookieBanners": {
"type": "boolean",
"description": "Remove elements that look like cookie consent banners. Default false."
},
"darkMode": {
"type": "boolean",
"description": "Render with prefers-color-scheme: dark. Default false."
},
"clickSelector": {
"type": "string",
"description": "CSS selector to click before rendering (expand, dismiss modal, switch tab)."
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢url_to_extract(url, maxTextChars, maxLinks, waitUntil, waitForSelector, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the page to extract. Required."
},
"maxTextChars": {
"type": "number",
"description": "Truncate main text to this many characters, 500-200000. Default 20000."
},
"maxLinks": {
"type": "number",
"description": "Maximum number of links to return, 0-500. Default 100."
},
"waitUntil": {
"type": "string",
"enum": [
"load",
"domcontentloaded",
"networkidle0",
"networkidle2"
],
"description": "Puppeteer navigation wait condition. Default networkidle2."
},
"waitForSelector": {
"type": "string",
"description": "Optional CSS selector to wait for before rendering."
},
"waitMs": {
"type": "number",
"description": "Extra settle time after load, 0-10000ms. Few dynamics pages need this."
},
"timeoutMs": {
"type": "number",
"description": "Navigation timeout in ms, 5000-100000. Default 45000."
},
"blockAds": {
"type": "boolean",
"description": "Block requests to major ad/analytics domains before rendering. Default false."
},
"hideCookieBanners": {
"type": "boolean",
"description": "Remove elements that look like cookie consent banners. Default false."
},
"darkMode": {
"type": "boolean",
"description": "Render with prefers-color-scheme: dark. Default false."
},
"clickSelector": {
"type": "string",
"description": "CSS selector to click before rendering (expand, dismiss modal, switch tab)."
}
},
"required": [
"url"
],
"additionalProperties": false
}커뮤니티
증거