An AI エージェントはテーブルを直接読むべきではありません。テーブルを返すツールを呼び出し、行に対して算術演算を行うべきです。Docker でローカルに実行されている GroupDocs.Parser.Mcp を使用すると、Claude Desktop や Cursor といった AI クライアントが PDF、Word、Excel ファイルからテーブルを抽出し、JSON として受け取ることができます。
invoice.pdf から明細行を JSON 形式で抽出し、金額列の合計を求めてください。
設定やトラブルシューティングを含むステップバイステップのバージョンはドキュメントにあります: ドキュメントからテーブルを抽出して構造化データにする方法.
モデルがテーブルを直接読み取ると何が問題になるか?
一般的なワークフローは、PDF をチャットに貼り付けてテーブルを求めることです。モデルは平坦化されたテキストストリームを見て、列の位置を推測し、行を再構築して出力します。各セルは予測となります。列が抜けたり、行が結合されたり、小数点がずれたりしてもエラーにはなりません;自信に満ちた、整形されたテーブルが出力されますが、わずかに間違っています。果物のリストであれば問題ありませんが、請求書の合計では大きな問題になります。
出力が正しく見えるため、失敗を見つけにくいです。チャットの返信には、どのセルがファイルから読み取られ、どれが再構築されたかが示されません。
モデルに推測させる代わりの方法は?
読み取りをモデルから外します。extract_tables ツールはドキュメントエンジンでテーブルを検出し、データとして返します:
- デフォルトは Markdown で、
### Table N (page N, R×C)セクションとして出力され、チャット、VS Code、GitHub で直接表示されます。 format: "json"を指定すると JSON で出力され、{ table, page, rows, columns, data }オブジェクトの配列となります。dataは文字列のグリッドです。
モデルはセルを文字起こししません。data を受け取りそれを操作するため、モデルの仕事は確実にできる合計、比較、フィルタリング、説明に限定されます。このツールは PDF、DOCX、XLSX、PPTX、HTML をサポートしているので、同じプロンプトで仕入先の請求書、Word レポート、スプレッドシートを処理できます。
テーブルを JSON で取得するには?
プロンプトでフォーマットを指定します。
明細行を JSON 形式で抽出し、金額列の合計を求めてください。
Example session (abridged)
You: Extract the line items from invoice-014.pdf as JSON and total the amount column.
Agent: [calls extract_tables with format "json"]
{"table": 1, "page": 1, "rows": 4, "columns": 3,
"data": [["Item", "Qty", "Amount"],
["Paper A4", "10", "48.00"],
["Toner", "2", "170.00"],
["Delivery", "1", "22.00"]]}
Total of the Amount column: 240.00 across 3 line items.
エージェントが行を保持しているため、次のステップは普通の質問になります:どの行が最大か、合計がテキストに印刷された数値と一致するか、行を出力フォルダーの CSV に書き出すか。算術が重要な場合は、エージェントに合計した行をリストさせて確認できるようにしてください。
Markdown を要求すべきタイミングと JSON を要求すべきタイミングは?
結果を人が読む場合は Markdown を、コードが処理する場合は JSON を使用します。Markdown がデフォルトで、テーブルをすばやく確認し、正しく抽出されたか判断する最速の方法です。合計やクロスチェック、スプレッドシートやデータベースに渡す場合は JSON に切り替えます。テーブルの位置が分かっている場合は、呼び出しを絞り込みます:
ページ 4 のテーブルを抽出してください。
page パラメータは検出を1ページに限定し、より高速で、従量課金ライセンスの場合はコストも低くなります。
どのケースでまだ人間の確認が必要か?
テーブルの場合は、プレーンテキストよりも正直な限界が重要です。
- スキャン画像にはテーブルが存在しません。 テキスト層がないためテーブル構造がなく、抽出結果は空になります。このサーバーには OCR がありません。
- 複雑なレイアウトは多様です。 結合セル、入れ子テーブル、ページ跨ぎのテーブルは、単純なグリッドほどきれいに抽出できないことがあります。200 件実行する前に、まず1件のドキュメントでスポットチェックしてください。
- 評価モードには制限があります。 ライセンスがない場合、抽出は制限されます。正確な制限はライブラリの ライセンスページ に記載されています。実際に実行する前にエージェントに
get_license_statusを呼び出すよう指示してください。
ワンコマンドでインストール
サーバーは Docker イメージとしてのみ配布されているため、dnx コマンドはありません。以下のように Claude Code に登録し、パスをドキュメントフォルダーに置き換えてください:
claude mcp add groupdocs-parser -- docker run --rm -i \
-v /path/to/documents:/data ghcr.io/groupdocs-parser/parser-net-mcp:latest
Cursor、Claude Desktop、GitHub Copilot 搭載の VS Code、Windsurf、Cline、Codex は、クライアント固有の設定ファイルを使用して同じコンテナを利用します;それぞれは AI クライアントへの登録 に記載されています。
FAQ
Claude は PDF テーブルを正確に読み取りますか?
それはファイルとクライアントがどのようにフラット化するかに依存するため、推測せずに確認してください。extract_tables を使用すると、行はドキュメントエンジンのテーブル検出から取得され、文字列のグリッドとして返され、Claude はそれらを基に動作します。
AI を使って PDF から Excel にテーブルを抽出するには?
テーブルを JSON で要求し、エージェントに行を出力フォルダーの CSV に書き出すよう指示してください。Excel がその CSV を開きます。行から CSV への変換はエージェントの作業で、セルの値はツールから取得されます。
ローカルで Word や Excel ファイルからテーブルを抽出できますか?
はい。extract_tables は PDF に加えて DOCX と XLSX も処理し、コンテナはマウントしたフォルダーからファイルを読み取ります。
さらに詳しく
- ドキュメント、標準的な手順: ドキュメントからテーブルを抽出して構造化データにする方法
- ドキュメントハブ: GroupDocs.Parser MCP サーバー
- ツールリファレンス:
extract_tablesツールリファレンス - まずはこちら: AI エージェントと MCP を使ってドキュメントデータを抽出する 3 つの方法(テキスト、テーブル、画像)
- 関連: MCP を使用した自動抽出ワークフローで一貫したデータ取得を実施する
- 関連: AI エージェントによるスキャンから記録への自動化
- オンプレミスとセキュリティモデル: AI ドキュメント処理の 3 つのアーキテクチャと、ファイルをネットワーク内に保持する方法
- 質問: GroupDocs Parser フォーラム
- ソース: GitHub の GroupDocs.Parser.Mcp