Image & Video APIs

Cloudinary MCP servers and LLM tools (Beta)

Last updated: Jun-30-2025

Cloudinary provides tools that enable AI agents to apply Cloudinary operations in your product environment and generate code that integrates Cloudinary functionality into your applications. Agents can configure environments, upload assets, manage assets and metadata, apply transformations, perform analysis, and more.

Tools include:

  • MCP servers: Local endpoints that expose Cloudinary capabilities to AI agents for performing operations and generating code.
  • LLM-friendly docs: Structured references and tools that help language models generate accurate Cloudinary code and workflows.
  • Base44 integration: A pre-built integration that you can add when creating apps using Base44 that enables you to incorporate Cloudinary functionality in your no-code apps.

Important
Cloudinary's MCP (Model Context Protocol) servers, LLM-friendly docs, and Base44 integration are now available as a Beta. This is an early stage release, and while it's functional and ready for real-world testing, it's subject to change as we continue refining the experience based on what we learn, including your feedback.

During the Beta period, core functionality is considered stable, though some APIs, scopes, or response formats may evolve. We'll also be expanding the documentation with additional examples, best practices, and implementation tips.

How you can help:

  • Use the MCP server in real projects, prototypes, or tests.
  • Share feedback, issues, or ideas with our support team.

Thank you for exploring this early release and helping us shape these tools to best meet your needs.

MCP servers

The Cloudinary MCP servers enable you to upload, manage, transform, and analyze your media assets as well as configure your product environment and create structured metadata or use MediaFlows.

Available MCP servers

MCP Server Description Add to Cursor
Asset Management Upload and manage images, videos, and raw files, with support for advanced search and filtering. Easily delete or rename assets and take advantage of folders and tags for better organization. Add Cloudinary Asset Management MCP Server to Cursor
Environment Config Manage product environment entities including upload presets, upload mappings, named transformations, webhook notifications, and streaming profiles. Add Cloudinary Environment Config MCP Server to Cursor
Structured Metadata Define and manage structured metadata fields, values, and conditional metadata rules. Add Cloudinary Structured Metadata MCP Server to Cursor
Analysis Leverage AI-powered content analysis for automatic tagging, along with tools for content moderation, safety checks, object detection, recognition, and more. Add Cloudinary Analyze MCP Server to Cursor
MediaFlows Create and manage automations in MediaFlows to automate media processing and delivery. For details, refer to the MediaFlows MCP server documentation. Add Cloudinary MediaFlows MCP Server to Cursor

Installation

You can install and run the Cloudinary MCP servers using npm packages.

Make sure you have Node.js (v18 or later) and npm installed before configuring them.

  1. Add the MCP server configurations shown below into your LLM client's MCP server settings json file. For more detailed guidance, see our tool-specific instructions.
  2. Update your cloud name, API key, and API secret for each server you add. You can find these credentials in the Settings > API Keys page in the Console.

Tip
We recommend you add all the Cloudinary MCP servers for easy access, but disable the servers and/or tools you don't currently need to limit context usage, reduce errors and improve prompt targeting.

LLM-friendly docs

Alongside Cloudinary's MCP servers, we also recommend that you take advantage of the following Cloudinary documentation resources to get the optimal results when coding with LLM clients.

Cloudinary in Context7

Context7 is a widely used MCP server for developer documentation code examples (with over 17,000 dev libraries indexed), including Cloudinary docs. It regularly pulls every code example for every SDK from the Cloudinary docs and makes it available to your LLM for reference.

When you use Context7 as part of your Cloudinary-specific LLM prompts, you ensure that your LLM has up-to-date code examples for the latest Cloudinary features and that your LLM client generates more accurate and relevant code for your use-case.

To use Context7 with Cloudinary:

  1. Ensure you've added the Context7 MCP to your MCP-supporting LLM client. For instructions, see the Context7 MCP README.
  2. When you ask your LLM to write Cloudinary code, append use context7 to the end of your prompt.

Cloudinary transformation rules

cloudinary_transformation_rules.md is a rules-based markdown file that helps LLMs generate syntactically correct, hallucination-free Cloudinary transformations.

Even with all the great content and code examples on the web, LLMs (and even the most experienced Cloudinary developers) sometimes struggle to write syntactically correct transformations, especially for more complex use cases.

By adding this new transformation rules markdown file as documentation context for your transformation-related prompts, your LLM client will generally produce more accurate transformations and will only use valid transformation parameters and options that are part of the official Cloudinary documentation.

To use the cloudinary_transformation_rules.md file:

When writing a prompt related to Cloudinary transformations, add the cloudinary_transformation_rules.md file as a documentation context for your prompt.

See also: How to add context files as documentation context

Cloudinary docs as context

The Cloudinary docs site is available in it's standard HTML format as well as in markdown format with an accompanying llms.txt file.

