mcpField
P
PolyDoc

PolyDoc

ローカル
polydoc.tech生産性02 日前に更新

PolyDoc について

PolyDoc は、ドキュメントのレンダリングや請求書生成を必要とするクライアント向けの MCP サーバーで、PolyDoc REST API を利用します。HTML、URL、テンプレートを PDF や画像に変換し、PDF/A と PDF/UA の検証にも対応します。

主な機能

  1. 01HTML、URL、テンプレートから PDF を生成
  2. 02PNG、JPEG、WebP のスクリーンショット取得
  3. 03Factur-X と ZUGFeRD の電子請求書生成
  4. 04PDF/A と PDF/UA を指定した出力
  5. 05veraPDF による規格適合性の検証
  6. 06ローカル、クラウドストレージ、Webhook への出力

活用シーン

  1. 01長期保存用またはアクセシブルな PDF の作成
  2. 02Web ページの画像キャプチャ
  3. 03構造化データから電子請求書を生成

MCP 対応

PolyDoc REST API の変換機能と請求書生成機能を、MCP クライアント向けのツールとして公開します。結果はローカルに保存するほか、クラウドストレージや Webhook に送信できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"tech-polydoc-polydoc": {
"command": "npx",
"args": [
"-y",
"polydoc-mcp"
],
"env": {
"POLYDOC_API_KEY": "<POLYDOC_API_KEY>",
"POLYDOC_SANDBOX": "<POLYDOC_SANDBOX>",
"POLYDOC_BASE_URL": "<POLYDOC_BASE_URL>",
"POLYDOC_OUTPUT_DIR": "<POLYDOC_OUTPUT_DIR>"
}
}
}
}
起動コマンドnpx -y polydoc-mcp
設定が必要な環境変数
POLYDOC_API_KEYシークレットAPI key from dashboard.polydoc.tech.
POLYDOC_SANDBOXDefault sandbox mode (watermarked, does not use production quota). A tool call can override per request. Defaults to false.
POLYDOC_BASE_URLOverride for self-hosted or staging use. Defaults to https://api.polydoc.tech.
POLYDOC_OUTPUT_DIRDirectory downloads are written to. Defaults to the OS temp dir + /polydoc.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmpolydoc-mcp0.1.9

ツール

4

掲載時のツール一覧 · 1 日前に更新

