A GroupDocs MCP サーバーは Claude Desktop、Claude Code、Cursor、GitHub Copilot などの MCP クライアントがドキュメントを ローカル で操作できるようにします。クライアントはサーバーを自分のマシン上の子プロセスとして起動し、ファイルは選択したフォルダーで読み書きされます。完全なアーキテクチャとセキュリティモデルは各製品のオンプレミスページに記載されており、例として Running GroupDocs MCP servers on-premise: architecture and security model が挙げられます。本稿では AI エージェントをドキュメントに接続する 3 つの一般的な方法を比較し、何がマシンを離れ、何が残るかを説明します。

AI エージェントをドキュメントに接続できるアーキテクチャは?

3 つあります。最初にセキュリティレビュー担当者が問う質問は「ドキュメントはどこに行くか?」です。

クラウドアップロード ホスト型 API ローカル MCP サーバー
動作概要 アシスタントまたはプラグインがファイルをベンダーサービスにアップロードします コードまたはエージェントがベンダーの REST API にファイルを送信します AI クライアントがマシン上でサーバープロセスを起動します
ドキュメントの保存先 サードパーティのクラウド サードパーティのクラウドまたは自社テナント どこにも送られません:ローカルフォルダーから読み書きします
ネットワーク接触面 ベンダーへのアウトバウンド ベンダーへのアウトバウンド 標準入出力のみ;ライセンスファイル使用時はなし、メーター制ライセンス時は使用レポートのみ(ドキュメント内容は含まれません)
受信ポート 該当なし 該当なし なし
エアギャップ使用 不可能 通常は不可;ベンダーの導入オプションに依存 ライセンスファイルがあれば可能
実行者 ベンダー ベンダー AI クライアントの一部としてあなたが実行

3 列目が GroupDocs MCP サーバーが実装しているものです。残りの本文ではその動作と制限について説明します。

ローカル MCP サーバーのデータフローはどのようなものですか?

AI クライアントはサーバーを子プロセスとして起動し、JSON‑RPC を介して標準入出力でやり取りします。サーバーはネットワークポートをリッスンせず、ライセンスファイルがある場合はアウトバウンド接続も行いません。

+--------------+          +--------------------+         +------------------+
|  AI client   |  stdio   | MCP server process | reads / | local filesystem |
| (Claude,     | <------> | (GroupDocs engine) | <-----> | storage / output |
|  Cursor, ..) | JSON-RPC |   child process    |  writes |     folders      |
+--------------+          +--------------------+         +------------------+
       |
       | prompts and quoted fragments only
       v
+--------------------+
|   model provider   |  (cloud, or a local model inside your network)
+--------------------+

セキュリティレビュー担当者が確認できる 4 つの項目は次のとおりです。

  • Transport: 子プロセスへの標準入力と標準出力です。ファイアウォールでブロックすべきものも、公開すべきものもありません。
  • Inbound ports: なし。
  • Telemetry: なし。ドキュメントエンジンはプロセス内で実行されます。
  • Network use: インストール時にのみ、nuget.org からパッケージを取得するか、ghcr.io からイメージを取得します。実行時にはサーバーはアウトバウンド呼び出しを行いませんが、以下で説明するライセンス例外が 1 つあります。

信頼せずに検証することも可能です:タスクを実行し、リッスンソケットやアウトバウンド接続がないか監視してください。

エージェントがドキュメントを処理するときにマシンから出るものは?

ドキュメントはマシンを離れません。プロンプトと引用フラグメントが出ます。

AI クライアントの背後にあるモデルは会話全体を見ます。モデルがクラウドホストの場合、指示テキストはモデルプロバイダーに届き、エージェントが引用して返す内容も同様です。例を 2 つ示します。

  • 比較後、エージェントが支払条件が 30 日から 45 日に変更されたと報告します。その文は会話の一部としてプロバイダーに送られます。
  • 抽出後、エージェントが請求書の合計金額を報告します。ファイルは移動しませんが、その値は送信されます。

有用な習慣として、回答が少ない情報量になるようにプロンプトを構成します。たとえば「合計が閾値以上のファイルはどれか」を尋ね、合計自体は求めないようにします。機密コーパスの場合は、サーバーをローカルホスト型モデルと組み合わせます。これによりループ全体(クライアント、モデル、サーバー、ファイル)がネットワーク内に留まります。

ローカルサーバーはインターネット接続が必要ですか?

処理自体には不要です。ライセンスモードに依存します。

  • License file: ローカルディスクからローカルプロセスが読み取ります。完全にオフラインで動作し、エアギャップネットワークに最適です。
  • Metered (pay-per-use): サーバーは usage を GroupDocs に報告するため、アウトバウンド通信が必要です。レポートにはドキュメント内容は含まれませんが、接続自体はファイアウォールで許可する必要があります。

メーター制キーとライセンスファイルの両方が設定されている場合、メーター制キーが優先されます。キーはコミットされた設定ではなく環境変数に保存してください。各製品のライセンスページに設定方法が記載されており、get_license_status ツールで有効モードを確認できます。

Docker で境界内にサーバーを実行するには?

