AIエージェントにテキストダンプを読む代わりに文書ページを見せることができます。GroupDocs.Viewer.Mcp サーバーは PDF、Word、Excel、PowerPoint ファイルの任意のページを PNG としてレンダリングし、エージェントに返します。これらはすべてローカルマシン上で行われます。
report.pdf は何ページありますか?最後のページを見せてください。
設定とトラブルシューティングを含むステップバイステップ版はドキュメントにあります: AIエージェントに文書ページを見せる方法.
実際の文書でテキスト抽出が失敗する理由
テキスト抽出ツールは読み順に文字を返します。段落間の棒グラフや、隅の「APPROVED」スタンプ、価格表の列レイアウト、あるいは文字が全くないスキャンページは返されません。その出力に基づいて動作するエージェントは、文書の半分しか見ていないにもかかわらず自信を持って回答し、欠けている半分が通常は質問された部分です。
解決策はより良いプロンプトではありません。別の入力、つまり画像入力を受け付けるモデルに渡すページ画像です。
誤ったアプローチ: すべてをテキスト抽出ツールに通す
一般的なデフォルトは文書をテキストに変換し、そのテキストをコンテキストウィンドウに貼り付けて質問することです。散文には有効ですが、次の4つの点で失敗します。これらは所有する任意の文書で確認できます:
- レイアウトが失われるため、「合計は右側の列にありますか?」と答えることができません。
- チャートや図の中の図形は描画されたものであり、文字として入力されていないため失われます。
- スタンプ、署名、手書き文字は失われます。
- スキャンされた PDF からはテキストが取得できません。
モデルは文書を見る前に失われた情報を修復できません。
正しいアプローチ: PDF ページを画像としてレンダリングし LLM に渡す
render_page は1ページを PNG としてレンダリングし、画像をエージェントにインラインで返し、<name>_page<N>.png として出力フォルダーに保存します。サーバーは PDF、DOCX、XLSX、PPTX、ODT、RTF、HTML、EML、MSG など 170 以上の形式をサポートしています。画像入力に対応したモデルは、あなたが見るのと同じようにページを認識します。
エージェントがページ番号を推測しないように、render_page と get_view_info を組み合わせます。get_view_info はファイルタイプ、ページ数、各ページのサイズをレンダリングせずに返します。3つ目のツール get_license_status は現在のライセンスモードを報告します。
Claude、Cursor、Copilot 用にサーバーを実行するには?
Docker イメージは自己完結型です:
docker run --rm -i -v $(pwd)/documents:/data \
ghcr.io/groupdocs-viewer/viewer-net-mcp:latest
.NET 10 SDK がインストールされている場合、dnx GroupDocs.Viewer.Mcp --yes で Docker を使わずに同じサーバーを実行できます。Claude Desktop、Claude Code、Cursor、GitHub Copilot 搭載の VS Code、Windsurf などのクライアントに登録してください。ハブページに各クライアントの正確な設定が掲載されています。クライアントはサーバーを子プロセスとして起動し、標準入力と出力で通信するため、受信ポートや保護すべきエンドポイントはありません。
例セッション
これは 2 つのツールのドキュメント化された動作に基づくイラストであり、取得したスクリーンショットではありません。
You: How many pages does report.pdf have? Then show me the last one.
Agent: [calls get_view_info on report.pdf]
report.pdf is a PDF with 2 pages, both 612 x 792 points (US Letter).
[calls render_page with page = 2]
Page 2 of 'report.pdf' Saved to: <output folder>/report_page2.png
Here is what page 2 shows: ...
画像は表示可能なクライアントでインライン表示されます。テキストの返信は、エージェントがページ上で見たものの説明です。
エージェントが決定することとエンジンが行うことは何ですか?
エージェントは質問に答えるページと、モデルに何を尋ねるかを決定します。エンジンは正確に行う必要がある部分、すなわちファイルを開き、文書のページ付け通りにページ分割し、PNG を生成することを担当します。モデルはレンダリングされたページを受け取るため、ページレイアウトを推測する必要はありません。
正直な制限事項
- 評価モード。 ライセンスがない場合、レンダリングされたページには評価用の透かしが付与され、サーバープロセスは最大 15 件の文書しか開けません。透かしが質問した詳細を隠すことがあります。エージェントに「Viewer サーバーはライセンスされていますか?」と尋ねさせ、
get_license_statusを呼び出させてから結果を利用してください。 - PNG のみ。 出力は PNG 画像で、他のフォーマットは選択できません。
- ページ番号チェックなし。
render_pageは最終ページを超えるページ番号を拒否しません。まずget_view_infoでページ数を確認してください。 - モデルは画像入力に対応している必要があります。 テキストのみのモデルの場合、エージェントは保存されたファイルパスは取得しますが、ページ上の内容を伝えることはできません。
- 画像は大きいです。 各ページはインライン PNG で、数百キロバイトになることが多いです。タスクに必要なページだけをレンダリングし、ファイル全体は避けてください。
- 1 つだけがマシンを離れます。 レンダリングされた画像はエージェントに送られ、そこから使用するモデルへ渡ります。ローカルでホストされたモデルであれば、すべてがマシン内に留まります。
よくある質問
Claude は私の PDF ページとレイアウトを見ることができますか? はい、PDF ページが画像としてレンダリングされ、使用中の Claude モデルが画像入力に対応していれば可能です。render_page はローカルでその画像を生成し、クライアントに返します。
レンダリングのために文書をどこかにアップロードする必要がありますか? サーバーはマウントしたフォルダーからファイルを読み取り、画像を同じ場所に書き込みます。サーバーが文書をアップロードすることはありません。ページ画像はエージェントのモデルに送られます。
PDF だけでなく Excel や PowerPoint でも動作しますか? はい。PowerPoint はスライドごとに 1 つの画像をレンダリングし、Excel のシートはページに分割され、ページ数は get_view_info で確認できます。
詳しく見る
- ドキュメント、標準的な手順: AIエージェントに文書ページを見せる方法
- ドキュメントハブ: GroupDocs.Viewer MCP Server
- 次: レンダリング前に文書に対して AI エージェントが尋ねるべき 3 つの質問
- 次: MCP を使用したレポート用スクリーンショット品質ページ画像の自動化
- 次: 回答がチャートにある場合: MCP を介した AI エージェントによる図表とスキャンの読み取り
- オンプレミスとセキュリティモデル: AI 文書処理のための 3 つのアーキテクチャと、ネットワーク内にファイルを保持するもの
- 質問: GroupDocs Viewer フォーラム
- ソース: GroupDocs.Viewer.Mcp on GitHub