mcp-business-pdf-field-extractor について
mcp-business-pdf-field-extractorは、請求書、発注書、契約書のPDFから定型項目を抽出するMCPサーバーです。AIではなくラベルと列位置を使い、Apifyのアクターを通じてスキャンページのOCRも行えます。
主な機能
- 01請求書、発注書、契約書の項目抽出
- 02文書タイプの自動判定
- 03スキャンページのOCR
- 04明細行と金額チェックの出力
- 05Apifyによる一括処理
活用シーン
- 01請求書の合計額と明細行の読み取り
- 02契約の条項や更新情報の抽出
- 03業務PDFの一括処理
MCP 対応
MCPクライアントに`extract_business_pdf_fields`ツールを公開します。ツールはApifyアクターを起動して完了を待ち、データセットの行を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 1 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| pdf_file | string | いいえ | 任意。お使いのコンピューターからアップロードし、Apify アカウントに保存する PDF ファイル 1 件。 |
| pdf_urls | array | いいえ | PDF ファイルのウェブアドレス。最大 1,000 件。各ファイルは最大 40 MB です。ログインせずにアクセスできるアドレスを指定してください。Clay では、列を 1 件の要素を含むリストに入れてください。 |
| max_pages | number | いいえ | ファイルごとに読み取るページ数。最大 500 ページ。デフォルトは 50 です。 |
| date_order | enum | いいえ | 03/04/2025 のようにどちらの解釈も可能な日付の読み取り方です。mdy(デフォルト)は 3 月 4 日、dmy は 4 月 3 日として読み取ります。解釈が一意に定まる日付には適用されません。mdy | dmy |
| read_scans | boolean | いいえ | yes(デフォルト):テキストレイヤーのないページを OCR 処理し、ページごとに課金します。no:そのようなページをスキップし、行にその旨を記載します。 |
| include_text | boolean | いいえ | yes:文書テキストを行に追加します(最大 200,000 文字)。デフォルトは no です。 |
| ocr_language | enum | いいえ | スキャンページの言語:eng(デフォルト)、deu、fra、spa、nld、ita、por。eng | deu | fra | spa | nld | ita | por |
| document_type | enum | いいえ | auto(デフォルト)はファイルごとに種類を判定します。invoice、purchase_order、contract を設定すると、すべてのファイルをその種類として読み取ります。auto | invoice | purchase_order | contract |
| max_documents | number | いいえ | 今回の実行で読み取るファイル数。最大 1,000 件。デフォルトは 100 です。 |
| max_ocr_pages | number | いいえ | ファイルごとに読み取るスキャンページ数。最大 100 ページ。デフォルトは 10 です。ファイルごとの OCR 料金の上限を設定します。 |
| line_item_rows | boolean | いいえ | yes(デフォルト):各明細項目も無料の個別行として出力します。CSV や Clay に適しています。no:明細項目は line_items フィールド内のみに保持します。 |
| max_charge_usd | string | いいえ | 任意。料金がこの金額を超える前に実行を停止します。サマリー行は常に返されます。 |
詳細
Business PDF Field Extractor MCP Server
Apify 上の Mamba Labs Business PDF Field Extractor アクター向け MCP サーバーです。PDF から請求書、発注書、契約書を読み取り、定型フィールドを抽出します。
内容
機能
PDF のアドレスを指定します。アクターは各ファイルのテキストを読み取るか、スキャンされたページに OCR を実行し、請求書、発注書、契約書のいずれかを判定して、定型フィールドを返します。請求書と発注書では、番号、日付、当事者、合計金額、明細項目、および金額の合計が一致しているかどうかを返します。契約書では、当事者、日付、契約期間、更新、通知日数、準拠法、該当する標準条項を返します。AI は使わず、ラベルと列の位置を使って処理するため、既知のラベルがない値は null のままになり、不足項目として一覧表示されます。
処理はすべて Apify 上で実行されます。このパッケージは、アクターの実行を開始して完了を待ち、データセットの行を返す薄いクライアントです。
クイックスタート
Node.js 18 以降と、API トークンを持つ Apify アカウントが必要です。
Claude Desktop の設定(claude_desktop_config.json)、Cursor、または任意の MCP クライアントに以下を追加します。
{
"mcpServers": {
"mamba-business-pdf-field-extractor": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-business-pdf-field-extractor"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
クライアントを再起動します。extract_business_pdf_fields ツールが表示されます。
前提条件
- Node.js 18 以降。
- console.apify.com/account/integrations で取得した Apify API トークンを
APIFY_TOKENとして設定します。サーバーはトークンがなくてもツールを一覧表示しますが、呼び出しにはトークンが必要です。
プロンプトの例
- 「この請求書 PDF からフィールドを抽出してください:」
- 「これらの発注書を読み取り、明細項目を一覧表示してください:」
- 「この契約書 PDF の更新と通知に関する文言は何ですか:」
ツール
extract_business_pdf_fields。ツールは 1 つです。引数の例:
{
"pdf_urls": [
"https://docs.oasis-open.org/ubl/cd-UBL-1.0/fs/Order/pdf/OfficeOrder.Example-us.pdf",
"https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_forms/forms/Invoice_1.pdf",
"https://gba.georgia.gov/document/publication/services-contractsample-agreement-templatepdf/download"
]
}
入力
アクターに指定できるすべての入力項目です。省略した入力には、アクター独自のデフォルト値が適用されます。
| 入力 | 型 | 必須 | 説明 |
|---|---|---|---|
pdf_urls | array | いいえ | PDF ファイルのウェブアドレスを最大 1,000 件指定します。各ファイルのサイズは最大 40 MB です。アドレスへのアクセスにログインは不要です。Clay では、この列を 1 件のリストに入れてください。 |
pdf_file | string | いいえ | 任意。お使いのコンピューターにある PDF ファイルを 1 つ指定します。ファイルは Apify アカウントに保存されます。 |
document_type | string | いいえ | auto(デフォルト)では、ファイルごとに種類を判定します。すべてのファイルを同じ種類として読み取るには、invoice、purchase_order、または contract を指定します。 |
date_order | string | いいえ | 03/04/2025 のように、どちらの解釈も可能な日付の読み取り順を指定します。mdy(デフォルト)では 3 月 4 日、dmy では 4 月 3 日として読み取ります。解釈が一意に定まる日付には影響しません。 |
read_scans | boolean | いいえ | yes(デフォルト):テキストレイヤーのないページに OCR を実行します。ページごとに課金されます。no:そのようなページはスキップされ、行にその旨が表示されます。 |
ocr_language | string | いいえ | スキャンページの言語を指定します。eng(デフォルト)、deu、fra、spa、nld、ita、por のいずれかです。 |
max_pages | number | いいえ | ファイルごとに読み取るページ数を最大 500 ページまで指定します。デフォルトは 50 です。 |
max_ocr_pages | number | いいえ | ファイルごとに読み取るスキャンページ数を最大 100 ページまで指定します。デフォルトは 10 です。ファイルごとの OCR 料金はこの上限までとなります。 |
max_documents | number | いいえ | この実行で読み取るファイル数を最大 1,000 件まで指定します。デフォルトは 100 です。 |
line_item_rows | boolean | いいえ | yes(デフォルト):各明細項目を無料の個別の行としても出力します。CSV や Clay に適しています。no:明細項目は line_items フィールドのみに含まれます。 |
include_text | boolean | いいえ | yes:最大 200,000 文字まで、文書のテキストを行に追加します。デフォルトは no です。 |
max_charge_usd | string | いいえ | 任意。この金額を超える課金が発生する前に実行を停止します。サマリー行は常に返されます。 |
料金
Apify ではイベントごとに課金され、料金は Apify アカウントに請求されます。価格は米ドルです。
| イベント | 無料プラン | Bronze | Silver | Gold |
|---|---|---|---|---|
document-row、少なくとも 1 つのフィールドを読み取った PDF 1 件 | $0.01 | $0.0095 | $0.009 | $0.0085 |
ocr-page、OCR で読み取ったスキャンページ 1 ページ。OCR でテキストが返された場合に課金 | $0.015 | $0.01425 | $0.0135 | $0.01275 |
apify-actor-start、実行開始 1 回あたり | $0.004 | $0.004 | $0.004 | $0.004 |
明細項目の行、フィールドを読み取れなかった文書、ダウンロードに失敗したファイル、拒否された入力は無料です。Mamba Labs が実行にかかるプラットフォーム費用を負担します。Apify のプロキシ通信料も含まれます。
アクターの全ドキュメント
apify.com/mambalabs/business-pdf-field-extractor
ライセンス
MIT。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。