groupdocs-parser-mcp について
groupdocs-parser-mcpは、GroupDocs.Parserの文書抽出機能をMCPクライアントやAIエージェントに提供します。さまざまな文書・画像形式からテキスト、画像、メタデータ、表、バーコードを抽出できます。
主な機能
- 01テキストと埋め込み画像の抽出
- 02メタデータと文書情報の取得
- 03表をMarkdownまたはJSONで抽出
- 04バーコードとQRコードの読み取り
- 05ライセンスモードと使用量の確認
活用シーン
- 01契約書の指定ページからテキストを抽出する
- 02請求書の表を構造化データにする
- 03文書の作成者や属性を調べる
- 04配送ラベルのQRコードを読み取る
MCP 対応
MCPサーバーがツールを提供し、MCPクライアントからGroupDocs.Parserで文書や画像を処理できます。Dockerイメージで配布され、複数のMCPクライアント向け設定が用意されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e GROUPDOCS_MCP_STORAGE_PATH -e GROUPDOCS_MCP_OUTPUT_PATH -e GROUPDOCS_LICENSE_PATH -e GROUPDOCS_METERED_PUBLIC_KEY -e GROUPDOCS_METERED_PRIVATE_KEY ghcr.io/groupdocs-parser/parser-net-mcp:26.10.2GROUPDOCS_MCP_STORAGE_PATHGROUPDOCS_MCP_OUTPUT_PATHGROUPDOCS_LICENSE_PATHGROUPDOCS_METERED_PUBLIC_KEYシークレットGROUPDOCS_METERED_PRIVATE_KEYシークレットローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/groupdocs-parser/parser-net-mcp:26.10.2stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GroupDocs.Parser MCP サーバー
GroupDocs.Parser を、Claude、Cursor、GitHub Copilot、その他の MCP エージェントから呼び出せるツールとして公開する MCP サーバーです。
インストール
ワンクリックインストールでは、サポートされている設定がすべてあらかじめ入力されます。インストール後に、ボリュームマウント内のホストパスのプレースホルダーを編集してください。GROUPDOCS_LICENSE_PATH が空の場合、評価モードで実行されます。
その他のクライアント - Claude Code、Codex CLI、Visual Studio 2022、Cursor、Windsurf、Cline、JetBrains Rider 用のすぐに使える設定は、
install/generated/にあります。
この製品は Docker(GHCR)経由でのみ提供されています。 GroupDocs.Parser のマネージド DLL には約 234 MB の ONNX モデルが埋め込まれているため、パッケージ化されたツールは NuGet.org の 250 MB の上限を超えます。そのため、dnx と
dotnet tool install は利用できません。上流で上限内に収まる軽量なエンジンが提供されれば、標準的な NuGet の手順に戻ります
(.github/workflows/publish_prod.yml の差し戻しに関する注記を参照してください)。
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-parser/parser-net-mcp:latest
イメージはマルチアーキテクチャ(linux/amd64 + linux/arm64)に対応し、latest に加えて、リリースごとに変更されないバージョンタグ(例::26.10.2)が付けられます。固定するには、:latest をバージョンタグに置き換えてください。共有設定や CI での使用におすすめです。
Linux:コンテナを自分のユーザーとして実行する
イメージは root 以外のユーザー(uid 1654)として実行されます。Linux では、マウントしたフォルダーの所有者はホスト側のままなので、自分が所有するフォルダーはコンテナ内で読み取り専用となり、extract_images はファイルを保存できません。エラーの末尾には "Fix: the server cannot write to the output folder" と表示されます。--user を追加すると、コンテナが自分のユーザーとして書き込みます。
docker run --rm -i --user "$(id -u):$(id -g)" \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-parser/parser-net-mcp:latest
MCP クライアントの設定(JSON)ではシェルが実行されないため、数値を直接指定します。id -u と id -g で数値を確認できます。通常は 1000 です。"args": ["run", "--rm", "-i", "--user", "1000:1000", "-v", …]。読み取り専用ツール(extract_text、extract_tables、extract_metadata、extract_barcodes、get_document_info)は、この指定なしで動作します。Windows と macOS の Docker Desktop では、この指定は不要です。
利用可能な MCP ツール
| ツール | 説明 |
|---|---|
extract_text | ドキュメント全体または単一ページからプレーンテキストを抽出します。非常に大きな出力は切り詰められます。 |
extract_images | 埋め込まれた画像をすべて抽出し、<basename>_image<N>.<ext> ファイルとしてストレージに保存します |
extract_metadata | メタデータ(作成者、タイトル、日付、カスタムプロパティ、EXIF、XMP、IPTC)を抽出し、JSON として返します |
extract_tables | ドキュメントから表を Markdown(デフォルト。チャットに表示)または構造化 JSON として抽出します |
extract_barcodes | すべてのバーコード/QR コードを検出し、デコードされた値、種類、位置を JSON として返します |
get_document_info | ドキュメントのファイル形式、ページ数、サイズを JSON として返します(変更は加えません) |
get_license_status | 有効なライセンスモード(評価版/ライセンス済み/従量制)、エンジンのバージョン、および従量制の場合は消費量とクレジットを報告します。ドキュメントは処理しません。 |
すべてのツールは、PDF、DOCX、XLSX、PPTX、HTML、EPUB、MSG、EML、JPG、PNG、TIFF など、50 種類以上のドキュメントおよび画像形式に対応しています。
AI エージェント向けのプロンプト例
サーバーの接続後、以下のいずれかを Claude Desktop、Cursor、または GitHub Copilot Chat にコピーします。
- ドキュメントの構造を確認する:"invoice.pdf のページ数と形式を教えてください。"
- テキストの一部を抽出する:"contract.docx の 2 ページ目からテキストを抽出してください。"
- メタデータを調べる:"report.xlsx の作成者と作成日を教えてください。"
- 構造化された表を読み取る:"invoice.pdf の明細表を Markdown として抽出してください。"
- バーコードをスキャンする:"shipping-label.png に QR コードはありますか?ある場合、デコード結果を教えてください。"
ライセンス
MCP サーバー自体は MIT ライセンスですが、基盤となる GroupDocs.Parser エンジンを本番環境で使用するにはライセンスが必要です。 ライセンスがない場合、サーバーは評価モードで動作し、抽出には厳しい制限が適用されます。出力は正しいように見えますが、不完全な内容が通知なく返されます。
- テキスト抽出:ファイルあたり最初の 1,600 文字と 20 行のみで、最初の 5 ページ、シート、またはスライドに限られます。書式付きテキストと構造の抽出では、スプレッドシートに 20 行の上限も適用されます。
- メタデータ抽出:ファイルあたり 5 プロパティのみです。
- 1 セッションあたり 100 ファイルまでで、出力には評価マークが付きます。
- 制限の全一覧:評価版の制限。
サーバーにライセンスを適用する方法は 2 つあります。
ライセンスファイル — GroupDocs.Parser.lic(または GroupDocs.Total.lic)をコンテナーにマウントし、上記の Claude Desktop の例のように GROUPDOCS_LICENSE_PATH を設定します。オフラインで動作します。
従量課金制 — GROUPDOCS_METERED_PUBLIC_KEY と GROUPDOCS_METERED_PRIVATE_KEY の両方を設定します。実際に処理した量に応じて課金されます。使用量が変動し、事前の予測が難しい AI エージェントに適しています。従量課金制のキーとライセンスファイルの両方が設定されている場合は、従量課金制が優先され、ファイルは無視されます。
従量課金モードでは外部への接続が必要です。 使用量は GroupDocs サーバーに報告されるため、外部ネットワークから隔離された環境やファイアウォールで保護された環境では、その外向き通信を許可するか、代わりにライセンスファイルを使用する必要があります。
いつでも get_license_status ツールを呼び出すと、有効なモードを確認できます。従量課金制の場合は、消費量と残りのクレジットも確認できます。ドキュメントの処理や設定の変更は行わないため、実際の処理を実行する前にセットアップを確認する最も低コストな方法です。
秘密鍵を設定ファイルに記載しない方法
従量課金制の秘密鍵は機密情報です。MCP クライアントの設定はディスク上のプレーンテキストファイルであり、プロジェクト単位の .mcp.json は慣例上コミットされるため、次の順に方法を検討してください。
- OS の環境変数に設定し、設定ファイルには一切記載しないでください。 stdio MCP サーバーはクライアントの環境を継承するため、どのクライアントでも機能します。macOS では、Finder から起動したアプリはシェルのエクスポートを継承しない点に注意してください。
launchctl setenvを使うか、ターミナルからクライアントを起動してください。 - クライアントが対応している場合は、間接的に参照してください(Claude Code は
${VAR}を展開し、VS Code は${env:VAR}と${input:...}を使用します)。 - ユーザー単位の設定ファイル(例:
~/.claude.json)に値を直接記載する方法は、開発者が 1 人の場合に限り許容されます。 - プロジェクト単位の
.mcp.jsonにキーを直接記載して絶対にコミットしないでください。
Docker では、ファイルに書き込まずに値を渡します。名前のみを指定することで、キーがコマンドラインに表示されないようにします。
docker run --rm -i \
-e GROUPDOCS_METERED_PUBLIC_KEY -e GROUPDOCS_METERED_PRIVATE_KEY \
-v /path/to/documents:/data \
ghcr.io/groupdocs-parser/parser-net-mcp:latest
設定
| 変数 | 説明 | デフォルト |
|---|---|---|
GROUPDOCS_MCP_STORAGE_PATH | 入力ファイルと出力ファイルのベースフォルダー | 現在のディレクトリ |
GROUPDOCS_MCP_OUTPUT_PATH | (オプション) 出力ファイル用の別フォルダー(extract_images で使用) | GROUPDOCS_MCP_STORAGE_PATH |
GROUPDOCS_LICENSE_PATH | コンテナー内から見た GroupDocs ライセンスファイルのパス。従量課金制のキーが設定されている場合は無視されます | (評価モード) |
GROUPDOCS_METERED_PUBLIC_KEY | 従量課金制の公開鍵。秘密鍵も必要です。GROUPDOCS_LICENSE_PATH より優先されます | (未設定) |
GROUPDOCS_METERED_PRIVATE_KEY | 従量課金制の秘密鍵。機密情報 — コミット済みの設定ファイルではなく、環境から渡してください | (未設定) |
Claude Desktop での使用
{
"mcpServers": {
"groupdocs-parser": {
"command": "docker",
"args": ["run", "--rm", "-i", "-v", "/path/to/documents:/data", "ghcr.io/groupdocs-parser/parser-net-mcp:latest"]
}
}
}
ライセンスを使用するには、イメージ名の前に
"-v", "/path/to/license-folder:/license", "-e", "GROUPDOCS_LICENSE_PATH=/license/GroupDocs.Total.lic"を追加してください。 バージョンを固定するには、:latestをリリースタグに置き換えてください。
VS Code/GitHub Copilot での使用方法
上の VS Code にインストール ボタンを使用するか、.vscode/mcp.json
(install/generated/vscode-mcp.json にもあります)に追加します。
{
"inputs": [
{
"type": "promptString",
"id": "storage_path",
"description": "Base folder for input and output files.",
"password": false
}
],
"servers": {
"groupdocs-parser": {
"command": "docker",
"args": ["run", "--rm", "-i", "-v", "${input:storage_path}:/data", "ghcr.io/groupdocs-parser/parser-net-mcp:latest"]
}
}
}
Docker Compose での使用方法
cd docker
docker compose up
docker/docker-compose.yml を編集し、ボリュームがローカルのドキュメントフォルダーを参照するようにします。
ドキュメントとガイド
ステップごとのデプロイガイドと公開パッケージの統合テストスイートは、関連リポジトリ GroupDocs.Parser.Mcp.Tests にあります。
- NuGet からインストールする
- Docker 経由で実行する
- MCP レジストリで検証する
- Claude Desktop で使用する
- VS Code/GitHub Copilot で使用する
- 統合テストを実行する
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。