Automate Cloudinary media management workflows -- create folders, configure upload presets, look up assets, manage transformations, search folders, and monitor usage -- all through natural language.
Toolkit docs: composio.dev/toolkits/cloudinary
https://rube.app/mcp
Create folder structures for organizing hosted images, videos, and raw files.
Tool: CLOUDINARY_CREATE_FOLDER
Key parameters:
folder -- full path of the new asset folder (required), e.g., images/events/2023
Supporting tools:
CLOUDINARY_SEARCH_FOLDERS -- search folders by name, path, or creation date using Lucene-like expressions
expression -- search filter (e.g., name:sample AND path:events)max_results -- 1-500 results (default 50)sort_by -- list of sort objects (e.g., [{"created_at": "desc"}])next_cursor -- pagination cursorCLOUDINARY_GET_RESOURCES_BY_ASSET_FOLDER -- list assets within a specific folderExample prompt:
"Create a folder called 'marketing/campaigns/spring-2026' in Cloudinary"
Define centralized upload behavior including target folder, allowed formats, transformations, tags, and overwrite rules.
Tool: CLOUDINARY_CREATE_UPLOAD_PRESET
Key parameters:
name -- preset name (auto-generated if omitted)folder -- target folder path for uploads (e.g., samples/)allowed_formats -- comma-separated list (e.g., jpg,png,webp)tags -- comma-separated tags to apply (e.g., marketing,thumbnail)transformation -- incoming transformation (e.g., c_limit,w_500)eager -- eager transformations to generate on upload (e.g., c_fill,g_face,h_150,w_150)unsigned -- allow unsigned uploads (true/false)overwrite -- overwrite existing assets with same public_id (cannot be true when unsigned=true)resource_type -- image, video, or raw (default image)unique_filename -- append random suffix to avoid collisions (default true)use_filename -- use original filename (default false)moderation -- moderation type: manual, webpurify, aws_rek, etc.auto_tagging -- confidence threshold 0.0-1.0 for AI auto-taggingnotification_url -- webhook URL for upload notificationsExample prompt:
"Create an upload preset called 'product-images' that only allows JPG and PNG, stores in 'products/' folder, and auto-tags with 0.7 confidence"
Retrieve full details for a specific asset by its public ID, including metadata, derived assets, and related resources.
Tool: CLOUDINARY_GET_RESOURCE_BY_PUBLIC_ID
Key parameters:
public_id -- the asset's public ID (required)resource_type -- image, video, or raw (required)type -- delivery type: upload, private, authenticated, fetch, etc. (required)colors -- include color histogram and predominant colorsfaces -- include detected face coordinatesmedia_metadata -- include IPTC, XMP, and detailed metadataquality_analysis -- include quality analysis scoresphash -- include perceptual hash for similarity detectionversions -- include backed-up versionsrelated -- include related assetsmax_results -- max derived/related assets to return (1-500)Example prompt:
"Get full details for the image 'products/hero-banner' including color analysis and quality scores"
List existing transformations, apply eager transformations to uploaded assets, and clean up derived resources.
Tools:
CLOUDINARY_GET_TRANSFORMATIONS -- list all named and unnamed transformations
max_results -- 1-500 (default 10)next_cursor -- pagination cursorCLOUDINARY_EXPLICIT_RESOURCE -- update an existing asset: pre-generate transformations, update metadata, move to new folders, or modify tags
public_id -- target asset (required)eager -- list of transformation strings to pre-generate (e.g., ["c_fill,w_300,h_200", "c_thumb,w_100,h_100,g_face"])eager_async -- generate transformations asynchronouslytags -- replace existing tagsasset_folder -- move asset to a new folderdisplay_name -- set display namecontext -- key-value metadata (e.g., {"alt": "Mountain view"})invalidate -- invalidate CDN cache (takes up to 1 hour)CLOUDINARY_DELETE_DERIVED_RESOURCES -- delete specific derived assets by IDs (up to 100 per call)Example prompt:
"Pre-generate a 300x200 fill crop and a 100x100 face-detection thumbnail for asset 'products/hero-banner'"
Check account-level usage limits, environment configuration, and tag inventory.
Tools:
CLOUDINARY_GET_USAGE -- monitor storage, bandwidth, requests, and quota limitsCLOUDINARY_GET_CONFIG -- fetch environment config details
settings -- set to true to include configuration settings like folder_mode
CLOUDINARY_GET_TAGS -- list all tags for a resource typeExample prompt:
"Show me my Cloudinary account usage and remaining quota"
Create webhook notifications for specific Cloudinary events.
Tool: CLOUDINARY_CREATE_TRIGGER
Use to receive callbacks when uploads complete, transformations finish, or other events occur.
Example prompt:
"Create a webhook trigger that notifies https://my-app.com/hook on upload events"
| Pitfall | Details |
|---|---|
| Folder creation idempotency | CLOUDINARY_CREATE_FOLDER may error or no-op if the path already exists -- design idempotent folder naming |
| Preset-upload alignment | Upload preset options like allowed_formats, folder, and unsigned must match the actual upload method or uploads will be rejected |
| Strict asset lookup | CLOUDINARY_GET_RESOURCE_BY_PUBLIC_ID fails if any of resource_type, type, or public_id is incorrect, even when the asset exists |
| Folder path sensitivity | CLOUDINARY_GET_RESOURCES_BY_ASSET_FOLDER only lists assets in the exact folder specified; typos return empty results |
| Quota blocking | CLOUDINARY_GET_USAGE reflects account-level limits -- hitting caps silently blocks uploads until usage is checked and addressed |
| CDN invalidation delay | Setting invalidate=true on CLOUDINARY_EXPLICIT_RESOURCE takes up to 1 hour to propagate |
| Unsigned vs overwrite conflict | Cannot set overwrite=true when unsigned=true in upload presets |
| Action | Tool Slug | Key Params |
|---|---|---|
| Create folder | CLOUDINARY_CREATE_FOLDER |
folder |
| Search folders | CLOUDINARY_SEARCH_FOLDERS |
expression, max_results |
| List folder assets | CLOUDINARY_GET_RESOURCES_BY_ASSET_FOLDER |
folder path |
| Create upload preset | CLOUDINARY_CREATE_UPLOAD_PRESET |
name, folder, allowed_formats, tags |
| Get asset details | CLOUDINARY_GET_RESOURCE_BY_PUBLIC_ID |
public_id, resource_type, type |
| List transformations | CLOUDINARY_GET_TRANSFORMATIONS |
max_results, next_cursor |
| Update/transform asset | CLOUDINARY_EXPLICIT_RESOURCE |
public_id, eager, tags |
| Delete derived assets | CLOUDINARY_DELETE_DERIVED_RESOURCES |
derived_resource_ids |
| Get usage | CLOUDINARY_GET_USAGE |
(none) |
| Get config | CLOUDINARY_GET_CONFIG |
settings |
| List tags | CLOUDINARY_GET_TAGS |
resource_type |
| Create webhook | CLOUDINARY_CREATE_TRIGGER |
event type, URL |
Powered by Composio