by cloudinary
Provides a suite of Model Context Protocol servers enabling natural‑language control over Cloudinary’s media management, asset handling, environment configuration, structured metadata, AI analysis, and workflow automation.
Cloudinary MCP Servers expose Cloudinary’s full media management capabilities through Model Context Protocol endpoints, allowing large language models and conversational AI to upload, transform, analyze, organize, and automate media assets using natural language commands.
npx
and the corresponding npm packages.CLOUDINARY_URL
or individual CLOUDINARY_CLOUD_NAME
, CLOUDINARY_API_KEY
, and CLOUDINARY_API_SECRET
environment variables.npx
commands).Q: Do I need to install anything to use the remote servers? A: No. Remote servers are hosted by Cloudinary; simply configure the URL and authentication.
Q: Can I run multiple servers simultaneously?
A: Yes. Each server runs independently and can be accessed via its own URL or local npx
command.
Q: Which authentication method is recommended?
A: Setting the CLOUDINARY_URL
environment variable is the most convenient for both remote and local deployments.
Q: Are there any paid features? A: Advanced AI analysis, high‑volume usage, custom metadata fields, and certain transformation capabilities may require a paid Cloudinary plan.
Q: How do I troubleshoot interrupted LLM responses? A: Limit the scope of asset listings, break large requests into smaller steps, and use filtering parameters to keep responses concise.
Model Context Protocol (MCP) is a new, standardized protocol for managing context between large language models (LLMs) and external systems. This repository provides comprehensive MCP servers for Cloudinary's media management platform, enabling you to use natural language to upload, transform, analyze, and organize your media assets directly from AI applications like Cursor and Claude.
With these MCP servers, you can seamlessly manage your entire media workflow through conversational AI - from uploading and transforming images and videos, to configuring automated processing pipelines, analyzing content with AI-powered tools, and organizing assets with structured metadata. Whether you're building media-rich applications, managing large asset libraries, or automating content workflows, these servers provide direct access to Cloudinary's full suite of media optimization and management capabilities.
The following MCP servers are available for Cloudinary:
Server Name | Description | GitHub Repository | Remote MCP Server |
---|---|---|---|
Asset Management | Upload, manage, and transform your media assets with advanced search and organization capabilities | @cloudinary/asset-management | asset-management SSE |
Environment Config | Configure and manage your Cloudinary environment settings, upload presets, and transformations | @cloudinary/environment-config | environment-config SSE |
Structured Metadata | Create, manage, and query structured metadata fields for enhanced asset organization and searchability | @cloudinary/structured-metadata | structured-metadata SSE |
Analysis | Leverage AI-powered content analysis, moderation, and auto-tagging capabilities for your media assets | @cloudinary/analysis | analysis SSE |
MediaFlows | Build and manage low-code workflow automations for images and videos with AI-powered assistance | MediaFlows MCP | mediaflows MCP |
For detailed guides, tutorials, and comprehensive documentation on using Cloudinary's MCP servers:
Remote MCP servers are hosted by Cloudinary and ready to use immediately. No local installation required.
Local MCP servers run on your machine using npm packages. Choose this option if you need more control or customization.
Note: You'll need to configure your environment variables (CLOUDINARY_CLOUD_NAME
, CLOUDINARY_API_KEY
, CLOUDINARY_API_SECRET
) with your actual credentials after installation.
Remote servers are hosted by Cloudinary and accessed via URL:
{
"mcpServers": {
"cloudinary-asset-mgmt-remote": {
"url": "https://asset-management.mcp.cloudinary.com/sse"
},
"cloudinary-env-config-remote": {
"url": "https://environment-config.mcp.cloudinary.com/sse"
},
"cloudinary-smd-remote": {
"url": "https://structured-metadata.mcp.cloudinary.com/sse"
},
"cloudinary-analysis-remote": {
"url": "https://analysis.mcp.cloudinary.com/sse"
},
"mediaflows": {
"url": "https://mediaflows.mcp.cloudinary.com/v2/mcp"
}
}
}
Local servers run on your machine using npm packages:
{
"mcpServers": {
"cloudinary-asset-mgmt": {
"command": "npx",
"args": ["-y", "--package", "@cloudinary/asset-management", "--", "mcp", "start"],
"env": {
"CLOUDINARY_URL": "cloudinary://api_key:api_secret@cloud_name"
}
},
"cloudinary-env-config": {
"command": "npx",
"args": ["-y", "--package", "@cloudinary/environment-config", "--", "mcp", "start"],
"env": {
"CLOUDINARY_URL": "cloudinary://api_key:api_secret@cloud_name"
}
},
"cloudinary-smd": {
"command": "npx",
"args": ["-y", "--package", "@cloudinary/structured-metadata", "--", "mcp", "start"],
"env": {
"CLOUDINARY_URL": "cloudinary://api_key:api_secret@cloud_name"
}
},
"cloudinary-analysis": {
"command": "npx",
"args": ["-y", "--package", "@cloudinary/analysis", "--", "mcp", "start"],
"env": {
"CLOUDINARY_URL": "cloudinary://api_key:api_secret@cloud_name"
}
}
}
}
{
"mcpServers": {
"cloudinary-asset-mgmt": {
"command": "npx",
"args": ["-y", "--package", "@cloudinary/asset-management", "--", "mcp", "start"],
"env": {
"CLOUDINARY_CLOUD_NAME": "cloud_name",
"CLOUDINARY_API_KEY": "api_key",
"CLOUDINARY_API_SECRET": "api_secret"
}
}
}
}
{
"mcpServers": {
"cloudinary-asset-mgmt": {
"command": "npx",
"args": [
"-y", "--package", "@cloudinary/asset-management",
"--",
"mcp", "start",
"--cloud-name", "cloud_name",
"--api-key", "api_key",
"--api-secret", "api_secret"
]
}
}
}
For MediaFlows, use the following configuration:
{
"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"
}
}
}
}
When running MCP servers locally, authentication can be configured in several ways:
export CLOUDINARY_CLOUD_NAME="cloud_name"
export CLOUDINARY_API_KEY="api_key"
export CLOUDINARY_API_SECRET="api_secret"
export CLOUDINARY_URL="cloudinary://api_key:api_secret@cloud_name"
Pass credentials directly as arguments (see configuration examples above)
You can find your Cloudinary credentials in your Cloudinary Console Dashboard under Settings > Security.
We're continuing to add more functionality to these MCP servers. If you'd like to leave feedback, file a bug or provide a feature request, please open an issue on this repository.
"Claude's response was interrupted..."
If you see this message, Claude likely hit its context-length limit and stopped mid-reply. This happens most often on servers that trigger many chained tool calls such as the asset management server with large asset listings.
To reduce the chance of running into this issue:
Authentication Issues
Ensure your Cloudinary credentials are correctly configured and have the necessary permissions for the operations you're trying to perform.
Some features may require a paid Cloudinary plan. Ensure your Cloudinary account has the necessary subscription level for the features you intend to use, such as:
Licensed under the MIT License. See LICENSE file for details.
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "cloudinary-asset-mgmt": { "command": "npx", "args": [ "-y", "--package", "@cloudinary/asset-management", "--", "mcp", "start" ], "env": { "CLOUDINARY_URL": "<YOUR_CLOUDINARY_URL>" } }, "cloudinary-env-config": { "command": "npx", "args": [ "-y", "--package", "@cloudinary/environment-config", "--", "mcp", "start" ], "env": { "CLOUDINARY_URL": "<YOUR_CLOUDINARY_URL>" } }, "cloudinary-structured-metadata": { "command": "npx", "args": [ "-y", "--package", "@cloudinary/structured-metadata", "--", "mcp", "start" ], "env": { "CLOUDINARY_URL": "<YOUR_CLOUDINARY_URL>" } }, "cloudinary-analysis": { "command": "npx", "args": [ "-y", "--package", "@cloudinary/analysis", "--", "mcp", "start" ], "env": { "CLOUDINARY_URL": "<YOUR_CLOUDINARY_URL>" } } } }
Discover more MCP servers with similar functionality and use cases
by daytonaio
Provides a secure, elastic sandbox environment for executing AI‑generated code with isolated runtimes and sub‑90 ms provisioning.
by awslabs
Specialized servers that expose AWS capabilities through the Model Context Protocol, allowing AI assistants and other applications to retrieve up‑to‑date AWS documentation, manage infrastructure, query services, and perform workflow automation directly from their context.
by awslabs
AWS MCP Servers allow AI agents to interact with and manage a wide range of AWS services using natural language commands. They enable AI-powered cloud management, automated DevOps, and data-driven insights within the AWS ecosystem.
by cloudflare
Remote Model Context Protocol endpoints that let AI clients read, process, and act on data across Cloudflare services such as Workers, Radar, Observability, and more.
by supabase-community
Enables AI assistants to interact directly with Supabase projects, allowing them to query databases, fetch configuration, manage tables, and perform other project‑level operations.
by Azure
azure-mcp is a server that implements the Model Context Protocol (MCP) to connect AI agents with Azure services. It allows developers to interact with Azure resources like Storage, Cosmos DB, and the Azure CLI using natural language commands within their development environment.
by Flux159
MCP Server for Kubernetes management commands, enabling interaction with Kubernetes clusters to manage pods, deployments, and services.
by strowk
Provides a Golang‑based server that enables interaction with Kubernetes clusters via prompts, allowing listing of contexts, namespaces, resources, nodes, pods, events, logs, and executing commands inside pods.
by jamsocket
Run arbitrary Python code securely in persistent, stateful sandboxes that remain available indefinitely.