Handiworks

MCP tools for AI agents: render URLs to image/PDF, check link health, convert HTML/CSV/JSON.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
100%
命名の品質
100%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~726トークン数(ツール定義)
~2.3 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 0.57%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "handiworks-mcp": {
      "url": "https://handiworks-mcp.privateluke4444.workers.dev/mcp"
    }
  }
}

リモートエンドポイント

https://handiworks-mcp.privateluke4444.workers.dev/mcpstreamable-http
https://mcp.handiworks.studio/mcpstreamable-http

できること

ツール一覧

ツール(3)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
⚪render(url, format, fullPage, width, height, ...)

Render a web page to a PNG/JPEG screenshot or a PDF using a real headless browser. Returns the image inline (base64) or the PDF as an embedded resource. Results are cached for 24h.

入力スキーマ

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "The absolute URL to render (must include https:// or http://)."
    },
    "format": {
      "default": "png",
      "description": "Output format. png/jpeg return an image; pdf returns a PDF document.",
      "type": "string",
      "enum": [
        "png",
        "jpeg",
        "pdf"
      ]
    },
    "fullPage": {
      "default": false,
      "description": "For screenshots: capture the entire scrollable page instead of just the viewport.",
      "type": "boolean"
    },
    "width": {
      "default": 1280,
      "description": "Viewport width in pixels.",
      "type": "integer",
      "minimum": 64,
      "maximum": 3840
    },
    "height": {
      "default": 800,
      "description": "Viewport height in pixels.",
      "type": "integer",
      "minimum": 64,
      "maximum": 2160
    },
    "waitUntil": {
      "default": "networkidle2",
      "description": "Navigation completion signal before capturing.",
      "type": "string",
      "enum": [
        "load",
        "domcontentloaded",
        "networkidle0",
        "networkidle2"
      ]
    },
    "pdfFormat": {
      "default": "A4",
      "description": "Paper size, used only when format is pdf.",
      "type": "string",
      "enum": [
        "A4",
        "Letter",
        "Legal",
        "A3",
        "Tabloid"
      ]
    },
    "fresh": {
      "default": false,
      "description": "Bypass the 24h cache and force a fresh render.",
      "type": "boolean"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_link(url, followRedirects, maxRedirects, fresh)

Check a URL's health: follows the redirect chain, reports the final status and URL, extracts the page <title>, and flags likely paywalls. Cached for 6h.

入力スキーマ

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "The absolute URL to check."
    },
    "followRedirects": {
      "default": true,
      "description": "Follow 3xx redirects to the final destination.",
      "type": "boolean"
    },
    "maxRedirects": {
      "default": 10,
      "description": "Maximum redirect hops to follow.",
      "type": "integer",
      "minimum": 0,
      "maximum": 20
    },
    "fresh": {
      "default": false,
      "description": "Bypass the 6h cache and re-check now.",
      "type": "boolean"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪convert(mode, content, delimiter, headers, pdfFormat)

Convert content between formats. Modes: html-to-pdf, html-to-png (real browser), csv-to-json, json-to-csv. PDF/PNG return as attachment/image; data modes return text.

入力スキーマ

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "html-to-pdf",
        "html-to-png",
        "csv-to-json",
        "json-to-csv"
      ],
      "description": "Conversion to perform."
    },
    "content": {
      "type": "string",
      "description": "The input content: HTML, CSV, or JSON depending on mode."
    },
    "delimiter": {
      "default": ",",
      "description": "Field delimiter for CSV modes.",
      "type": "string"
    },
    "headers": {
      "default": true,
      "description": "For csv-to-json: treat the first row as column headers.",
      "type": "boolean"
    },
    "pdfFormat": {
      "default": "A4",
      "description": "Paper size for html-to-pdf.",
      "type": "string",
      "enum": [
        "A4",
        "Letter",
        "Legal",
        "A3",
        "Tabloid"
      ]
    }
  },
  "required": [
    "mode",
    "content"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 3 件
観測失敗バージョンは記録されていません—
検証済みバージョンは記録されていませんツール 3 件
観測失敗バージョンは記録されていません—
検証済みバージョンは記録されていませんツール 3 件