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 ConfigCloudinary環境設定、アップロードプリセット、変換を設定・管理environment-config
Structured Metadataアセットの整理と検索性を高める構造化メタデータフィールドを作成、管理、照会structured-metadata
Analysisメディアアセットに対するAI搭載のコンテンツ分析、モデレーション、自動タグ付け機能を活用analysis
MediaFlowsAIによる支援を活用して、画像や動画のローコードワークフロー自動化を構築・管理mediaflows

目次

ドキュメント

Cloudinaryの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ファイルを参照してください。