Because the docs explain how to choose between similar features, give clarity on how to use features together to achieve use cases, and include important tips, troubleshooting, and guidelines for achieving best results, providing relevant Cloudinary documentation as context in addition to using Context7 and the transformation rules file mentioned above is more likely to help the LLM model provide the right code or answers.

There are a few ways you can do this:

  • Add a specific markdown doc page: If you know which docs page(s) cover the relevant information, you can directly provide those markdown pages as context for your request.
  • Add the llms.txt files as context: If you want the LLM to use the whole docs site as context, and the LLM client you're using correctly processes llms.txt files that point to markdown files, the llms.txt file is the most efficient way to use the entire Cloudinary documentation set as context.
  • Add the HTML version of the docs site as context: If your LLM client doesn't yet process llms.txt files that point to markdown files, you can provide the HTML version of the Cloudinary docs site as context. While not as efficient as the above options, it provides the same overall benefits.

See also: How to add context files as documentation context

Docs site markdown pages

In addition to the standard Cloudinary docs website, every Cloudinary doc page is also published as a clean, LLM-friendly markdown page. These markdown pages enable LLM-based IDEs and chat clients to process and consume content more efficiently, using a minimum of tokens. Thus, if you want your LLM client to build code or answer questions based on a specific documentation page (rather than its previously trained data or a general web search), you can provide it the relevant markdown page(s) as context.

To use specific Cloudinary docs markdown pages:

  1. Append an *.md extension to any Cloudinary doc page.

    For example, the markdown for this doc page can be found at https://cloudinary.com/documentation/cloudinary_llm_mcp.md

  2. Specify the relevant markdown URL as context in your LLM-client.

    If you're working with a chat client that doesn't support remote URLs, download the markdown file and upload it for context with your prompt.

llms.txt

The Cloudinary docs site includes an llms.txt file that structurally references all the docs site markdown files.

If your LLM client supports processing llms.txt files that point to markdown files, you can pass the Cloudinary docs llms.txt file as context for your Cloudinary-specific prompts.

This enables the LLM client to choose the markdown pages it finds relevant to help the model form its answer.

Note
llms.txt is a proposed standard for helping LLMs identify and process website content. Different LLM tools support and/or process llms.txt files differently and the way they use it may change over time. Check with your LLM tool documentation for information on whether or how to use llms.txt files. Learn more about llms.txt.

HTML docs site as context

In case your LLM client doesn't yet support processing llms.txt files that point to markdown files (doesn't automatically index all the files referenced from the llms.txt), you can add the entire https://cloudinary.com/documentation website as context and your tool can crawl the website from there.

How to add documentation context files

When you add a document or set of documents as context for an LLM, the file is parsed and chunked, and stored in a vector database. This enables the LLM to analyze your prompt, pull the most relevant chunked vectors and address your question as if it had 'read' the document(s).

Each LLM client has a different way to add a document as context. In some cases, it only stores your content in the vector database temporarily and in other cases they are indexed into persistent stores for repeated use.

Below are instructions for how to add a document as context in some commonly used LLM tools.

Note
These instructions are accurate as of the publication of this page. However LLM tools are updating regularly and the process may change over time. Refer to your tool's documentation for most reliable instructions.

