by cloudinary
Provides a suite of Model Context Protocol servers that enable AI‑driven upload, transformation, analysis, and workflow automation of media assets on Cloudinary.
Cloudinary MCP Servers expose Cloudinary's full media management capabilities through standardized MCP endpoints, allowing conversational AI tools to interact with assets, configurations, metadata, analysis services, and low‑code workflow automation.
CLOUDINARY_URL
(or individual env vars) with your Cloudinary cloud name, API key, and secret.npx
command; for remote servers simply point your client to the supplied URL.Q: Do I need to install anything to use the remote servers? A: No. Remote servers are hosted by Cloudinary; just configure the endpoint URL and authentication.
Q: Which command should I use for local servers?
A: The recommended approach is npx
with the appropriate package, e.g., npx -y --package @cloudinary/asset-management -- mcp start
.
Q: How are credentials supplied?
A: You can set CLOUDINARY_URL
(preferred) or individual env vars CLOUDINARY_CLOUD_NAME
, CLOUDINARY_API_KEY
, CLOUDINARY_API_SECRET
.
Q: Can I run multiple MCP servers simultaneously? A: Yes. Each server runs on its own port; configure them independently in your client.
Q: Are there any paid features? A: Advanced AI analysis, high‑volume usage, custom metadata, and premium transformations may require a paid Cloudinary plan.
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": "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-structured-metadata": { "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>" } } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by awslabs
Provides specialized servers that expose AWS capabilities through the Model Context Protocol, enabling AI assistants to retrieve up-to-date documentation, execute API calls, and automate infrastructure workflows directly within development environments.
by cloudflare
Provides a collection of Model Context Protocol servers that enable MCP‑compatible clients to interact with Cloudflare services such as Workers, Observability, Radar, and more, allowing natural‑language driven management of configurations, data, and operations.
by Flux159
Connects to a Kubernetes cluster and offers a unified MCP interface for kubectl, Helm, port‑forwarding, diagnostics, and non‑destructive read‑only mode.
by TencentEdgeOne
Deploy HTML, folders, or zip archives to EdgeOne Pages and instantly obtain a public URL for fast edge delivery.
by rishikavikondala
Provides Model Context Protocol tools for performing AWS S3 and DynamoDB operations, with automatic logging and audit access via the `audit://aws-operations` endpoint.
by confluentinc
Enables AI assistants to manage Confluent Cloud resources such as Kafka topics, connectors, and Flink SQL statements through natural‑language interactions.
by aliyun
Enables AI assistants to operate Alibaba Cloud resources such as ECS, Cloud Monitor, OOS and other services through seamless integration with Alibaba Cloud APIs via the Model Context Protocol.
by aws-samples
Retrieve PDF documents and other S3 objects through Model Context Protocol resources, enabling LLMs to pull data directly from AWS S3 buckets.
by kocierik
Connects to HashiCorp Nomad and exposes Model Context Protocol endpoints for job, deployment, node, allocation, variable, volume, ACL, Sentinel, and cluster management via a Go‑based server.