CL
OfficialAI & MLMedia

Cloudinary MCP Server for LLM Media Management

Manage Cloudinary media with an MCP server to upload, transform, analyze, and organize assets from LLM-powered apps like Cursor and Claude.

Quick Install
npx -y @cloudinary/mcp-servers

Overview

Cloudinary MCP Servers implement the Model Context Protocol (MCP) to let large language models and AI-first apps interact with Cloudinary media programmatically. By exposing Cloudinary operations through MCP endpoints, LLM-powered interfaces (for example, Claude, Cursor, or custom chat assistants) can upload, transform, analyze, and organize images and videos using natural language prompts or tool calls.

These servers are available as hosted (remote) endpoints maintained by Cloudinary, or as runnable packages and Docker images for local and self-hosted setups. Use the remote servers for fast integration and minimal setup, or run local/Docker instances when you need customization, private deployment, or specific Cloudinary account credentials.

Features

  • Upload, delete, and manage assets (images, videos, raw files)
  • Apply transformations and deliver optimized URLs
  • AI-powered analysis: auto-tagging, moderation, and content metadata
  • Structured metadata: define, store, and query custom asset fields
  • Environment configuration: manage upload presets, transformations, and account settings
  • MediaFlows: low-code workflows for automating image/video pipelines
  • Remote (hosted) and local/Docker deployment options
  • OAuth2 support for remote servers; API-key based auth for local instances

Available Servers

ServerPurposeRemote MCP URL
Asset ManagementUpload, transform, search and organize assetshttps://asset-management.mcp.cloudinary.com/mcp
Environment ConfigConfigure upload presets, transformations, and settingshttps://environment-config.mcp.cloudinary.com/mcp
Structured MetadataCreate and query structured metadata schemas and fieldshttps://structured-metadata.mcp.cloudinary.com/mcp
AnalysisAI-based auto-tagging, moderation, and content analysis (SSE endpoint)https://analysis.mcp.cloudinary.com/sse
MediaFlowsBuild and run low-code automation workflows for mediahttps://mediaflows.mcp.cloudinary.com/v2/mcp

Installation / Configuration

Remote servers (recommended)

  • No install required. Configure your LLM client or application to call the Cloudinary MCP URLs (see example below).
  • Remote endpoints use OAuth2 by default. Obtain an access token for your Cloudinary account or use your platform’s OAuth flow.

Example client MCP configuration (JSON)

{
  "mcpServers": {
    "cloudinary-assets": {
      "url": "https://asset-management.mcp.cloudinary.com/mcp"
    },
    "cloudinary-analysis": {
      "url": "https://analysis.mcp.cloudinary.com/sse"
    },
    "mediaflows": {
      "url": "https://mediaflows.mcp.cloudinary.com/v2/mcp"
    }
  }
}

Local server (npm)

  • Use the individual MCP server packages (see repo per-server) and set Cloudinary credentials as environment variables.

Example .env

CLOUDINARY_CLOUD_NAME=your-cloud
CLOUDINARY_API_KEY=your-api-key
CLOUDINARY_API_SECRET=your-api-secret
PORT=8080

Run locally (example)

npm install @cloudinary/asset-management-mcp
CLOUDINARY_CLOUD_NAME=... CLOUDINARY_API_KEY=... CLOUDINARY_API_SECRET=... node ./node_modules/@cloudinary/asset-management-mcp/start.js

Docker

  • Official Docker images exist for MCP servers. Pass Cloudinary credentials as environment variables to the container.

Example Docker run

docker run -d \
  -e CLOUDINARY_CLOUD_NAME=your-cloud \
  -e CLOUDINARY_API_KEY=your-api-key \
  -e CLOUDINARY_API_SECRET=your-api-secret \
  -p 8080:8080 \
  cloudinary/mcp-asset-management:latest

Transport and endpoints

  • Remote servers support the /mcp (Streamable HTTP, recommended) and /sse (SSE, legacy) endpoints. Use /mcp for new integrations.

Authentication

  • Remote (hosted) MCP servers: OAuth2 bearer tokens are used to authenticate requests. Your LLM or integration should present a valid access token in Authorization: Bearer .
  • Local/Docker servers: typically rely on Cloudinary API key/secret provided via environment variables. These local servers validate and sign requests against your account credentials.
  • Available Tools / Resources

    • Cloudinary MCP and LLM documentation: https://cloudinary.com/documentation/cloudinary_llm_mcp
    • MediaFlows MCP docs: https://cloudinary.com/documentation/mediaflows_mcp
    • GitHub: https://github.com/cloudinary/mcp-servers (repo with links to individual server packages)
    • Docker Hub: search Cloudinary MCP images (cloudinary namespace)

    Use Cases

    • Conversational upload: A chat UI backed by an LLM asks the user for an image, then uses the Asset Management MCP to upload, auto-tag, and confirm success back to the user.
    • Automated moderation: Incoming user media is routed via the Analysis MCP server to run content moderation checks and auto-moderation rules before publishing.
    • Metadata-driven organization: Use the Structured Metadata MCP to add custom fields (e.g., product SKU, campaign, usage rights) and enable advanced search/filtering from an AI assistant.
    • Video workflows: Trigger MediaFlows via MCP to transcode, watermark, and publish videos across CDN destinations with a low-code workflow defined in Cloudinary.

    Troubleshooting & Tips

    • Use the /mcp endpoint for new integrations; /sse is legacy and may accept POST aliasing in some remote servers.
    • For permission errors on remote servers, verify the OAuth token scope and that the token maps to a Cloudinary account with appropriate privileges.
    • When running locally, confirm environment variables are set and the server can reach Cloudinary APIs.
    • If you need custom behavior, run a local/Docker server and extend the server package you deploy.

    This MCP server collection is intended as a bridge between LLM-driven interfaces and Cloudinary’s media platform — enabling developers to add rich media actions (upload, transform, analyze, organize) into conversational experiences quickly and securely.