Tips and considerations

  • MCP servers and LLM tools in general aren't always consistent. A prompt or question you write today may yield different results tomorrow.
  • Given the option, use the most advanced LLM model available. The better the LLM model, the better your results will be.
  • If there are alternative ways to achieve an aim, but you want to use Cloudinary functionality, explicitly tell the LLM to use Cloudinary.
  • In some MCP clients, there's no need to reference an MCP server directly in a prompt if the server is enabled.
  • When prompting for SDK-based code (e.g., Node, Python), include use Context7 at the end of your prompt for more accurate, context-aware output (see Cloudinary in Context7).
  • When asking for transformation logic, include cloudinary_transformation_rules.md as a document context (see Cloudinary transformation rules).
  • When asking the LLM to implement a broad use-case or to answer a question (vs requesting to implement a very specific feature or implement specific SDK code), provide the relevant Cloudinary docs site markdown page(s) or the entire Cloudinary docs site (via llms.txt or HTML URL) as context. (See [Cloudinary docs as context(#cloudinary_docs_as_context)])
  • Enable any required add-ons in the Add-ons section of Console Settings before referencing them in prompts.
  • If the functionality you need requires activation of certain Console settings, such as allowing features that might be disabled by default in the Security Settings, make sure those are enabled before asking the LLM to perform them.
  • Let the model know whether your cloud uses dynamic or fixed folder mode.
  • When managing metadata, mention specific fields or tagging strategies you'd like the tool to use or apply.

Use cases and examples

Here are some examples prompts that you can use for inspiration:

  • "Upload assets from the 'summer_campaign' folder within my project. Auto-tag all the images using the Google auto-tagging add-on."
    Note
    Remember to first register for the add-on.
  • "Implement a client-side upload in my app that allows users to upload user-generated content. Use Cloudinary's WebPurify add-on to moderate those assets."
  • "Return the URLs of all assets that have the tag 'transparent'."
  • "Add the value 'Expired' to the metadata field 'Status' for assets with SKUs '123789', '998y285', and '825168'."
  • "Delete all assets tagged with 'campaign-2024'."
  • "Create a signed upload preset that allows image uploads, marks access control as 'restricted', and generates eager transformations to size the images for mobile devices."
  • "Create a named transformation called 'secure' that places the asset with product ID 'my-company-logo' as a watermark in the center of all assets with 50% opacity."

Base44 integration

Base44 is a no-code automation agent that has a Cloudinary integration with preloaded knowledge of Cloudinary's features and direct access to MCP servers. Use it to quickly create full apps with natural language prompts.

Important
The integration uses backend functionality, which is currently available only for users on the Base44 Builder or higher plan.

Getting started

Here are the steps to set up and start using the Base44 Cloudinary integration:

  1. Go to the Base44 Cloudinary Integration from the integrations catalog.
  2. Click Use this integration.
  3. Scroll down to fill in your CLOUDINARY_CLOUD_NAME, CLOUDINARY_API_KEY, and CLOUDINARY_API_SECRET in the corresponding fields. You can find these credentials on the API Keys page of the Console Settings.
  4. Add your prompt and click on the submit button.

Tip
In each request, make sure to ask it to use Cloudinary if you want Cloudinary functionality included.

Video tutorial

Watch a short video to help you get started with Cloudinary and Base44. It includes setup instructions along with example apps to inspire your own no-code workflows.

Supported Cloudinary functionalities

Using the Cloudinary Base44 integration, you can create apps that implement the following Cloudinary functionalities:

  • Upload an image or video from the local directory or using a remote URL.
  • Retrieve asset information.
  • Update assets, including tags and metadata, and perform moderation.
  • Retrieve assets from a specific folder.
  • Search for assets.
  • List folders.
  • Retrieve metadata fields.
  • Retrieve tags.
  • Apply transformations to assets.

In addition, you can integrate the following widgets:

  • Upload Widget
  • Media Library Widget
  • Cloudinary Video Player

Important
You can attempt to use other Cloudinary features in your Base44 apps via the integration, but they may not work as expected. Please contact our support team to let us know which additional functionalities you'd like us to support.

Tips

  • Enable any required add-ons in the Add-ons section of Console Settings before referencing them in your prompt.
  • Be explicit that you want to use Cloudinary for a task, even if you've already mentioned it earlier.
  • If you want to use a Cloudinary widget, clearly specify this in your prompt and name the widget (e.g., Upload Widget, Media Library Widget).
  • Some tasks such as moderating or auto-tagging videos require processing time and may not be available immediately after upload. Your app may need to either wait for a webhook notification or include a follow-up user action (e.g., clicking a refresh button) to display the updated data.
  • To use an image or video overlay, the asset must already exist in your product environment. Reference the overlay asset in the prompt using its public ID.
  • If errors come up during the generation process, click the prompt to let the AI attempt to resolve them.
  • After your app is generated, you can continue refining it by adding additional prompt details.

Example prompts and apps

Below are example prompts and the apps they generated, to give you a sense of what's possible. Keep in mind that MCP servers may not always produce consistent results, and repeating the same prompt can yield different outcomes over time.

App Description Prompt
LuxeFind Display accessory product images on a PDP. Create an e-commerce app using Cloudinary. Show assets from the Accessories folder in a grid, along with their metadata: Price, Description, and SKU (external IDs: price_id, description_id, and sku_id). Add a preview icon that opens a Quick View modal. Use Cloudinary's resize and crop transformations to ensure the images fully fill the modal space.
PixelCraft Crop and resize an image uploaded to Cloudinary. Develop a one-page image editing tool where users can upload an image to Cloudinary. Display the image in an editing area with controls for cropping and resizing using Cloudinary's image transformation options. Apply the selected transformations and provide an option to download the edited image.
NewsHub Share news stories with an image or video. Create an app that lets users upload news stories with an image or video. Use the Cloudinary Upload Widget configured to accept both media types. Tag uploaded assets by the story name. Display all stories in a grid layout, including the new one. Use Cloudinary's crop and resize options to fit assets into their bounding boxes while keeping the focus on key content.
CloudSearch & Mark Apply watermarks to selected assets for third-party viewing. Create an app that prompts the user for a search term. Search Cloudinary for assets with a matching public ID, display name, tag, or folder name. Display matching assets in a grid. Overlay the cloudinary_logo asset as a centered watermark with 40% opacity. Ensure consistent image sizing and even logo placement.
Note: The cloudinary_logo watermark already exists in the Cloudinary product environment.

✔️ Feedback sent!

Rate this page: