
Testing Cloudinary's remote MCP Server with Claude
Hello from Berlin, this is Ito.
I've actually tried using the Remote version of the Cloudinary MCP Server. While still in beta with room for improvement, it's very convenient with simple setup.
In June this year, Cloudinary officially announced their MCP server, which our colleague Konishi introduced in detail.
Since the article above introduced the Local MCP, this time I've evaluated the user experience of the Remote MCP.
Cloudinary's MCP Server
Cloudinary provides the following MCP servers for different functions:
MCP Server | Functionality |
---|---|
asset-management | File upload, management, and search |
environment-config | Upload presets, upload mappings, Named transformations |
structured-metadata | Creation, management, and search of structured metadata |
analysis | AI content analysis, moderation, automatic tagging |
mediaflows | Asset workflow functionality for creating and managing automatic processing in MediaFlows (※ Currently only available with remote MCP) |
Practical usage example:
You can operate without console login or API execution just by giving natural language instructions like "Rename Cloudinary's path/test.jpg to folder/test2.jpg".
For this review, I've only tested the asset-management server.
Remote vs Local MCP - Which is better?
Cloudinary's MCP server can be used in two ways: remote and local.
According to GitHub updates, information about the Remote version wasn't available when Cloudinary MCP was first released, but now Remote MCP is officially recommended.
Here's a comparison of the two options:
Remote MCP (officially recommended) | Local MCP | |
---|---|---|
Setup simplicity | ✅ No dependencies to install | ❌ Environment setup required |
Maintenance | ✅ Automatically updated by Cloudinary | ❌ Manual version management |
System resources | ✅ Doesn't consume device resources | ❌ Uses local environment |
Response speed | 🔼 More network dependent with potential delays | ✅ Faster MCP communication |
Authentication management | 🔼 OAuth, simple setup but no session management | 🔼 API keys managed locally |
Multiple accounts | ❌ Effectively limited to one account | ✅ Multiple accounts can be configured |
Conceptually, it's similar to the difference between desktop and web applications, though the functionality is the same. Both Cloudinary MCP options are based on API calls and require an internet connection.
The remote option is easier for non-technical users to get started with since authentication happens in the browser.
Usage with Claude Desktop### Connecting to Remote MCP in Claude Desktop
Currently, Cloudinary's official documentation shows a method for editing the claude_desktop_config.json
file, but this configuration causes an error:
There was an error reading or parsing claude_desktop_config.json: [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"mcpServers",
"cloudinary-asset-mgmt",
"command"
],
"message": "Required"
}
]
According to Anthropic's documentation, it seems that Claude Desktop does not support the use of remote MCP servers other than Connectors.
Remote MCP servers are supported on Claude and Claude Desktop for Pro, Max, Team, and Enterprise plans.
To configure remote MCP servers for use in Claude Desktop, add them via Settings > Connectors. Claude Desktop will not connect to remote servers that are configured directly via claude_desktop_config.json.
Cloudinary's official Connector is already available and can be easily set up from:
Settings > Connectors > [Browse connectors] > Cloudinary
However, at this time, only asset-management is supported, and other functions are not covered.
Connected using an unofficial method
Since I didn't have permission to use the above Connector in my environment, I connected using the following configuration with reference to this page:
{
"mcpServers": {
"cloudinary-asset-mgmt": {
"command": "npx",
"args": [
"mcp-remote",
"https://asset-management.mcp.cloudinary.com/sse"
]
}
}
}
⚠️ This is not an official method, so please use it as a reference only.
When you restart Claude Desktop, a browser will automatically open for authentication. Sign in, select your environment, authenticate, and then return to Claude.### Behavior Verification
I made a request like this:
Please list all file names and folder names in the Cloudinary root directory and display them in a table.
It executed successfully and displayed the file list in table format 🎉
Login Session Duration
I was curious about how often authentication would be required, so I looked for information on session duration, but couldn't find any mention in the documentation. There don't seem to be any settings to manage OAuth authentication from either Claude Desktop or the Cloudinary console.
When using the official Connector, it appears possible to "Disconnect" and reconnect to switch to a different account.
Regarding the unofficial method mentioned above, no re-authentication was required for several hours, even when starting new chats or restarting Claude. However, when I launched Claude the next day, it did require re-authentication. When I tried signing in with a different account at that time, in most cases I received the following error after authentication, resulting in unstable behavior where the MCP server itself failed to load.
How to Use with Claude Code
Connecting to Remote MCP in Claude Code
Add the MCP server as described in the official documentation:
claude mcp add --transport sse cloudinary-asset-mgmt https://asset-management.mcp.cloudinary.com/sse
→ After successful addition, I confirmed it was added as an MCP server in the ~/.claude.json
file.
When restarting claude and running the /mcp command, it asks if you want to authenticate, so press Enter twice.
% claude
> /mcp
A browser will automatically open and OAuth authentication begins. Looking at the sign-in page link, it shows https://console.cloudinary.com/users/o/login?login_challenge=xOPTwbMadHZ...
, which is different from the regular login page "Log in to your account" https://cloudinary.com/users/login
.
After logging in, it requests permissions, so select the cloud name you want to use and click Accept Access.
When "Authentication Successful" is displayed, return to Claude Code.### Action Verification
I made the same request.
I was able to get the same result properly!
Switching Sessions
In the case of Claude Code, re-authentication or sign-out can be easily done via /mcp, so if you want to execute against a different Cloudinary account or cloud environment, you can switch by redoing the authentication.
I actually selected option 3 → executed /mcp → re-authenticated by signing into a different account → executed the same request, and was able to correctly retrieve the information from the new account.
Above, I've introduced Remote MCP for both Claude Desktop and Code.
Unlike local MCP, it's very convenient that there's no need to obtain, configure, and manage API keys.
While it seems that not all Cloudinary Remote MCP features are available in the Claude Desktop version yet, I'm looking forward to either expanded Remote MCP support in Claude Desktop or updates to Cloudinary's Connector that will make Cloudinary operations even more user-friendly with simple authentication!
References
Official
Blogs etc.