Skip to main content
Glama
felores

Cloudinary MCP Server

by felores

Servidor MCP de Cloudinary

Este servidor MCP proporciona herramientas para cargar imágenes y videos a Cloudinary a través de Claude Desktop y clientes MCP compatibles.

Instalación

Requisitos: Node.js

  1. Instale Node.js (versión 18 o superior) y npm desde nodejs.org

  2. Verificar la instalación:

    node --version
    npm --version

Instalar usando npx (recomendado)

  1. Navegue hasta el directorio de configuración de Claude:

    • Windows: C:\Users\NAME\AppData\Roaming\Claude

    • macOS: ~/Library/Application Support/Claude/

    También puede encontrar estos directorios dentro de la aplicación Claude Desktop: Claude Desktop > Configuración > Desarrollador > Editar configuración

  2. Agregue la siguiente configuración a su archivo de configuración de MCP:

{
  "mcpServers": {
    "cloudinary": {
      "command": "npx",
      "args": ["@felores/cloudinary-mcp-server@latest"],
      "env": {
        "CLOUDINARY_CLOUD_NAME": "your_cloud_name",
        "CLOUDINARY_API_KEY": "your_api_key",
        "CLOUDINARY_API_SECRET": "your_api_secret"
      }
    }
  }
}
  1. Asegúrese de reemplazar las variables de entorno con sus credenciales de Cloudinary desde la consola de Cloudinary .

Instalación para desarrolladores

Si desea modificar el servidor o contribuir al desarrollo:

  1. Clonar el repositorio:

git clone https://github.com/felores/cloudinary-mcp-server.git
cd cloudinary-mcp-server
  1. Instalar dependencias y compilar:

npm install
npm run build

Related MCP server: Image Analysis MCP Server

Instrucciones de configuración

  1. Primero, asegúrese de tener una cuenta de Cloudinary y obtenga sus credenciales de la consola de Cloudinary :

    • Nombre de la nube

    • Clave API

    • Secreto de API

  2. Agregue la configuración del servidor a su archivo de configuración MCP de Claude/Cline:

{
  "mcpServers": {
    "cloudinary": {
      "command": "node",
      "args": ["c:/path/to/cloudinary-mcp-server/dist/index.js"],
      "env": {
        "CLOUDINARY_CLOUD_NAME": "your_cloud_name",
        "CLOUDINARY_API_KEY": "your_api_key",
        "CLOUDINARY_API_SECRET": "your_api_secret"
      }
    }
  }
}

Para la aplicación de escritorio Claude, edite el archivo de configuración en la ubicación adecuada para su sistema operativo.

  1. Instalar dependencias y construir el servidor:

npm install
npm run build

Herramientas disponibles

subir

Sube imágenes y vídeos a Cloudinary.

Parámetros:

  • file (obligatorio): Ruta al archivo, URL o URI de datos base64 para cargar

  • resource_type (opcional): Tipo de recurso ('imagen', 'video' o 'raw')

  • public_id (opcional): ID público personalizado para el activo cargado

  • overwrite (opcional): si desea sobrescribir los activos existentes con la misma identificación pública

  • tags (opcional): Matriz de etiquetas para asignar al activo cargado

Ejemplo de uso en Claude/Cline:

use_mcp_tool({
  server_name: "cloudinary",
  tool_name: "upload",
  arguments: {
    file: "path/to/image.jpg",
    resource_type: "image",
    public_id: "my-custom-id"
  }
});

Available Tools

1 tool
uploadB

Upload media (images/videos) to Cloudinary. For large files, the upload is processed in chunks and returns a streaming response. The uploaded asset will be available at:

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPath to file, URL, or base64 data URI to upload
resource_typeNoType of resource to upload. For videos, the upload will return a streaming response as it processes in chunks.
public_idNoPublic ID to assign to the uploaded asset. This will be used in the final URL. If not provided, Cloudinary will generate one.
overwriteNoWhether to overwrite existing assets with the same public ID
tagsNoTags to assign to the uploaded asset

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that uploads are processed in chunks for large files and returns a streaming response, adding useful behavioral context. However, it misses critical details like authentication requirements, rate limits, error handling, or what the response contains, leaving gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, starting with the core purpose. The URL details are relevant but slightly verbose; every sentence earns its place by explaining outcomes, though it could be more streamlined for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, 100% schema coverage, no output schema, and no annotations, the description is moderately complete. It covers the upload process and resulting URLs but lacks details on response format, error cases, or authentication, making it adequate but with clear gaps for a tool that performs mutations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema: it clarifies the URL format for uploaded assets, which relates to public_id and resource_type, but doesn't explain parameter interactions or provide additional semantics for the 5 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool uploads media (images/videos) to Cloudinary, specifying the verb 'upload' and resource 'media to Cloudinary'. However, it doesn't distinguish from any siblings (none exist) and could be more specific about the 'raw' resource_type mentioned in the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for uploading media to Cloudinary, mentioning large files use chunked processing, but provides no explicit when-to-use guidance, alternatives, or exclusions. Without siblings, differentiation isn't needed, but it lacks context like prerequisites or typical scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observedupload

TDQS

B3.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility for ambiguity or overlap between tools. The 'upload' tool has a clear, singular purpose of uploading media to Cloudinary, making it impossible for an agent to misselect among multiple options.

Naming Consistency5/5

Since there is only one tool named 'upload', it inherently follows a consistent naming pattern. There are no other tools to compare against, so no inconsistencies can arise in verb style, case conventions, or other naming aspects.

Tool Count2/5

A single tool is too few for a Cloudinary server, which typically handles a wide range of media operations like upload, delete, transform, list, and fetch. This minimal set severely limits functionality and will likely cause agent failures due to missing essential operations for the domain.

Completeness1/5

The tool set is severely incomplete for a Cloudinary media management server. It only provides upload functionality, with glaring gaps such as no delete, update, list, search, or transformation tools. This makes it impossible for agents to perform basic CRUD or lifecycle operations in the domain.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers