Cloudinary MCP Server announced! I created eye-catching images for DevIO blog using natural language

Cloudinary MCP Server announced! I created eye-catching images for DevIO blog using natural language

2025.07.02

This page has been translated by machine translation. View original

I'm Konishi from the Berlin office.

Cloudinary, the image management and delivery SaaS, has announced a new MCP (Model Context Protocol) Server. This will enable AI agents like Claude Desktop to operate Cloudinary's functions through natural language.

In this article, I'll share my experience testing Cloudinary MCP with Claude Desktop.

What is Cloudinary MCP?

Cloudinary's MCP Server is a tool that allows AI agents to operate Cloudinary's image and video APIs using natural language. Processes that traditionally required implementation using SDKs, APIs, or GUIs can now be executed with conversational instructions like "upload an image" or "add metadata."

Key Features and MCP Servers

Cloudinary MCP provides dedicated MCP servers for specific functions, each allowing specialized operations via natural language:

  • Asset Management: Upload, manage, and search for images, videos, and other files
  • MediaFlows: Manage automated media processing workflows
  • Analyze: AI-powered image and video analysis
  • Environment Config: Configure cloud environments and manage production environments
  • Structured Metadata: Structured management of metadata fields and improved searchability

These dedicated servers allow you to select and use only the functions you need for your purposes. All operations can be executed using natural language and are available even with Cloudinary's free plan.

Usage Example: Retrieving Images with Natural Language

I set up Cloudinary MCP in Claude Desktop and tried the following:

Please retrieve the latest image from my Cloudinary account and tell me the URL.

I've retrieved the latest image. Here are the details:

Image URL: https://devio2024-media.developers.io/image/upload/v1751379667/user-gen-eyecatch/jztoze3jhrbh7afldqp1.png

Image information:

- Upload date/time: July 1, 2025, 14:21:07 (UTC)
- Format: PNG
- Size: 1200×630 pixels
- File size: approximately 547KB
- Folder: user-gen-eyecatch

With just this instruction, Claude Desktop retrieved the latest image from my Cloudinary account.

Looking at the response from Cloudinary, it includes the image URL and meta information.

{
	"resources": [
		{
			"assetId": "be24255331f8a3207a2038a98657a918",
			"publicId": "sample/jztoze3jhrbh7afldqp1",
			"folder": "sample",
			"format": "png",
			"version": 1751379667,
			"resourceType": "image",
			"type": "upload",
			"createdAt": "2025-07-01T14:21:07.000Z",
			"bytes": 560515,
			"width": 1200,
			"height": 630,
			"backup": true,
			"accessMode": "public",
			"url": "http://devio2024-media.developers.io/image/upload/v1751379667/sample.png",
			"secureUrl": "https://devio2024-media.developers.io/image/upload/v1751379667/sample.png"
		}
	],
	"nextCursor": "e1d2472f32be7dbfed22025271d01723af71a39013cdc84055b162f077e5c399"
}

Setup Method

Basic setup steps for using Cloudinary MCP with Claude Desktop:

  1. Prerequisites: Node.js (v18 or later) and npm
  2. Get your cloud name, API key, and API secret from Cloudinary Console (Settings > API Keys)
  3. Add the necessary information to the MCP server configuration file

For Claude Desktop, edit the claude_desktop_config.json file and add the following settings:

{
  "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"
      }
    },
    "cloudinary-env-config": {
      "command": "npx",
      "args": ["-y", "--package", "@cloudinary/environment-config", "--", "mcp", "start"],
      "env": {
        "CLOUDINARY_CLOUD_NAME": "cloud_name",
        "CLOUDINARY_API_KEY": "api_key",
        "CLOUDINARY_API_SECRET": "api_secret"
      }
    },
    "cloudinary-smd": {
      "command": "npx",
      "args": ["-y", "--package", "@cloudinary/structured-metadata", "--", "mcp", "start"],
      "env": {
        "CLOUDINARY_CLOUD_NAME": "cloud_name",
        "CLOUDINARY_API_KEY": "api_key",
        "CLOUDINARY_API_SECRET": "api_secret"
      }
    },
    "cloudinary-analysis": {
      "command": "npx",
      "args": ["-y", "--package", "@cloudinary/analysis", "--", "mcp", "start"],
      "env": {
        "CLOUDINARY_CLOUD_NAME": "cloud_name",
        "CLOUDINARY_API_KEY": "api_key",
        "CLOUDINARY_API_SECRET": "api_secret"
      }
    }
  }
}

