cloudinary-mcp-server

by yoavniran
Verified
<img src="https://github.com/yoavniran/cloudinary-mcp-server/blob/main/cld-mcp-server.png?raw=true" width="120" height="120" align="center" /> # Cloudinary MCP Server <a href="https://glama.ai/mcp/servers/@yoavniran/cloudinary-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@yoavniran/cloudinary-mcp-server/badge" alt="cloudinary-mcp-server MCP server" /> </a> <p align="center"> <a href="https://badge.fury.io/js/cloudinary-mcp-server"> <img src="https://badge.fury.io/js/cloudinary-mcp-server.svg" alt="npm version" height="20"> </a> </p> A Model Context Protocol server that exposes Cloudinary Upload & Admin API methods as tools by AI assistants. This integration allows AI systems to trigger and interact with your Cloudinary cloud. ## How It Works The MCP server: - Makes calls on your behalf to the Cloudinary API - Enables uploading of assets to Cloudinary - Enables management of assets in your Cloudinary cloud It relies on the Cloudinary [API](https://cloudinary.com/documentation/admin_api) to perform these actions. Not all methods and parameters are supported. More will be added over time. Open an [issue](https://github.com/yoavniran/cloudinary-mcp-server/issues) with a request for specific method if you need it. ## Benefits - Turn your Cloudinary cloud actions into callable tools for AI assistants - Turn your Cloudinary assets into data for AI assistants ## Usage with Claude Desktop ### Prerequisites - NodeJS - MCP Client (like Claude Desktop App) - Create & Copy Cloudinary API Key/Secret at: [API KEYS](https://console.cloudinary.com/settings/api-keys) ### Installation To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your `claude_desktop_config.json`: ```json { "mcpServers": { "cloudinary-mcp-server": { "command": "npx", "args": ["-y", "cloudinary-mcp-server"], "env": { "CLOUDINARY_CLOUD_NAME": "<cloud name>", "CLOUDINARY_API_KEY": "<api-key>", "CLOUDINARY_API_SECRET": "<api-secret>" } } } } ``` - `CLOUDINARY_CLOUD_NAME` - your cloud name - `CLOUDINARY_API_KEY` - The API Key for your cloud - `CLOUDINARY_API_SECRET` - The API Secret for your cloud ### Tools The following tools are available: 1. **upload** - Description: Upload a file (asset) to Cloudinary - Parameters: - `source`: URL, file path, base64 content, or binary data to upload - `folder`: Optional folder path in Cloudinary - `publicId`: Optional public ID for the uploaded asset - `resourceType`: Type of resource to upload (image, video, raw, auto) - `tags`: Comma-separated list of tags to assign to the asset 2. **delete-asset** - Description: Delete a file (asset) from Cloudinary - Parameters: - `publicId`: The public ID of the asset to delete - `assetId`: The asset ID of the asset to delete 3. **get-asset** - Description: Get the details of a specific file (asset) - Parameters: - `assetId`: The Cloudinary asset ID - `publicId`: The public ID of the asset - `resourceType`: Type of asset (image, raw, video) - `type`: Delivery type (upload, private, authenticated, etc.) - `tags`: Whether to include the list of tag names - `context`: Whether to include contextual metadata - `metadata`: Whether to include structured metadata 4. **find-assets** - Description: Search for existing files (assets) in Cloudinary with a query expression - Parameters: - `expression`: Search expression (e.g. 'tags=cat' or 'public_id:folder/*') - `resourceType`: Resource type (image, video, raw) - `maxResults`: Maximum number of results (1-500) - `nextCursor`: Next cursor for pagination - `tags`: Include tags in the response - `context`: Include context in the response 5. **get-usage** - Description: Get a report on the status of your product environment usage, including storage, credits, bandwidth, requests, number of resources, and add-on usage - Parameters: - `date`: Optional. The date for the usage report in the format: yyyy-mm-dd. Must be within the last 3 months. Default: the current date