Cloudinary Asset Management Extension
This tutorial covers how to add the Cloudinary Asset Management MCP Server as a Goose extension to automate complex image processing workflows that would typically require specialized design software or manual editing.
TLDR
- Goose Desktop
- Goose CLI
Command
npx -y --package @cloudinary/asset-management -- mcp start
Environment Variable
CLOUDINARY_URL: cloudinary://<your_api_key>:<your_api_secret>@<your_cloud_name>
Configuration
info
Note that you'll need Node.js installed on your system to run this command, as it uses npx
. You'll also need a Cloudinary account.
- Goose Desktop
- Goose CLI
- Launch the installer
- Press
Yes
to confirm the installation - Obtain your CLOUDINARY_URL from your Cloudinary dashboard and paste it in
- Click
Save Configuration
- Scroll to the top and click
Exit
from the upper left corner
- Run the
configure
command:
goose configure
- Choose to add a
Command-line Extension
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◆ What type of extension would you like to add?
│ ○ Built-in Extension
│ ● Command-line Extension (Run a local command or script)
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
└
- Give your extension a name
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◆ What would you like to call this extension?
│ cloudinary
└
- Enter the command
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ cloudinary
│
◆ What command should be run?
│ npx -y --package @cloudinary/asset-management -- mcp start
└
- Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ cloudinary
│
◇ What command should be run?
│ npx -y --package @cloudinary/asset-management -- mcp start
│
◆ Please set the timeout for this tool (in secs):
│ 300
└
- Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ cloudinary
│
◇ What command should be run?
│ npx -y --package @cloudinary/asset-management -- mcp start
│
◆ Please set the timeout for this tool (in secs):
│ 300
│
◇ Would you like to add a description?
│ No
│
└
- Obtain your Cloudinary URL from your dashboard and paste it in.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ cloudinary
│
◇ What command should be run?
│ npx -y --package @cloudinary/asset-management -- mcp start
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◇ Would you like to add a description?
│ No
│
◆ Would you like to add environment variables?
│ Yes
│
◇ Environment variable name:
│ CLOUDINARY_URL
│
◇ Environment variable value:
│ cloudinary://<your_api_key>:<your_api_secret>@<your_cloud_name>
│
◇ Add another environment variable?
│ No
└ Added cloudinary extension
Example Usage
Let's use the Cloudinary extension to find and transform product images with advanced visual effects. In this example, we'll demonstrate how Goose can help you:
- Search for specific images in your media library
- Apply complex transformations including background removal
- Add text overlays with precise positioning
LLM
Anthropic's Claude 4 Sonnet was used for this task.
Goose Prompt
1. find shoe images in my Cloudinary samples that have 'shoe' in the filename or public ID.
2. Let's transform the first result and only extract just the shoes
3. Add a white text overlay that says I love shoes. Make sure it's above the shoes
4. Add a background to the image. It should be black
Goose Output
I'll help you find shoe images in your Cloudinary samples and apply the transformations you've requested. Let me start by searching for images with 'shoe' in the filename or public ID.
─── list-images | cloudinaryassetmanagement ──────────────────────────
maxResults: 50
prefix: samples
type: upload
Perfect! I found the shoe images in your Cloudinary samples. I can see:
1. **`samples/shoe`** - A single shoe image (publicId: `samples/shoe`)
2. **`samples/ecommerce/shoes`** - A pair of shoes (publicId: `samples/ecommerce/shoes`)
Let me use the first result (`samples/shoe`) as requested and apply all the transformations you want:
1. Extract just the shoes (using background removal)
2. Add white text overlay "I love shoes" above the shoes
3. Add a black background
Here's the transformed image URL with all your requested modifications:
https://res.cloudinary.com/dd8qwbjtv/image/upload/e_background_removal/b_black/l_text:Arial_60:I%20love%20shoes,co_white,g_north,y_50/samples/shoe
Let me break down what each transformation does:
- `e_background_removal` - Removes the background and extracts just the shoe
- `b_black` - Adds a black background to replace the removed background
- `l_text:Arial_60:I%20love%20shoes,co_white,g_north,y_50` - Adds white text overlay:
- `Arial_60` - Arial font, size 60
- `I%20love%20shoes` - The text (URL encoded)
- `co_white` - White color
- `g_north` - Positioned at the top (north)
- `y_50` - 50 pixels offset from the top
Here are the images we found with "shoe" in the filename/public ID:
1. **First result (used for transformation)**: `samples/shoe`
- Original: https://res.cloudinary.com/dd8qwbjtv/image/upload/v1708364167/samples/shoe.jpg
- **Transformed**: https://res.cloudinary.com/dd8qwbjtv/image/upload/e_background_removal/b_black/l_text:Arial_60:I%20love%20shoes,co_white,g_north,y_50/samples/shoe
2. **Second result**: `samples/ecommerce/shoes`
- Original: https://res.cloudinary.com/dd8qwbjtv/image/upload/v1708364144/samples/ecommerce/shoes.png
The transformed image now has:
✅ Just the shoes extracted (background removed)
✅ White text "I love shoes" positioned above the shoes
✅ Black background applied
You can click on the transformed URL to see the final result!