Docker イメージはプラットフォームチームにとって簡単なオプションになることが多いです。ネイティブ依存関係がすべて含まれた 1 つのイメージで、ホストに SDK は不要、マウントしたフォルダーだけが境界になります。各製品は ghcr.io/groupdocs-<product>/<product>-net-mcp という名前の独自イメージを持ちます。以下のコマンドは 1 製品の例です。プレースホルダーは置き換えてください。

docker run --rm -i \
  -v /srv/documents:/data \
  -v /srv/licenses:/license:ro \
  -e GROUPDOCS_MCP_STORAGE_PATH=/data \
  -e GROUPDOCS_LICENSE_PATH=/license/GroupDocs.<Product>.lic \
  ghcr.io/groupdocs-<product>/<product>-net-mcp:<tag>
  • タグを固定。クイックスタートコマンドは :latest を使用しますが、本番環境ではテストしたバージョンにタグを固定し、再ビルドで動作が変わらないようにします。
  • 意図的にマウント。コンテナは指定したフォルダーだけを参照でき、ユーザーとして実行するプロセスよりも境界が厳しくなります。
  • ライセンスを読み取り専用でマウント。
  • エアギャップ環境:イメージを事前にプルするか、NuGet パッケージを事前にキャッシュし、バージョンを固定します。

AI クライアントはこの docker run コマンドを MCP 設定のサーバーコマンドとして実行するため、コンテナが上図の子プロセスになります。ドキュメントではイメージがマルチアーキ(linux/amd64 と linux/arm64)であることが説明されています。

ローカル MCP サーバーは規制産業に適していますか?

プライバシーレビューで最大の懸念である「ドキュメントをサードパーティのプロセッサに転送する」問題を解消します。法務、金融、医療、公共部門などでドキュメントのアップロードを禁じるポリシーがあるチームは、HIPAA や GDPR 向けワークフローの構築ブロックとして利用できます。これはあくまでアーキテクチャ上の適合性を示すものです。GroupDocs MCP サーバーは特定の規制認証を受けておらず、義務は組み合わせるモデル、ライセンスモード、独自のコントロールに依存します。

このモデルの制限は何ですか?

  • 1 つのサーバーは 1 つのクライアントプロセスにサービスを提供。stdio サーバーは 1 台のマシン上の 1 クライアントによって起動され、マルチユーザーサービスではありません。共有サービスが必要な場合は、複数の MCP サーバーを実行する代わりに GroupDocs ライブラリの前に独自サービスを配置してください。
  • メーター制ライセンスはアウトバウンドが必要。使用レポートは前述のとおり外部へ送信されます。ネットワークを閉じる必要がある場合はライセンスファイルを選択してください。
  • プロンプトはローカルホスト型モデルを使用しない限りモデルプロバイダーに届く。
  • 評価モードには制限がある。ライセンスがない場合、サーバーは製品固有の制限付き評価モードで動作します。例として Comparison サーバーは最初の 2 ページのみ比較し、結果に透かしを付けます。まず get_license_status を呼び出し、製品のライセンスページを確認してください。
  • Parser と Search は Docker イメージのみ提供。GroupDocs.Parser.Mcp と GroupDocs.Search.Mcp には NuGet パッケージがなく、上記の Docker ルートが唯一の手段です。Linux ホスト上では --user "$(id -u):$(id -g)" を付けてコンテナを実行し、マウントしたフォルダーへの書き込みを許可してください。
  • プラットフォーム例外。現在、Linux(Docker イメージ含む)では 2 つの PDF 固有操作が失敗します。これは PDF エンジンの画像処理が System.Drawing.Common に依存しており、.NET が Windows のみでサポートしているためです:GroupDocs.Annotation.Mcp の generate_pages_preview(PDF ファイルで Word 文書はレンダリング可能)、および GroupDocs.Redaction.Mcp の redact_image_area と erase_metadata(PDF ファイルで失敗、PDF の redact_text と Word 文書の 3 つは動作)。これらは Windows で dnx を使用して実行してください。製品投稿をご参照ください。

FAQ

MCP は機密文書に対して安全ですか?
GroupDocs MCP サーバーではドキュメントはマシン上のプロセス内で stdio を介して処理され、リッスンポートもテレメトリもありません。残っている評価項目は、プロンプトと引用フラグメントが送られる AI クライアントが使用するモデルです。

Claude ツールをクラウドにデータを送らずに実行できますか?
ドキュメントはどちらの場合もローカルに残ります。プロンプトもローカルに保ちたい場合は、ローカルホスト型モデルをサポートするクライアントを使用し、会話の一部がネットワークを離れないようにしてください。

MCP サーバーはどんなデータを送信しますか?
ライセンスファイル使用時、実行時に GroupDocs MCP サーバーはネットワークへ何も送信しません。メーター制ライセンスの場合は使用レポートを GroupDocs に送りますが、ドキュメント内容は送信されません。

製品別:ドキュメント内のオンプレミスページ

各ページは同じアーキテクチャを対象製品のコマンドと共にカバーしています。これらはセキュリティレビューの標準参照です。

製品別:ブログでの開始地点

各製品には一連の投稿があります—ほとんどは 4 件、Search は 6 件です。最初の投稿がパターンを説明し、残りがそれを適用します。