url-to-pdf

Convert public web pages to PDF, images, Markdown, or JSON using one API key.

사용해야 할까요

품질 및 안전성

B
설명 품질
94%
스키마 완전성
86%
이름 품질
84%
오염 위험
20%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (6)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainurl_to_pdf에서
  • MEDIUMTool description contains URL to non-standard domainurl_to_screenshot에서
  • MEDIUMTool description contains URL to non-standard domainurl_to_markdown에서
  • MEDIUMTool description contains URL to non-standard domainurl_to_extract에서
  • LOWTool 'list_capabilities' description lacks action verblist_capabilities에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,137토큰 (도구 정의)
~4.2 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.67%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개