Endpoints
| Endpoint | Method | Description |
|---|---|---|
| /mcp | POST | Streamable HTTP transportRecommended |
| /sse | GET | SSE transportDeprecated |
Server URL
http://analysis.mcp.cloudinary.com/mcp
Configuration
Add this to your MCP client configuration. OAuth is used by default when no headers are provided.
{
"mcpServers": {
"@cloudinary/analysis-mcp": {
"url": "http://analysis.mcp.cloudinary.com/mcp"
}
}
}
{
"mcpServers": {
"@cloudinary/analysis-mcp": {
"url": "http://analysis.mcp.cloudinary.com/mcp",
"headers": {
"cloudinary-url": "cloudinary://api_key:api_secret@cloud_name"
}
}
}
}
Authentication
| Method | Description |
|---|---|
| OAuth 2.0 | Default. The OAuth flow is initiated automatically when the client connects with no auth headers. |
| API Key | Pass cloudinary-url header, or individual cloudinary-cloud-name, cloudinary-api-key, cloudinary-api-secret headers. |
Configuration Headers
Optional headers to customize server behavior. Applied at session creation time.
| Header | Description |
|---|---|
cloudinary-region |
API region: api, api-eu, or api-ap |
cloudinary-tools |
Comma-separated list of tools to enable (e.g. search-assets,list-images) |
Response Headers
API response headers are collected into _meta.headers on each tool result. The debug preset is active by default.
| Header | Description |
|---|---|
cloudinary-collect-headers |
Control which response headers are returned. Accepts:
debug — rate-limit + request ID (default)
ratelimit — rate-limit headers only
all — every response header
Or a comma-separated list of exact names, prefix:<value>, regex:<pattern>, and preset names
|
cloudinary-embed-headers |
Set to true to also include collected headers in the response body as _headers, for clients that don't surface _meta |
{
"_meta": {
"headers": {
"x-featureratelimit-limit": "5000",
"x-featureratelimit-remaining": "4998",
"x-featureratelimit-reset": "Thu, 13 Feb 2026 00:00:00 GMT",
"x-request-id": "bfeaccc60050594832508590a358a1a4"
}
},
"content": [{ "type": "text", "text": "{...}" }]
}
Available Tools (16)
Analyze - AI Vision General
The General mode serves a wide array of applications by providing detailed answers to diverse questions about an image. Users can inquire about any aspect of an image, such as identifying objects, understanding scenes, or interpreting text within the image.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
prompts |
[ ]array | One or more prompts of open questions or tasks with an open answer |
source required |
{ }object |
Analyze - AI Vision Moderation
The Moderation mode accepts multiple questions about an image, to which the response provides concise answers of "yes," "no," or "unknown." This functionality allows for a nuanced evaluation of whether the image adheres to specific content policies, creative specs, or aesthetic criteria.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
rejection_questions |
[ ]array | A list of yes/no questions |
source required |
{ }object |
Analyze - AI Vision Tagging
The Tagging mode accepts a list of tag names along with their corresponding descriptions. If the image matches the description, which may encompass various elements, it will be appropriately tagged. This approach enables customers to align with their own brand taxonomy, offering a dynamic, flexible, and open method for image classification.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object | |
tag_definitions required |
[ ]array |
Analyze - Captioning
Provides a caption for an image.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Cld-Fashion
Analyze an image using the [Cld-Fashion](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. Cloudinary's fashion model is specifically dedicated to items of clothing. The response includes attributes of the clothing identified, for example whether the garment contains pockets, its material and the fastenings used.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Cld-Text
Analyze an image using the [Cld-Text](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. Cloudinary's text model tells you if your image includes text, and where it's located. Used with image tagging, you can then search for images that contain blocks of text. Used with object-aware cropping, you can choose to keep only the text part, or specify a crop that avoids the text.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Coco
Analyze an image using the [Coco](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. The [Common Objects in Context](https://cocodataset.org/) model contains just 80 common objects.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Google Logo Detection
Detects popular product logos within an image.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Google Tagging
Provides tags for an image using Google's tagging service.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Human Anatomy
Analyze an image using the [Human Anatomy](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. Cloudinary's human anatomy model identifies parts of the human body in an image. It works best when the majority of a human body is detected in the image.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Image Quality Analysis
Analyze an image using the [Image Quality Analysis](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#image_quality_analysis) model.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Lvis
Analyze an image using the [Lvis](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. The [Large Vocabulary Instance Segmentation](https://www.lvisdataset.org/) model contains thousands of general objects.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Shop Classifier
Analyze an image using the [Shop Classifier](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. Cloudinary's shop classifier model detects if the image is a product image taken in a studio, or if it's a natural image.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Unidet
Analyze an image using the [Unidet](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. The [UniDet](https://github.com/xingyizhou/UniDet) model is a unified model, combining a number of object models, including [Objects365](https://www.objects365.org/overview.html), which focuses on diverse objects in the wild.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Analyze - Watermark Detection
Analyze an image using the [Watermark Detection](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#watermark_detection) detection model.
| Parameter | Type | Description |
|---|---|---|
request required |
{ }object | A JSON object containing request parameters |
async |
◉boolean | Whether to perform the analysis asynchronously. |
notification_url |
Abcstring | The webhook URL to notify when the analysis is complete. Only relevant when async is set to true. |
source required |
{ }object |
Get analysis task status
Get the status of an analysis task.
| Parameter | Type | Description |
|---|---|---|
task_id required |
Abcstring | The ID of the analysis task |