groupdocs-comparison-mcp について
groupdocs-comparison-mcpは、GroupDocs.Comparisonの文書比較機能をAIエージェントに提供します。多様な形式に対応し、差分入りファイル、変更データ、文書情報を出力します。
主な機能
- 01文書を比較して差分入りファイルを保存
- 02変更内容を構造化データで分析
- 03文書の種類・サイズ・ページ数を確認
- 04パスワード保護された文書に対応
活用シーン
- 01契約書の版間の変更を確認
- 02表計算の価格やセルの変更を確認
- 03差分入り文書を作成
- 04比較前にファイル情報を確認
MCP 対応
文書の比較と検査を行うMCPツールを提供し、差分入りの結果ファイルや構造化された変更データを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GroupDocs.Comparison MCP サーバー
GroupDocs.Comparison を、Claude、Cursor、GitHub Copilot、その他の MCP エージェントから呼び出せるツールとして公開する MCP サーバーです。
インストール
ワンクリックインストールでは、サポートされているすべての設定があらかじめ入力されます。インストール後にプレースホルダーのドキュメントフォルダーを編集してください(出力先はデフォルトで同じフォルダーです)。GROUPDOCS_LICENSE_PATH が空の場合は評価モードで実行されます。制限を解除するには、ライセンスのパスを指定してください。
その他のクライアント — Claude Code、Codex CLI、Visual Studio 2022、 Cursor、Windsurf、Cline、JetBrains Rider 用のすぐに使える設定は
install/generated/にあります。
.NET 10 SDK が必要です。
dnx で直接実行(推奨 — インストール不要):
dnx GroupDocs.Comparison.Mcp --yes
実行するたびに最新の安定版リリースを取得します。特定の
バージョンに固定するには(共有設定や CI での使用を推奨)、@<version> を追加します。
dnx [email protected] --yes
または、グローバル dotnet ツールとしてインストール:
dotnet tool install -g GroupDocs.Comparison.Mcp
groupdocs-comparison-mcp
または、Docker 経由で実行:
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-comparison/comparison-net-mcp:latest
ネイティブ環境の前提条件
基盤となる GroupDocs エンジンは、一部の処理で System.Drawing(GDI+)を使用します。Linux または macOS でサーバーをネイティブに(dnx またはグローバルの dotnet ツールを使って)実行する場合は、まずネイティブの libgdiplus ライブラリをインストールしてください。
| プラットフォーム | セットアップ |
|---|---|
| Windows | 不要 — GDI+ は OS に組み込まれています。 |
| Linux | sudo apt-get install -y libgdiplus libfontconfig1 ttf-mscorefonts-installer |
| macOS | brew install mono-libgdiplus |
| Docker | 不要 — イメージには libgdiplus がすでに含まれています。 |
Linux/macOS でこれを省略すると、ツールの応答に DllNotFoundException: libgdiplus が表示されます。Linux/macOS で最も簡単にセットアップできる方法は、Docker イメージを使うことです。
利用可能な MCP ツール
| ツール | 説明 |
|---|---|
Compare | 2 つのドキュメント(ソースとターゲット)を比較し、変更箇所がマークされたファイルに加えて、変更件数の概要と、変更の構造化 JSON リスト(種類、ページ、変更された断片、前後のソース/ターゲットのテキスト、テーブルのセル、スタイルの変更)を生成します。ユーザーがレンダリングされた差分ドキュメントを求めている場合に使用します。PDF、Word、Excel、PowerPoint、ODT、RTF、TXT、HTML など、30 種類以上の形式に対応しています。保護されたドキュメントには、必要に応じて sourcePassword / targetPassword を指定できます。 |
AnalyzeChanges | 2 つのドキュメントの差分を構造化データのみで返します。Compare と同じ JSON 形式の変更リストを返しますが、結果ファイルのレンダリングや保存は行いません。Compare より低コストです。マークアップされたファイルの取得ではなく、変更点の要約、説明、分析をユーザーが求めている場合に使用します。必要に応じて sourcePassword / targetPassword を指定できます。 |
GetDocumentInfo | 1 つのソースドキュメントを検査し、比較を実行せずに、ファイル形式、ページ数、ファイルサイズ、ページごとの寸法を JSON で返します。比較するかどうか、または想定される形式を判断する前の事前確認に便利です。保護されたドキュメントには、必要に応じて password を指定できます。 |
AI エージェント向けのプロンプト例
サーバーを MCP クライアント(Claude Desktop、Cursor、VS Code Copilot、…)に接続したら、次のプロンプトを試してみてください。
Compare old.pdf and new.pdf and save the marked-up result.
Diff contract-v1.docx against contract-v2.docx and tell me the change count.
What changed between proposal-v1.docx and proposal-v2.docx? Summarize the edits.
Did the prices change between budget-q1.xlsx and budget-q2.xlsx? Which cells?
How many pages does report.pdf have? Who's the author?
Inspect /docs/legal-brief.pdf — what's the file type and page count?
レンダリングされた差分ファイルをユーザーが求めている場合は Compare、変更された内容の確認のみを求めている場合(要約/分析、ファイルなし)は AnalyzeChanges、検査のみの質問には GetDocumentInfo がクライアントによって選択されます。
ライセンス
MCP サーバー自体は MIT ライセンスですが、基盤となる GroupDocs.Comparison エンジンを本番環境で使用するにはライセンスが必要です。 ライセンスがない場合、サーバーは評価モードで動作します。
- 比較結果に評価用の透かしや通知が含まれる場合があります。
- 1 つのサーバープロセスで開けるドキュメントは最大 15 件です。それを超える呼び出しは、サーバーを再起動するまで評価モードの上限エラーで失敗します。
サーバーにライセンスを適用する方法は 2 つあります。
ライセンスファイル — GROUPDOCS_LICENSE_PATH に GroupDocs.Total.lic のパスを設定します。オフラインで動作します。
従量課金制 — 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-comparison/comparison-net-mcp:latest
設定
| 変数 | 説明 | デフォルト |
|---|---|---|
GROUPDOCS_MCP_STORAGE_PATH | 入力ファイルと出力ファイルのベースフォルダー | カレントディレクトリ |
GROUPDOCS_MCP_OUTPUT_PATH | (任意) 出力ファイル用の別フォルダー | GROUPDOCS_MCP_STORAGE_PATH |
GROUPDOCS_LICENSE_PATH | GroupDocs ライセンスファイルへのパス | (評価モード) |
GROUPDOCS_METERED_PUBLIC_KEY | 従量制ライセンスの公開鍵。秘密鍵も必要です。ライセンスファイルより優先されます | (未設定) |
GROUPDOCS_METERED_PRIVATE_KEY | 従量制ライセンスの秘密鍵。機密情報 - ライセンスを参照してください | (未設定) |
Claude Desktop での使用
{
"mcpServers": {
"groupdocs-comparison": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Comparison.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
}
}
}
}
特定のバージョンに固定するには、
argsの"GroupDocs.Comparison.Mcp"を"[email protected]"に置き換えてください。予期しないアップグレードを避けるため、共有またはコミットする設定ではバージョンの固定をおすすめします。
VS Code / GitHub Copilot での使用
NuGet.org は、パッケージページでそのまま使える mcp.json のスニペットを生成します。これを .vscode/mcp.json に直接コピーしてください。
または、.vscode/mcp.json に手動で追加してください。
{
"inputs": [
{
"type": "promptString",
"id": "storage_path",
"description": "Base folder for input and output files.",
"password": false
}
],
"servers": {
"groupdocs-comparison": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Comparison.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
}
}
}
}
上記と同じルールでバージョンを固定できます。特定のリリースに固定するには、
"GroupDocs.Comparison.Mcp"を"[email protected]"に置き換えてください。
Docker Compose での使用
cd docker
docker compose up
docker/docker-compose.yml を編集し、ボリュームがローカルのドキュメントフォルダーを指すようにしてください。
ドキュメントとガイド
ステップごとのデプロイガイドと、公開パッケージの統合テストスイートは、関連リポジトリ GroupDocs.Comparison.Mcp.Tests にあります。
- NuGet からインストール —
dnx、グローバルツール、バージョン固定と常に最新のバージョン - Docker 経由で実行
- MCP レジストリで確認
- Claude Desktop で使用
- VS Code / GitHub Copilot で使用
- 統合テストを実行
このリポジトリでは、CI で Linux、macOS、Windows 上の公開済みNuGet 成果物に対して、紹介されているすべてのツールもテストしています。そのため、上記のスニペットは リリースごとにエンドツーエンドで検証されています。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。