After configuration, restart Claude Desktop to make the MCP servers available.

For detailed setup instructions, refer to Cloudinary's official documentation.

Generating a Featured Image

Using Cloudinary MCP, it's also possible to automatically generate featured images for this blog.

Prompt and Result

Prompt:

I want to upload a thumbnail for a blog post to Cloudinary. I have a transparent logo image at the following location:

/Users/ryo/Dev/logo_classmethod.png

Please create a thumbnail using Cloudinary's transformation features with the following specifications:
* Thumbnail size is 1200x610px
* Place the logo in the center with plenty of margin on all sides
* Fill the background with white
* Use c_lpad for the transformation

https://devio2024-media.developers.io/image/upload/c_lpad,w_1200,h_610,b_white/v1751386256/2025/07/01/hwx2q1xntkdqbfuf0moc.png

blog_logo_classmethod (1)

The creation of a thumbnail-like image was successful.

With just these natural language instructions, MCP generates and executes the appropriate transformation parameters.

Understanding Image Transformation Parameters

Cloudinary uses URL parameters for modifying and transforming original images, so you can understand what transformations are being applied by reading the path.

  • Overall image size specification: w_1200,h_610 adjusts the width and height
  • Background color specification: b_white sets the background to "white"

In particular, c_lpad is a parameter that performs Letter/Pillar Box Padding transformation:

  • Aspect ratio preservation: Adjusts to the maximum size that fits within the specified canvas while maintaining the original aspect ratio
  • Automatic centering: Centers the image within the specified canvas
  • Background padding: Fills the margin area with the specified color (default is black, can be set to white with b_white)

Also, in Cloudinary's case, these transformed images are generated dynamically, so only the original logo image occupies storage.

For example, if you want to make the centered logo image a bit larger, you can do so by just changing the parameters. There's no need to duplicate the image or upload a new one, which is convenient.

To specify the width of the centered logo image as 1000px:

https://devio2024-media.developers.io/image/upload/c_scale,w_1000/c_lpad,w_1200,h_610,b_white/v1751386256/2025/07/01/hwx2q1xntkdqbfuf0moc.png

Other Practical Prompt Examples

Here are some examples of prompts you can actually use with Cloudinary MCP.

Asset Management and Tagging

Upload assets from the local `summer_campaign` folder and automatically tag all images

Search and Retrieval

Return the URLs of all assets tagged with `transparent`

Metadata Management

Add the value 'Expired' to the 'Status' metadata field for assets where the `SKU` metadata field value is one of '123789', '998y285', or '825168'

Deletion Operations

Delete all assets tagged with 'campaign-2020'

Upload Settings

Create a signed upload preset that allows image uploads, sets access control to 'restricted', and generates eager transformations for mobile devices

Transformation and Watermarking

Create a transformation named 'secure' that places the asset with product ID 'my-company-logo' as a watermark in the center with 50% opacity

While understanding control parameters and their syntax was necessary to perform rich transformations in Cloudinary, MCP makes this work much easier.

Important Point to Note: Permission Management Challenges

MCP server groups are basically designed with the assumption of CRUD (Create, Read, Update, Delete) permissions for the Cloudinary account. If you want to restrict permissions, it's recommended to create a dedicated sub-account or a user with limited permissions and use that user's API key. In actual operation, careful permission management is necessary, such as considering using a development account that is separate from the production environment.

Also, Cloudinary's three pieces of information - cloud name, API key, and API secret - must always be used as a set. When changing the target cloud, make sure to change the API key & secret accordingly.

Summary

Cloudinary MCP is a tool that makes image and video processing more accessible and intuitive. I feel it's a technology that greatly contributes to development efficiency and improves image processing accessibility for non-engineers.

It is currently provided as a beta version, and further function expansion and improvements are expected in the future. Additionally, Cloudinary plans to hold an MCP Server Challenge this summer, which all Cloudinary users can participate in and have a chance to win prizes. Why not give it a try?

References

Share this article

FacebookHatena blogX

Related articles