groupdocs-annotation-mcp について
groupdocs-annotation-mcp は GroupDocs.Annotation の機能を MCP ツールとして提供し、AI エージェントで文書の注釈を確認・管理するチーム向けです。注釈や返信の操作、インポートとエクスポート、ページプレビューに対応します。
主な機能
- 01複数種類の文書注釈を追加
- 02注釈の一覧表示、編集、削除
- 03注釈への返信やスレッドを管理
- 04XML 注釈のインポートとエクスポート
- 05文書情報の取得とページプレビュー
活用シーン
- 01契約条項にレビューコメントを付ける
- 02作成者ごとに設計文書の注釈を確認
- 03既存の文書注釈に返信
- 04文書間で注釈を移行してページをプレビュー
MCP 対応
注釈操作、文書情報の取得、ページプレビューなどの GroupDocs.Annotation ツールを MCP クライアントに提供します。stdio で接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GroupDocs.Annotation MCP サーバー
GroupDocs.Annotation を、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.Annotation.Mcp --yes
実行するたびに最新の安定版リリースを取得します。特定のバージョンを固定するには(共有設定や CI での使用を推奨)、@<version> を追加します。
dnx [email protected] --yes
または、グローバル dotnet ツールとしてインストール:
dotnet tool install -g GroupDocs.Annotation.Mcp
groupdocs-annotation-mcp
または、Docker 経由で実行:
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-annotation/annotation-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、libfontconfig1、ttf-mscorefonts-installer がすでに含まれています。 |
Linux/macOS でこれを省略すると、ツールの応答に DllNotFoundException: libgdiplus が表示されます。Linux/macOS で最も手軽にセットアップできる方法は、Docker イメージを使うことです。
利用可能な MCP ツール
| ツール | 説明 |
|---|---|
AddAnnotation | テキストフィールド/範囲/ポイント/矢印/ハイライト/下線/取り消し線の注釈を追加し、注釈付きファイルを <name>_annotated.<ext> として保存します |
GetAnnotations | ドキュメント内のすべての注釈を JSON 形式で一覧表示します(id、type、message、page、box、user、replies) |
UpdateAnnotation | id を指定して既存の注釈のメッセージやバウンディングボックスを変更します |
RemoveAnnotations | id のリストを指定して注釈を削除します。指定がない場合はすべて削除します |
AddReply | 既存の注釈に返信/コメントスレッドを追加します |
RemoveReplies | 返信 id のリスト、ユーザー名、またはすべてを指定して返信を削除します |
ImportAnnotations | XML ファイルまたは別の注釈付きドキュメントから、対象ファイルに注釈をインポートします |
ExportAnnotations | ドキュメントから注釈を抽出し、XML として保存します(ImportAnnotations で再インポートできます) |
GetDocumentInfo | ファイル形式、ページ数、サイズ、ページごとの寸法を JSON 形式で返します(変更なし) |
GeneratePagesPreview | 最大 5 ページをインライン PNG 画像としてレンダリングし、AI クライアントで直接表示できるようにします |
プロンプトの例
- 「contract.pdf に注釈を付けてください。2 ページ目の補償条項の周囲をハイライトし、『法務レビューが必要』というコメント付きの矢印を追加してください」
- 「design-review.docx のすべての注釈を一覧表示し、作成者ごとにまとめてください」
- 「spec.pdf の注釈 7 に、ユーザー『alice』として『PR #42 で実装済み』と返信してください」
- 「old.pdf の注釈を XML にエクスポートしてから、new.pdf に再インポートしてください」
- 「注釈を埋め込んだ状態で report.pdf の 1 ページ目と 5 ページ目をプレビューしてください」
ライセンス
MCP サーバー自体は MIT ライセンスですが、基盤となる GroupDocs.Annotation エンジンを本番環境で使用するにはライセンスが必要です。 ライセンスがない場合、サーバーは評価モードで動作します。
- 注釈付きの出力に評価版のウォーターマークが付く場合があります。
- 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)は、単独の開発者であれば許容されます。 - プロジェクト単位の
.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-annotation/annotation-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-annotation": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Annotation.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
}
}
}
}
特定のバージョンに固定するには、
args内の"GroupDocs.Annotation.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-annotation": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Annotation.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
}
}
}
}
上記と同じルールでバージョンを固定できます。特定のリリースに固定するには、
"GroupDocs.Annotation.Mcp"を"[email protected]"に置き換えてください。
Docker Compose での使用方法
cd docker
docker compose up
docker/docker-compose.yml を編集し、ボリュームがローカルのドキュメントフォルダーを指すようにしてください。
ライセンス
MIT — LICENSE を参照してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。