Cloudinary
公式Cloudinaryのメディア管理プラットフォームと自然言語でやり取りできます。
Cloudinary MCPで何ができますか?
- メディアのアップロードと管理 — 画像、動画、RAWファイルをアップロードし、フォルダー、タグ、アセット間の関連付けを使って整理します。
- アセットの検索と変換 — 高度なフィルタリングでアセットを検索し、アセットの操作や変換を適用します。
- AIによる画像生成 — テキストプロンプトや参照画像から新しい画像を作成し、アカウントに保存します。
- メディアコンテンツの分析 — アセットに対して、AIによるタグ付け、モデレーション、キャプション生成、オブジェクト検出、透かしや品質の分析を実行します。
- 環境設定の構成 — 名前付き変換、アップロードプリセット、ストリーミングプロファイル、Webhookトリガーを作成します。
- 構造化メタデータの管理 — メタデータフィールドを作成し、検証ルールを設定して、リスト型フィールドのデータソース値を管理します。
ホスト型 MCP サーバー
npx add-mcp 'https://asset-management.mcp.cloudinary.com/mcp'Claude Code、Codex、Cursor などにインストールできます
ドキュメント
Cloudinary MCP Servers
Model Context Protocol(MCP)は、大規模言語モデル(LLM)と外部システム間のコンテキストを管理するための、新しい標準化プロトコルです。このリポジトリでは、Cloudinaryのメディア管理プラットフォーム向けに包括的なMCPサーバーを提供します。これにより、CursorやClaudeなどのAIアプリケーションから、自然言語を使ってメディアアセットのアップロード、生成、変換、分析、整理を直接行えます。
これらのMCPサーバーを使うと、会話型AIを通じてメディアワークフロー全体をシームレスに管理できます。画像や動画のアップロード、生成、変換から、自動処理パイプラインの設定、AI搭載ツールによるコンテンツ分析、構造化メタデータを使ったアセットの整理まで対応します。メディアを多用するアプリケーションの構築、大規模なアセットライブラリの管理、コンテンツワークフローの自動化など、さまざまな用途で、Cloudinaryのメディア最適化および管理機能一式に直接アクセスできます。
Cloudinaryでは、次のMCPサーバーを利用できます。
| サーバー名 | 説明 | リモートMCPサーバー |
|---|---|---|
| Asset Management | メディアアセットのアップロード、管理、検索、変換に加え、テキストプロンプトや参照画像からAIで新しい画像を生成 | asset-management |
| Environment Config | Cloudinary環境設定、アップロードプリセット、変換を設定・管理 | environment-config |
| Structured Metadata | アセットの整理と検索性を高める構造化メタデータフィールドを作成、管理、照会 | structured-metadata |
| Analysis | メディアアセットに対するAI搭載のコンテンツ分析、モデレーション、自動タグ付け機能を活用 | analysis |
| MediaFlows | AIによる支援を活用して、画像や動画のローコードワークフロー自動化を構築・管理 | mediaflows |
目次
ドキュメント
CloudinaryのMCPサーバーの使用方法に関する詳細なガイド、チュートリアル、包括的なドキュメントについては、以下をご覧ください。
- Cloudinary MCP and LLM Tool Documentation - CloudinaryをAI/LLMアプリケーションに統合するための完全ガイド
- MediaFlows MCP Documentation - MediaFlows(MCP)サーバーの使用に関するセットアップ手順とガイドライン
インストール
リモートMCPサーバー(推奨)
リモートMCPサーバーはCloudinaryがホストしており、すぐに利用できます。ローカルへのインストールは不要です。
ローカルMCPサーバー
ローカルMCPサーバーはnpmパッケージを使ってお使いのマシン上で実行します。より細かな制御やカスタマイズが必要な場合は、この方法を選択してください。
注: インストール後、環境変数(CLOUDINARY_CLOUD_NAME、CLOUDINARY_API_KEY、CLOUDINARY_API_SECRET)に実際の認証情報を設定する必要があります。
Dockerイメージ
Cloudinary MCPサーバーの公式DockerイメージはDocker Hubで公開されています。コンテナ化されたデプロイ方法により、ローカル環境やクラウド環境でMCPサーバーを実行できます。
Docker Hubで公開中: Cloudinary MCP Docker Images
Dockerイメージには、次のような利点があります。
- 分離された環境 - システムの依存関係に影響を与えず、コンテナ内でMCPサーバーを実行
- 簡単なデプロイ - 最小限の設定ですばやくセットアップ
- 一貫した実行環境 - 異なるマシンやプラットフォーム間で同じ環境を確保
- スケーラビリティ - 複数のインスタンスを簡単にデプロイしたり、コンテナオーケストレーションシステムに統合したりできます
Dockerイメージを使用するには、システムにDockerがインストールされていることを確認し、コンテナの実行時にCloudinaryの認証情報を環境変数として渡してください。具体的な使用方法については、Docker Hubにある各Dockerイメージのドキュメントを参照してください。
設定例
リモートMCPサーバーの設定
リモートサーバーはCloudinaryがホストしており、URL経由でアクセスします。
{
"mcpServers": {
"cloudinary-asset-mgmt-remote": {
"url": "https://asset-management.mcp.cloudinary.com/mcp"
},
"cloudinary-env-config-remote": {
"url": "https://environment-config.mcp.cloudinary.com/mcp"
},
"cloudinary-smd-remote": {
"url": "https://structured-metadata.mcp.cloudinary.com/mcp"
},
"cloudinary-analysis-remote": {
"url": "https://analysis.mcp.cloudinary.com/mcp"
},
"mediaflows": {
"url": "https://mediaflows.mcp.cloudinary.com/v2/mcp"
}
}
}
トランスポート: リモートサーバーは2つのエンドポイントに対応しています。
/mcp(Streamable HTTP、推奨、ステートレス)と/sse(SSE、非推奨、後方互換性のために維持)です。/sseエンドポイントは/mcpの別名としてPOSTリクエストも受け付けるため、/sseにStreamable HTTPを送信するクライアントも動作します。新しい設定では/mcpを使用してください。
認証を使用するリモートMCPサーバー
CloudinaryがホストするリモートMCPサーバーでは、デフォルトでOAuth2認証を使用します。ヘッダーを使ってAPIキーで認証することもできます。
CLOUDINARY_URLを使用する(最も簡単)
{
"mcpServers": {
"cloudinary-asset-mgmt-remote": {
"url": "https://asset-management.mcp.cloudinary.com/mcp",
"headers": {
"cloudinary-url": "cloudinary://api_key:api_secret@cloud_name"
}
}
}
}
個別のヘッダーを使用する
{
"mcpServers": {
"cloudinary-env-config-remote": {
"url": "https://environment-config.mcp.cloudinary.com/mcp",
"headers": {
"cloudinary-cloud-name": "your_cloud_name",
"cloudinary-api-key": "your_api_key",
"cloudinary-api-secret": "your_api_secret"
}
}
}
}
カスタム設定を使用する
{
"mcpServers": {
"cloudinary-smd-remote": {
"url": "https://structured-metadata.mcp.cloudinary.com/mcp",
"headers": {
"cloudinary-url": "cloudinary://api_key:api_secret@cloud_name",
"cloudinary-region": "api-eu",
"cloudinary-tools": "list-metadata-fields,get-metadata-field,create-metadata-field"
}
}
}
}
デバッグヘッダーを使用する
APIのレート制限ヘッダーとリクエストIDをツールの結果に表示するには、ヘッダーの埋め込みを有効にします。
{
"mcpServers": {
"cloudinary-asset-mgmt-remote": {
"url": "https://asset-management.mcp.cloudinary.com/mcp",
"headers": {
"cloudinary-url": "cloudinary://api_key:api_secret@cloud_name",
"cloudinary-embed-headers": "true"
}
}
}
}
各ツールの結果には、レート制限とリクエスト追跡情報を含む_headersフィールドが含まれます。
{
"_headers": {
"x-featureratelimit-limit": "10000",
"x-featureratelimit-remaining": "9998",
"x-featureratelimit-reset": "Thu, 13 Feb 2026 00:00:00 GMT",
"x-request-id": "bfeaccc60050594832508590a358a1a4"
}
}
ローカルMCPサーバーの設定
ローカルサーバーはnpmパッケージを使ってお使いのマシン上で実行します。
オプション1: CLOUDINARY_URL環境変数を使用する(推奨)
{
"mcpServers": {
"cloudinary-asset-mgmt": {
"command": "npx",
"args": ["-y", "--package", "@cloudinary/asset-management-mcp", "--", "mcp", "start"],
"env": {
"CLOUDINARY_URL": "cloudinary://api_key:api_secret@cloud_name"
}
},
"cloudinary-env-config": {
"command": "npx",
"args": ["-y", "--package", "@cloudinary/environment-config-mcp", "--", "mcp", "start"],
"env": {
"CLOUDINARY_URL": "cloudinary://api_key:api_secret@cloud_name"
}
},
"cloudinary-smd": {
"command": "npx",
"args": ["-y", "--package", "@cloudinary/structured-metadata-mcp", "--", "mcp", "start"],
"env": {
"CLOUDINARY_URL": "cloudinary://api_key:api_secret@cloud_name"
}
},
"cloudinary-analysis": {
"command": "npx",
"args": ["-y", "--package", "@cloudinary/analysis-mcp", "--", "mcp", "start"],
"env": {
"CLOUDINARY_URL": "cloudinary://api_key:api_secret@cloud_name"
}
}
}
}
オプション2: 個別の環境変数を使用する
{
"mcpServers": {
"cloudinary-asset-mgmt": {
"command": "npx",
"args": ["-y", "--package", "@cloudinary/asset-management-mcp", "--", "mcp", "start"],
"env": {
"CLOUDINARY_CLOUD_NAME": "cloud_name",
"CLOUDINARY_API_KEY": "api_key",
"CLOUDINARY_API_SECRET": "api_secret"
}
}
}
}
オプション3: コマンドライン引数を使用する
{
"mcpServers": {
"cloudinary-asset-mgmt": {
"command": "npx",
"args": [
"-y", "--package", "@cloudinary/asset-management-mcp",
"--",
"mcp", "start",
"--cloud-name", "cloud_name",
"--api-key", "api_key",
"--api-secret", "api_secret"
]
}
}
}
MediaFlows MCPサーバーの設定
MediaFlowsでは、次の設定を使用します。
{
"mcpServers": {
"mediaflows": {
"url": "https://mediaflows.mcp.cloudinary.com/v2/mcp",
"headers": {
"cld-cloud-name": "cloud_name",
"cld-api-key": "api_key",
"cld-secret": "api_secret"
}
}
}
}
ローカルサーバーの詳細設定
各npmパッケージでは、上記の基本的な設定例に加えて、追加の設定オプションを利用できます。
HTTPサーバーとして実行する
stdioではなくStreamable HTTPトランスポートを使ってローカルMCPサーバーを実行するには、serveコマンドを使用します。
npx -y --package @cloudinary/asset-management-mcp -- mcp serve
サーバーはhttp://localhost:2718/mcpでリッスンします。カスタムポートを指定できます。
npx -y --package @cloudinary/asset-management-mcp -- mcp serve --port 3000
従来のSSEトランスポートもmcp start --transport sse経由で引き続き利用できます(同じ--portフラグを使用し、デフォルトは2718)が、非推奨です。新しい設定ではmcp serveを使用してください。
npx -y --package @cloudinary/asset-management-mcp -- mcp start --transport sse
利用可能な設定オプション
各パッケージで利用可能なすべての設定オプションを確認するには、次を実行します。
npx -y --package @cloudinary/asset-management-mcp -- mcp start --help
npx -y --package @cloudinary/asset-management-mcp -- mcp serve --help
利用可能なフラグの完全な一覧(@cloudinary/asset-management-mcp。他のパッケージでは一部のみ対応):
USAGE
mcp start [--transport stdio|sse] [--port value] [--tool value]... [--mode dynamic]
[--tool-annotations value] [--scope admin|builder|librarian]
[--api-key value] [--api-secret value] [--oauth2 value]
[--cloud-name value] [--server-url value] [--server-index value]
[--region api|api-eu|api-ap] [--api-host value] [--mcp-apps value]
[--log-level debug|warning|info|error] [--env value]...
mcp serve [--port value] [--disable-static-auth] [--tool value]... [--mode dynamic]
[--tool-annotations value] [--scope admin|builder|librarian]
[--api-key value] [--api-secret value] [--oauth2 value]
[--cloud-name value] [--server-url value] [--server-index value]
[--region api|api-eu|api-ap] [--api-host value] [--mcp-apps value]
[--log-level debug|warning|info|error] [--env value]...
COMMANDS
start Run the MCP server (stdio by default)
serve Run the MCP server with Streamable HTTP transport
FLAGS
--transport start only: the transport to use
[stdio|sse, default = stdio; sse is deprecated]
--port The port to listen on [default = 2718]
--disable-static-auth serve only: disable static authentication, allowing
credentials to be passed via request headers only
--tool... Specify tools to mount on the server (repeatable)
--mode dynamic: expose list_tools, describe_tool_input, and
execute_tool instead of individual tools [dynamic]
--tool-annotations Filter tools by annotations (comma-separated:
readOnly, destructive, idempotent, openWorld)
--scope Mount tools/resources that match given scope
(repeatable) [admin|builder|librarian]
--api-key Sets the api_key auth field for the API
--api-secret Sets the api_secret auth field for the API
--oauth2 Sets the oauth2 auth field for the API
--cloud-name Allows setting the cloud_name parameter for all
supported operations
--server-url Overrides the default server URL used by the SDK
--server-index Selects a predefined server used by the SDK
--region Sets the region variable for url substitution
[api|api-eu|api-ap]
--api-host Sets the host variable for url substitution
--mcp-apps Enable MCP Apps (interactive UI): bare flag or
all/true, none/false, or a comma-separated list of
asset-gallery,asset-details,asset-upload
--log-level The log level to use for the server
[debug|warning|info|error, default = info]
--env... Environment variables made available to the server
-h, --help Print help information and exit
デバッグ
ネットワークペイロードを詳しくデバッグするには、CLOUDINARY_DEBUG環境変数を使用します。
CLOUDINARY_DEBUG=true npx -y --package @cloudinary/asset-management-mcp -- mcp start
包括的なトラブルシューティングを行うには、デバッグモードを他のオプションと組み合わせることができます。
CLOUDINARY_DEBUG=true npx -y --package @cloudinary/asset-management-mcp -- mcp serve --log-level debug
注: これらの設定オプションは、すべてのローカルMCPパッケージに適用されます。
@cloudinary/asset-management-mcp@cloudinary/environment-config-mcp@cloudinary/structured-metadata-mcp@cloudinary/analysis-mcp
認証
MCPサーバーをローカルで実行する場合、認証は次のいずれかの方法で設定できます。
オプション1: 個別の環境変数(推奨)
export CLOUDINARY_CLOUD_NAME="cloud_name"
export CLOUDINARY_API_KEY="api_key"
export CLOUDINARY_API_SECRET="api_secret"
オプション2: CLOUDINARY_URL環境変数
export CLOUDINARY_URL="cloudinary://api_key:api_secret@cloud_name"
オプション3: コマンドライン引数
認証情報を引数として直接渡します(上記の設定例を参照)。
Cloudinaryの認証情報は、Cloudinary Console DashboardのSettings > Securityで確認できます。
サーバー別の機能
Asset Management Server
- メディアアセット(画像、動画、rawファイル)をアップロード・管理
- 高度なフィルタリングとビジュアル検索を使ってアセットを検索・整理
- テキストプロンプトや参照画像からAIで新しい画像を生成し、アカウントに直接保存
- アセットの操作と変換を実行
- フォルダー、タグ、アセット間の関連を管理
- アーカイブとダウンロードリンクを生成
Environment Config Server
- 名前付き変換とアップロードプリセットを作成・管理
- ストリーミングプロファイルとトリガー(Webhook通知)を管理
- アップロードマッピングを設定
Structured Metadata Server
- 構造化メタデータフィールドを作成・管理
- 条件付きメタデータルールと検証を設定
- リスト型メタデータフィールドのデータソース値を管理
- メタデータ設定を整理・検索
Analysis Server
- タグ付け、モデレーション、キャプション生成など、AIを活用したコンテンツ分析
- 複数のAIモデルによる物体検出と認識
- 画像品質の分析と透かしの検出
- コンテンツのモデレーションと安全性の分析
- ファッション、テキスト、解剖学的特徴の検出
- ロゴ検出と商品(ショップ)分類
MediaFlows Server
- 自然言語を使ってワークフロー自動化を構築・管理
- 環境内の既存のPowerFlow自動化を照会
- メタデータ、タグ、アセットのプロパティに基づく条件分岐を作成
- アセットのモデレーション、承認、通知のワークフローを自動化
- 既存の自動化設定をデバッグして把握
Cloudinaryのツールをさらに利用するには
これらのMCPサーバーには、今後も機能を追加していく予定です。フィードバックの送信、バグの報告、機能のリクエストを行う場合は、このリポジトリでissueを作成してください。
トラブルシューティング
「Claudeの応答が中断されました…」
このメッセージが表示された場合、Claudeがコンテキスト長の上限に達し、応答の途中で停止した可能性があります。これは、アセット管理サーバーで大量のアセットを一覧表示する場合など、多数のツール呼び出しが連鎖するサーバーでよく発生します。
この問題を避けるには、次の方法を試してください。
- 具体的で簡潔なクエリを使用してください。
- 1つのリクエストで複数のツールが呼び出される場合は、応答を短く保つため、複数の小さなツール呼び出しに分けてください。
- フィルタリングパラメーターを使って、アセット検索や一覧表示の範囲を絞り込んでください。
認証の問題
Cloudinaryの認証情報が正しく設定されており、実行する操作に必要な権限があることを確認してください。
有料機能
一部の機能には、有料のCloudinaryプランが必要な場合があります。次のような機能を利用するには、Cloudinaryアカウントが必要なサブスクリプションレベルに達していることを確認してください。
- 高度なAI分析機能
- 大量のAPI利用
- 高度な変換機能
ライセンス
MIT Licenseの下でライセンスされています。詳細はLICENSEファイルを参照してください。