groupdocs-metadata-mcp について
groupdocs-metadata-mcpは、GroupDocs.Metadataによる文書プロパティ操作をAIエージェントに提供します。メタデータの読み取り、検索、編集、削除に加え、基本的なファイル情報も確認できます。
主な機能
- 01文書メタデータをJSONで読み取り
- 02カテゴリ・名前・値でプロパティを検索
- 03メタデータの設定や更新
- 04すべてまたは指定したメタデータを削除
- 05文書情報と暗号化状態を確認
活用シーン
- 01ファイル内の作成者やGPS情報を探す
- 02文書のタイトルやキーワードを更新
- 03共有前に個人情報を削除
- 04ファイル形式と暗号化状態を確認
MCP 対応
メタデータの読み取り、検索、書き込み、削除と、基本的な文書検査を行うMCPツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GroupDocs.Metadata MCP サーバー
GroupDocs.Metadata を、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.Metadata.Mcp --yes
実行するたびに、最新の安定版リリースを取得します。特定のバージョンに固定するには(共有設定や CI での使用に推奨)、末尾に @<version> を追加します。
dnx [email protected] --yes
または、グローバル dotnet ツールとしてインストール:
dotnet tool install -g GroupDocs.Metadata.Mcp
groupdocs-metadata-mcp
または、Docker 経由で実行:
docker run --rm -i \
-v $(pwd)/documents:/data \
ghcr.io/groupdocs-metadata/metadata-net-mcp:latest
ネイティブ環境の前提条件
基盤となる GroupDocs エンジンは、一部の操作で System.Drawing(GDI+)を使用します。Linux または macOS でサーバーをネイティブに(dnx またはグローバル dotnet ツール経由で)実行する場合は、最初にネイティブの libgdiplus ライブラリをインストールしてください。
| プラットフォーム | セットアップ |
|---|---|
| Windows | 不要 — GDI+ は OS に組み込まれています。 |
| Linux | sudo apt-get install -y libgdiplus libfontconfig1 |
| macOS | brew install mono-libgdiplus |
| Docker | 不要 — イメージには libgdiplus がすでに含まれています。 |
Linux/macOS でこれを省略すると、ツールの応答に DllNotFoundException: libgdiplus が表示されます。Linux/macOS で最も手軽にセットアップできる方法はDocker イメージです。
利用可能な MCP ツール
| ツール | 説明 |
|---|---|
ReadMetadata | すべてのメタデータプロパティ(作成者、タイトル、作成日、カスタムプロパティ)を読み取り、JSON として返します |
SearchMetadata | 1 つのドキュメント内を検索し、一致するプロパティのみを返します(カテゴリ、名前、値で絞り込み)— 例:「作成者を表示して」「GPS 情報はある?」 |
WriteMetadata | プロパティ(Author、Title、Subject、Keywords、Comments、Copyright、Company、Manager)を設定、変更、または追加し、更新したファイルを保存します |
RemoveMetadata | メタデータを削除して、クリーンアップしたファイルを保存します。デフォルトではすべてを削除しますが、特定の categories(gps、author、comments、company、dates、software、copyright、keywords、personal)のみを対象にすることもできます |
GetDocumentInfo | ファイル形式、MIME タイプ、ページ数、バイトサイズ、暗号化の状態を JSON として返します — メタデータプロパティを列挙しない、軽量な構造チェックです |
ライセンス
MCP サーバー自体は MIT ライセンスですが、基盤となる GroupDocs.Metadata エンジンを本番環境で使用するにはライセンスが必要です。 ライセンスがない場合、サーバーは評価モードで動作します。
- 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-metadata/metadata-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-metadata": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Metadata.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
}
}
}
}
特定のバージョンに固定するには、
argsの"GroupDocs.Metadata.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-metadata": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Metadata.Mcp", "--yes"],
"env": {
"GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
}
}
}
}
バージョンの固定方法は上記と同じです。特定のリリースに固定するには、
"GroupDocs.Metadata.Mcp"を"[email protected]"に置き換えてください。
Docker Compose での使用方法
cd docker
docker compose up
docker/docker-compose.yml を編集し、ボリュームがローカルのドキュメントフォルダーを参照するようにしてください。
ドキュメントとガイド
段階的なデプロイガイドと、公開済みパッケージの統合テストスイートは、関連リポジトリ GroupDocs.Metadata.Mcp.Testsにあります。
- NuGet からインストールする —
dnx、グローバルツール、バージョン固定と常に最新版を使用する方法 - Docker 経由で実行する
- MCP レジストリで確認する
- Claude Desktop で使用する
- VS Code / GitHub Copilot で使用する
- Cursor で使用する
- 統合テストを実行する
このリポジトリでは、CI で Linux、macOS、Windows 上の公開済みNuGet アーティファクトを使用して、案内されているすべてのツールもテストしています。そのため、上記のスニペットはリリースごとにエンドツーエンドで検証されています。
ライセンス
MIT — LICENSEを参照してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。