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 件