Cloudinary MCP Server for Cloudflare Workers
67 tools available in the Cloudinary MCP server. Each tool can be called by AI assistants to perform specific actions.
cloudinary_list_metadata_rulesList all metadata rules.
Metadata rules automatically apply metadata based on conditions.
Args:
{
"type": "object",
"properties": {}
}cloudinary_publish_resourcesPublish resources (make them available via CDN).
Args:
{
"type": "object",
"required": [
"publicIds"
],
"properties": {
"publicIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Public IDs"
}
}
}cloudinary_get_usageGet usage statistics for your Cloudinary account.
Returns information about:
Args:
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date for historical usage"
}
}
}cloudinary_get_configGet your Cloudinary account configuration settings.
Returns account settings including folder mode, security settings, and more.
Args:
{
"type": "object",
"properties": {}
}cloudinary_list_resource_typesList all resource types in your account (typically: image, video, raw).
Args:
{
"type": "object",
"properties": {}
}cloudinary_update_access_mode_by_prefixUpdate the access mode for all resources matching a prefix.
Args:
{
"type": "object",
"required": [
"prefix",
"accessMode"
],
"properties": {
"prefix": {
"type": "string",
"description": "Public ID prefix"
},
"accessMode": {
"enum": [
"public",
"authenticated"
],
"type": "string",
"description": "New access mode"
}
}
}cloudinary_update_access_mode_by_tagUpdate the access mode for all resources with a specific tag.
Args:
{
"type": "object",
"required": [
"tag",
"accessMode"
],
"properties": {
"tag": {
"type": "string",
"description": "Tag to match"
},
"accessMode": {
"enum": [
"public",
"authenticated"
],
"type": "string",
"description": "New access mode"
}
}
}cloudinary_update_access_mode_by_idsUpdate the access mode for specific resources by their public IDs.
Args:
{
"type": "object",
"required": [
"publicIds",
"accessMode"
],
"properties": {
"publicIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Public IDs"
},
"accessMode": {
"enum": [
"public",
"authenticated"
],
"type": "string",
"description": "New access mode"
}
}
}cloudinary_analyzeRun AI analysis on a resource.
Requires AI add-ons to be enabled.
Args:
{
"type": "object",
"required": [
"uri",
"analysisType"
],
"properties": {
"uri": {
"type": "string",
"description": "Resource URI"
},
"inputType": {
"type": "string",
"default": "uri",
"description": "Input type"
},
"analysisType": {
"type": "string",
"description": "Analysis type"
}
}
}cloudinary_list_foldersList root-level folders in your Cloudinary account.
Args:
{
"type": "object",
"properties": {
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1
},
"nextCursor": {
"type": "string"
}
}
}cloudinary_list_subfoldersList subfolders within a specific folder path.
Args:
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Parent folder path"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1
},
"nextCursor": {
"type": "string"
}
}
}cloudinary_create_folderCreate a new folder at the specified path.
Args:
Note: Parent folders are created automatically if they don't exist.
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Folder path to create"
}
}
}cloudinary_rename_folderRename/move a folder to a new path.
Args:
Note: This updates the folder path for all resources in the folder.
{
"type": "object",
"required": [
"fromPath",
"toPath"
],
"properties": {
"toPath": {
"type": "string",
"description": "New folder path"
},
"fromPath": {
"type": "string",
"description": "Current folder path"
}
}
}cloudinary_delete_folderDelete a folder.
Args:
Note: The folder must be empty before it can be deleted.
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Folder path to delete"
}
}
}cloudinary_list_metadata_fieldsList all structured metadata field definitions.
Args:
{
"type": "object",
"properties": {}
}cloudinary_get_metadata_fieldGet details of a specific metadata field.
Args:
{
"type": "object",
"required": [
"fieldId"
],
"properties": {
"fieldId": {
"type": "string",
"description": "Field external ID"
}
}
}cloudinary_create_metadata_fieldCreate a new structured metadata field.
Args:
{
"type": "object",
"required": [
"label"
],
"properties": {
"label": {
"type": "string",
"description": "Display label"
},
"mandatory": {
"type": "boolean",
"description": "Is required"
},
"externalId": {
"type": "string",
"description": "External ID"
},
"defaultValue": {
"description": "Default value"
}
}
}cloudinary_update_metadata_fieldUpdate an existing metadata field.
Args:
{
"type": "object",
"required": [
"fieldId"
],
"properties": {
"label": {
"type": "string"
},
"fieldId": {
"type": "string",
"description": "Field external ID"
},
"mandatory": {
"type": "boolean"
},
"defaultValue": {}
}
}cloudinary_delete_metadata_fieldDelete a metadata field definition.
Args:
{
"type": "object",
"required": [
"fieldId"
],
"properties": {
"fieldId": {
"type": "string",
"description": "Field external ID"
}
}
}cloudinary_update_metadata_datasourceUpdate the datasource values for an enum/set metadata field.
Args:
{
"type": "object",
"required": [
"fieldId"
],
"properties": {
"fieldId": {
"type": "string",
"description": "Field external ID"
}
}
}cloudinary_delete_datasource_entriesSoft-delete (deactivate) datasource entries for a metadata field.
Args:
{
"type": "object",
"required": [
"fieldId",
"externalIds"
],
"properties": {
"fieldId": {
"type": "string",
"description": "Field external ID"
},
"externalIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Entry external IDs"
}
}
}cloudinary_restore_datasource_entriesRestore (reactivate) previously deleted datasource entries.
Args:
{
"type": "object",
"required": [
"fieldId",
"externalIds"
],
"properties": {
"fieldId": {
"type": "string",
"description": "Field external ID"
},
"externalIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Entry external IDs"
}
}
}cloudinary_reorder_metadata_fieldsReorder metadata fields.
Args:
{
"type": "object",
"required": [
"order"
],
"properties": {
"order": {
"type": "array",
"items": {
"type": "string"
},
"description": "Field external IDs in order"
}
}
}cloudinary_create_metadata_ruleCreate a new metadata rule.
Args:
{
"type": "object",
"required": [
"name",
"condition",
"result"
],
"properties": {
"name": {
"type": "string",
"description": "Rule name"
},
"state": {
"enum": [
"active",
"inactive"
],
"type": "string",
"description": "Rule state"
},
"result": {
"type": "object",
"description": "Result object"
},
"condition": {
"type": "object",
"description": "Condition object"
}
}
}cloudinary_update_metadata_ruleUpdate an existing metadata rule.
Args:
{
"type": "object",
"required": [
"ruleId"
],
"properties": {
"name": {
"type": "string"
},
"state": {
"enum": [
"active",
"inactive"
],
"type": "string"
},
"result": {
"type": "object"
},
"ruleId": {
"type": "string",
"description": "Rule ID"
},
"condition": {
"type": "object"
}
}
}cloudinary_delete_metadata_ruleDelete a metadata rule.
Args:
{
"type": "object",
"required": [
"ruleId"
],
"properties": {
"ruleId": {
"type": "string",
"description": "Rule ID"
}
}
}cloudinary_list_upload_presetsList all upload presets in your Cloudinary account.
Upload presets define default upload options that can be applied to uploads.
Args:
{
"type": "object",
"properties": {
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1
},
"nextCursor": {
"type": "string"
}
}
}cloudinary_get_upload_presetGet details of a specific upload preset.
Args:
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Preset name"
}
}
}cloudinary_create_upload_presetCreate a new upload preset.
Args:
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Preset name"
},
"tags": {
"type": "string",
"description": "Default tags (comma-separated)"
},
"folder": {
"type": "string",
"description": "Default folder"
},
"format": {
"type": "string",
"description": "Default output format"
},
"unsigned": {
"type": "boolean",
"description": "Allow unsigned uploads"
},
"overwrite": {
"type": "boolean"
},
"accessMode": {
"enum": [
"public",
"authenticated"
],
"type": "string"
},
"useFilename": {
"type": "boolean"
},
"transformation": {
"type": "string",
"description": "Default transformation"
},
"uniqueFilename": {
"type": "boolean"
}
}
}cloudinary_update_upload_presetUpdate an existing upload preset.
Args:
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Preset name"
},
"tags": {
"type": "string"
},
"folder": {
"type": "string"
},
"format": {
"type": "string"
},
"unsigned": {
"type": "boolean"
},
"overwrite": {
"type": "boolean"
},
"accessMode": {
"enum": [
"public",
"authenticated"
],
"type": "string"
},
"useFilename": {
"type": "boolean"
},
"transformation": {
"type": "string"
},
"uniqueFilename": {
"type": "boolean"
}
}
}cloudinary_delete_upload_presetDelete an upload preset.
Args:
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Preset name to delete"
}
}
}cloudinary_list_upload_mappingsList all upload mappings.
Upload mappings define auto-upload rules that map folder paths to remote URLs.
Args:
{
"type": "object",
"properties": {
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1
},
"nextCursor": {
"type": "string"
}
}
}cloudinary_get_upload_mappingGet details of a specific upload mapping.
Args:
{
"type": "object",
"required": [
"folder"
],
"properties": {
"folder": {
"type": "string",
"description": "Folder name"
}
}
}cloudinary_create_upload_mappingCreate a new upload mapping for auto-upload.
Args:
Example: folder: "external_images" template: "https://example.com/images/"
{
"type": "object",
"required": [
"folder",
"template"
],
"properties": {
"folder": {
"type": "string",
"description": "Folder name"
},
"template": {
"type": "string",
"description": "URL template"
}
}
}cloudinary_update_upload_mappingUpdate an existing upload mapping.
Args:
{
"type": "object",
"required": [
"folder",
"template"
],
"properties": {
"folder": {
"type": "string",
"description": "Folder name"
},
"template": {
"type": "string",
"description": "New URL template"
}
}
}cloudinary_delete_upload_mappingDelete an upload mapping.
Args:
{
"type": "object",
"required": [
"folder"
],
"properties": {
"folder": {
"type": "string",
"description": "Folder name"
}
}
}cloudinary_list_resources_by_idsGet multiple resources by their public IDs in a single request.
Args:
{
"type": "object",
"required": [
"publicIds"
],
"properties": {
"publicIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Public IDs to retrieve"
}
}
}cloudinary_list_resources_by_asset_idsGet multiple resources by their immutable asset IDs in a single request.
Args:
{
"type": "object",
"required": [
"assetIds"
],
"properties": {
"assetIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Asset IDs to retrieve"
}
}
}cloudinary_list_resourcesList resources (assets) from Cloudinary with pagination.
Returns a paginated list of resources. Use the cursor from the response to fetch the next page.
Args:
{
"type": "object",
"properties": {
"tags": {
"type": "boolean",
"description": "Include tags"
},
"prefix": {
"type": "string",
"description": "Filter by public ID prefix"
},
"context": {
"type": "boolean",
"description": "Include context metadata"
},
"metadata": {
"type": "boolean",
"description": "Include structured metadata"
},
"maxResults": {
"type": "integer",
"default": 20,
"maximum": 500,
"minimum": 1,
"description": "Number of resources to return"
},
"nextCursor": {
"type": "string",
"description": "Pagination cursor"
},
"moderations": {
"type": "boolean",
"description": "Include moderation status"
}
}
}cloudinary_list_resources_by_tagList resources that have a specific tag.
Args:
{
"type": "object",
"required": [
"tag"
],
"properties": {
"tag": {
"type": "string",
"description": "Tag to filter by"
},
"maxResults": {
"type": "integer",
"default": 20,
"maximum": 500,
"minimum": 1
},
"nextCursor": {
"type": "string"
}
}
}cloudinary_list_resources_by_contextList resources that have a specific context key/value.
Args:
{
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"type": "string",
"description": "Context key"
},
"value": {
"type": "string",
"description": "Context value"
},
"maxResults": {
"type": "integer",
"default": 20,
"maximum": 500,
"minimum": 1
},
"nextCursor": {
"type": "string"
}
}
}cloudinary_list_resources_by_folderList resources in a specific asset folder.
Args:
{
"type": "object",
"required": [
"folder"
],
"properties": {
"folder": {
"type": "string",
"description": "Asset folder path"
},
"maxResults": {
"type": "integer",
"default": 20,
"maximum": 500,
"minimum": 1
},
"nextCursor": {
"type": "string"
}
}
}cloudinary_get_resourceGet detailed information about a specific resource by public ID.
Args:
{
"type": "object",
"required": [
"publicId"
],
"properties": {
"publicId": {
"type": "string",
"description": "Public ID of the resource"
}
}
}cloudinary_get_resource_by_asset_idGet detailed information about a specific resource by its immutable asset ID.
Args:
{
"type": "object",
"required": [
"assetId"
],
"properties": {
"assetId": {
"type": "string",
"description": "Asset ID of the resource"
}
}
}cloudinary_update_resourceUpdate a resource's metadata, tags, context, or other attributes.
Args:
{
"type": "object",
"required": [
"publicId"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags to set"
},
"context": {
"type": "object",
"description": "Context metadata"
},
"metadata": {
"type": "object",
"description": "Structured metadata"
},
"publicId": {
"type": "string",
"description": "Public ID"
},
"assetFolder": {
"type": "string",
"description": "Asset folder path"
},
"displayName": {
"type": "string",
"description": "Display name"
},
"moderationStatus": {
"enum": [
"pending",
"approved",
"rejected"
],
"type": "string"
}
}
}cloudinary_delete_resourcesDelete one or more resources by their public IDs.
Args:
{
"type": "object",
"required": [
"publicIds"
],
"properties": {
"publicIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Public IDs to delete"
}
}
}cloudinary_delete_resources_by_prefixDelete all resources with a specific public ID prefix.
WARNING: This can delete many resources at once.
Args:
{
"type": "object",
"required": [
"prefix"
],
"properties": {
"prefix": {
"type": "string",
"description": "Public ID prefix"
}
}
}cloudinary_delete_resources_by_tagDelete all resources with a specific tag.
WARNING: This can delete many resources at once.
Args:
{
"type": "object",
"required": [
"tag"
],
"properties": {
"tag": {
"type": "string",
"description": "Tag to match"
}
}
}cloudinary_restore_resourcesRestore backed-up resources that were deleted.
Args:
{
"type": "object",
"required": [
"publicIds"
],
"properties": {
"publicIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Public IDs to restore"
}
}
}cloudinary_list_resources_by_moderationList resources by their moderation status.
Args:
{
"type": "object",
"required": [
"kind",
"status"
],
"properties": {
"kind": {
"type": "string",
"description": "Moderation kind"
},
"status": {
"enum": [
"pending",
"approved",
"rejected"
],
"type": "string",
"description": "Moderation status"
},
"maxResults": {
"type": "integer",
"default": 20,
"maximum": 500,
"minimum": 1
},
"nextCursor": {
"type": "string"
}
}
}cloudinary_add_related_assetsAdd related assets to a resource.
Args:
{
"type": "object",
"required": [
"publicId",
"assetsToRelate"
],
"properties": {
"publicId": {
"type": "string",
"description": "Public ID of primary resource"
},
"assetsToRelate": {
"type": "array",
"items": {
"type": "string"
},
"description": "Asset IDs to relate"
}
}
}cloudinary_delete_related_assetsRemove related assets from a resource.
Args:
{
"type": "object",
"required": [
"publicId",
"assetsToUnrelate"
],
"properties": {
"publicId": {
"type": "string",
"description": "Public ID of primary resource"
},
"assetsToUnrelate": {
"type": "array",
"items": {
"type": "string"
},
"description": "Asset IDs to unrelate"
}
}
}cloudinary_searchSearch for resources using Cloudinary's powerful search API with Lucene-like query syntax.
Examples of search expressions:
Args:
{
"type": "object",
"required": [
"expression"
],
"properties": {
"aggregate": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fields to aggregate"
},
"withField": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional fields to include"
},
"expression": {
"type": "string",
"description": "Search expression"
},
"maxResults": {
"type": "integer",
"default": 20,
"maximum": 500,
"minimum": 1,
"description": "Number of results"
},
"nextCursor": {
"type": "string",
"description": "Pagination cursor"
}
}
}cloudinary_visual_searchSearch for visually similar resources using image URL, asset ID, or text description.
Requires Visual Search add-on to be enabled.
Args:
Note: Provide exactly one of imageUrl, imageAssetId, or text.
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Text description"
},
"imageUrl": {
"type": "string",
"description": "Image URL"
},
"imageAssetId": {
"type": "string",
"description": "Image asset ID"
}
}
}cloudinary_list_tagsList all tags used in your Cloudinary account.
Args:
{
"type": "object",
"properties": {
"prefix": {
"type": "string",
"description": "Tag prefix filter"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1
},
"nextCursor": {
"type": "string"
}
}
}cloudinary_list_streaming_profilesList all streaming profiles in your Cloudinary account.
Streaming profiles define video encoding settings for adaptive bitrate streaming (HLS/DASH).
Args:
{
"type": "object",
"properties": {}
}cloudinary_get_streaming_profileGet details of a specific streaming profile.
Args:
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Profile name"
}
}
}cloudinary_create_streaming_profileCreate a new streaming profile.
Args:
Example representations: [ { "transformation": { "width": 1920, "height": 1080, "bit_rate": "5000k" } }, { "transformation": { "width": 1280, "height": 720, "bit_rate": "2500k" } }, { "transformation": { "width": 854, "height": 480, "bit_rate": "1000k" } } ]
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Profile name"
},
"displayName": {
"type": "string",
"description": "Display name"
}
}
}cloudinary_update_streaming_profileUpdate an existing streaming profile.
Args:
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Profile name"
},
"displayName": {
"type": "string"
}
}
}cloudinary_delete_streaming_profileDelete a streaming profile.
Args:
Note: Predefined profiles cannot be deleted.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Profile name"
}
}
}cloudinary_list_transformationsList all transformations in your Cloudinary account.
Args:
{
"type": "object",
"properties": {
"named": {
"type": "boolean",
"description": "Filter to named transformations only"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1
},
"nextCursor": {
"type": "string"
}
}
}cloudinary_get_transformationGet details of a specific transformation.
Args:
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Transformation name or string"
}
}
}cloudinary_create_transformationCreate a new named transformation.
Args:
Example: name: "thumbnail" transformation: "c_thumb,w_150,h_150,g_face"
{
"type": "object",
"required": [
"name",
"transformation"
],
"properties": {
"name": {
"type": "string",
"description": "Transformation name"
},
"transformation": {
"type": "string",
"description": "Transformation string"
}
}
}cloudinary_update_transformationUpdate an existing transformation.
Args:
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Transformation name"
},
"unsafeUpdate": {
"type": "string",
"description": "New transformation string"
},
"allowedForStrict": {
"type": "boolean",
"description": "Allow for strict transformations"
}
}
}cloudinary_delete_transformationDelete a transformation.
Args:
Note: Only transformations that are not in use can be deleted.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Transformation name to delete"
}
}
}cloudinary_delete_derived_resourcesDelete derived (transformed) versions of resources by their IDs.
Args:
{
"type": "object",
"required": [
"derivedResourceIds"
],
"properties": {
"derivedResourceIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Derived resource IDs"
}
}
}cloudinary_delete_derived_by_transformationDelete derived resources for specific transformations.
Args:
{
"type": "object",
"required": [
"publicIds",
"transformations"
],
"properties": {
"publicIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Public IDs"
},
"deliveryType": {
"enum": [
"upload",
"private",
"authenticated"
],
"type": "string"
},
"resourceType": {
"enum": [
"image",
"video",
"raw"
],
"type": "string",
"default": "image"
},
"transformations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Transformations to delete"
}
}
}