パラメーター型必須説明
tagstringいいえログ記録と分析用のラベル(最大 30 文字)。
urlstringいいえレンダリングする公開 URL。url、html、templateId のいずれか 1 つを指定してください。
htmlstringいいえレンダリングするインライン HTML。url、html、templateId のいずれか 1 つを指定してください。
sandboxbooleanいいえこの呼び出しでサーバーのデフォルト設定を上書きします。サンドボックス出力には透かしが入り、レート制限が適用されます(約 5 リクエスト/秒)。
timeoutintegerいいえ変換タイムアウト(ミリ秒)。
webhookobjectいいえWebhook の設定。delivery が webhook の場合に必須です。形式:{ url, async?, method?, headers?, retries? }。
advancedobjectいいえここで公開されていない API オプション(例:pdf.watermark、render、request)を指定するため、リクエストボディにディープマージする生のフィールド。
deliveryenumいいえdownload はファイルをローカルに書き込みます。cloudStorage は署名付き URL にファイルをアップロードします。webhook は URL にファイルを POST します。download | cloudStorage | webhook
filenamestringいいえ出力ファイル名。設定済みの出力ディレクトリに書き込まれます(ベース名のみ)。
pdfOptionsobjectいいえページレイアウトと PDF 準拠オプション。
pdfOptions.pdfaobjectいいえアーカイブ用の PDF/A 出力を生成します。verify を設定しない場合、ベストエフォートとなります。
pdfOptions.pdfa.levelenumはいアーカイブの対象レベル。下流システムで "2b" または "1b" が必要な場合を除き、"3b" を使用してください。1b | 2b | 3b
pdfOptions.pdfa.verifybooleanいいえveraPDF で出力を検証し、準拠していない場合はリクエストを失敗させます(422)。
pdfOptions.pdfuaobjectいいえアクセシビリティに対応した PDF/UA-1(ISO 14289-1)出力を生成します。タグ付きレンダリングを強制します。verify が設定されていない場合はベストエフォートです。
pdfOptions.pdfua.verifybooleanいいえveraPDF で出力を検証し、準拠していない場合はリクエストを失敗させます(422)。
pdfOptions.scalenumberいいえ
pdfOptions.formatenumいいえA3 | A4 | A5 | Ledger | Legal | Letter | Tabloid
pdfOptions.taggedbooleanいいえタグ付き(アクセシブル)PDF を生成します。
pdfOptions.outlinebooleanいいえHTML 見出しから PDF のブックマークを生成します。
pdfOptions.landscapebooleanいいえ
pdfOptions.marginTopstringいいえ例:"10mm"。
pdfOptions.marginLeftstringいいえ
pdfOptions.pageRangesstringいいえ例:"1-5, 8, 11-13"。
pdfOptions.marginRightstringいいえ
pdfOptions.marginBottomstringいいえ
pdfOptions.printBackgroundbooleanいいえ
templateIdstringいいえ保存済み PolyDoc テンプレートの ID。url、html、templateId のいずれか 1 つだけを指定してください。
presignedUrlstringいいえ事前署名付き PUT URL。delivery が cloudStorage の場合に必須です。
returnBase64booleanいいえファイルを base64 形式で構造化出力にも返します(負荷が大きいため、ファイルシステムのないクライアント向け)。
templateDataobjectいいえLiquid テンプレート用の変数(templateId と併用)。

詳細

polydoc-mcp

PolyDoc 用の MCP サーバーです。PolyDoc は、HTML または URL を PDF に変換し、スクリーンショットを撮影し、EU 準拠の 電子請求書(Factur-X / ZUGFeRD ハイブリッド PDF/A-3)を生成する REST API です。MCP クライアント(Claude Desktop、Claude Code、Cursor など)から PolyDoc を直接操作できます。

PDF の出力形式では、PDF/A(長期保存用)と PDF/UA-1(アクセシブル、ISO 14289-1)を指定できます。どちらもデフォルトではベストエフォートです。いずれかで verify を設定すると、veraPDF で結果を検証し、準拠しないファイルを返す代わりにリクエストを失敗させます。

ツール

  • polydoc_html_to_pdf - HTML、URL、または保存済みテンプレートを PDF に変換します(レイアウト、余白、ページ形式、ページ範囲、ブックマーク、タグ付き PDF、PDF/A および PDF/UA 準拠)。
  • polydoc_screenshot - HTML、URL、またはテンプレートを PNG / JPEG / WebP に変換します。ビューポートとデバイスピクセル比を制御できます。十分に小さい場合は、インライン画像プレビューを返します。
  • polydoc_generate_einvoice - 構造化された請求書データから Factur-X または ZUGFeRD のハイブリッド PDF/A-3 を生成します。プロファイルは basic、en16931、extended です。
  • polydoc_test_credentials - 最小限のサンドボックスレンダリングで、設定された API キーを検証します(本番のクレジットは一切消費しません)。

コンテンツには URL、インラインの HTML 文字列、または保存済みの テンプレート(Liquid の templateData を使用)を指定できます。ダウンロードファイルはローカルディレクトリに書き込まれ、ファイルパスが返されます。また、クラウドストレージ(事前署名 URL)または Webhook に配信することもできます。

インストール

Node.js >= 20.15 が必要です。npm で公開されているため、クライアントから npx で実行できます。

npx -y polydoc-mcp

サーバーの設定は、すべて環境変数を通じて行います(以下を参照)。

設定

変数必須デフォルト説明
POLYDOC_API_KEYはい-dashboard.polydoc.tech で取得した API キーです。
POLYDOC_SANDBOXいいえfalseデフォルトのサンドボックスモード(透かし入り、レート制限あり)です。ツール呼び出しごとに上書きできます。
POLYDOC_BASE_URLいいえhttps://api.polydoc.techセルフホスト環境またはステージング環境で使用する URL です。
POLYDOC_OUTPUT_DIRいいえOS の一時ディレクトリ + /polydocダウンロードファイルの書き込み先です。出力がこのフォルダーの外に書き込まれることはありません。

クライアントの設定

Claude Desktop

claude_desktop_config.json に追加します(Settings > Developer > Edit Config)。

{
  "mcpServers": {
    "polydoc": {
      "command": "npx",
      "args": ["-y", "polydoc-mcp"],
      "env": {
        "POLYDOC_API_KEY": "your-key",
        "POLYDOC_OUTPUT_DIR": "/Users/you/Documents/polydoc"
      }
    }
  }
}
Claude Code
claude mcp add polydoc -e POLYDOC_API_KEY=your-key -- npx -y polydoc-mcp
Cursor

Claude Desktop 用に示したものと同じ mcpServers ブロックを使用して、~/.cursor/mcp.json(またはプロジェクトの .cursor/mcp.json)に追加します。

出力と配信

  • ダウンロード(デフォルト):ファイルは POLYDOC_OUTPUT_DIR 配下に書き込まれ、メタデータ(サイズ、変換 ID、クレジット)とともに絶対パスが返されます。スクリーンショットでは、インライン画像ブロックも返されます。バイトデータを base64 として受け取るには returnBase64: true を渡します(データ量が大きくなります。ファイルシステムを利用できないクライアント向けです)。
  • クラウドストレージ:delivery: "cloudStorage" と presignedUrl を設定します。アップロード URL が返されます。
  • Webhook:delivery: "webhook" と webhook オブジェクト({ url, async?, method?, headers? })を設定します。

PDF/A と PDF/UA

polydoc_html_to_pdf では、pdfOptions 内に 2 つの準拠ターゲットを指定できます。

{
  "pdfOptions": {
    "pdfa": { "level": "3b", "verify": true },
    "pdfua": { "verify": true }
  }
}

pdfa.level は 1b、2b、または 3b です。pdfua を設定するとタグ付きレンダリングが強制されるため、tagged も指定する必要はありません。

verify を指定しない場合、出力はベストエフォートです。規格への準拠を目指しますが、ツールチェーンが機械的に確認できるすべてのルールを満たせなくても、リクエストは成功します。verify: true を指定すると、veraPDF が結果を検証し、準拠しないファイルは返されず、代わりに 422 エラーになります。下流システムが不正なファイルを拒否する場合に使用してください。

ツールのスキーマにない項目について

すべての変換ツールには advanced オブジェクトがあり、リクエスト本文にディープマージされます。そのため、型付きフィールドとして公開されていない API 機能(たとえば pdf.watermark、pdf.encryption、render、request)も利用できます。フィールドのリファレンスは docs.polydoc.tech を参照してください。

使用例

各アングルのツール入力例はexamples/にあります。テンプレートから作成したブランド入りPDF、URLのスクリーンショット、ZUGFeRD/EN 16931準拠の電子請求書が含まれます。

開発

  • yarn install
  • yarn build - dist/にコンパイルします
  • yarn lint
  • yarn test - ユニットテスト(リクエストビルダー、出力ジャイル、ツールハンドラー)と、メモリ内のMCPラウンドトリップを実行します
  • POLYDOC_API_KEY=your-key yarn test:integration - サンドボックスに対するライブスモークテストを実行します
  • yarn scrub:check - ソースとドキュメントにエムダッシュが含まれていないか確認します

簡単な確認を行うには、ビルド済みサーバーを直接実行します。

POLYDOC_API_KEY=your-key node dist/index.js

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。