Uploads images and videos to Cloudinary with options such as resource type and public ID, and returns the media link and details.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add cloudinary --env CLOUDINARY_API_KEY='<CLOUDINARY_API_KEY>' --env CLOUDINARY_API_SECRET='<CLOUDINARY_API_SECRET>' --env CLOUDINARY_CLOUD_NAME='<CLOUDINARY_CLOUD_NAME>' -- npx @felores/cloudinary-mcp-server@latest~/.codex/config.toml
[mcp_servers.cloudinary]
command = "npx"
args = ["@felores/cloudinary-mcp-server@latest"]
env = { CLOUDINARY_API_KEY = "<CLOUDINARY_API_KEY>", CLOUDINARY_API_SECRET = "<CLOUDINARY_API_SECRET>", CLOUDINARY_CLOUD_NAME = "<CLOUDINARY_CLOUD_NAME>" }
# codex mcp add cloudinary --env CLOUDINARY_API_KEY='<CLOUDINARY_API_KEY>' --env CLOUDINARY_API_SECRET='<CLOUDINARY_API_SECRET>' --env CLOUDINARY_CLOUD_NAME='<CLOUDINARY_CLOUD_NAME>' -- npx @felores/cloudinary-mcp-server@latest~/.cursor/mcp.json
{
"mcpServers": {
"cloudinary": {
"command": "npx",
"args": [
"@felores/cloudinary-mcp-server@latest"
],
"env": {
"CLOUDINARY_API_KEY": "<CLOUDINARY_API_KEY>",
"CLOUDINARY_API_SECRET": "<CLOUDINARY_API_SECRET>",
"CLOUDINARY_CLOUD_NAME": "<CLOUDINARY_CLOUD_NAME>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"cloudinary": {
"type": "stdio",
"command": "npx",
"args": [
"@felores/cloudinary-mcp-server@latest"
],
"env": {
"CLOUDINARY_API_KEY": "<CLOUDINARY_API_KEY>",
"CLOUDINARY_API_SECRET": "<CLOUDINARY_API_SECRET>",
"CLOUDINARY_CLOUD_NAME": "<CLOUDINARY_CLOUD_NAME>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"cloudinary": {
"command": "npx",
"args": [
"@felores/cloudinary-mcp-server@latest"
],
"env": {
"CLOUDINARY_API_KEY": "<CLOUDINARY_API_KEY>",
"CLOUDINARY_API_SECRET": "<CLOUDINARY_API_SECRET>",
"CLOUDINARY_CLOUD_NAME": "<CLOUDINARY_CLOUD_NAME>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"cloudinary": {
"command": "npx",
"args": [
"@felores/cloudinary-mcp-server@latest"
],
"env": {
"CLOUDINARY_API_KEY": "<CLOUDINARY_API_KEY>",
"CLOUDINARY_API_SECRET": "<CLOUDINARY_API_SECRET>",
"CLOUDINARY_CLOUD_NAME": "<CLOUDINARY_CLOUD_NAME>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"cloudinary": {
"command": "npx",
"args": [
"@felores/cloudinary-mcp-server@latest"
],
"env": {
"CLOUDINARY_API_KEY": "<CLOUDINARY_API_KEY>",
"CLOUDINARY_API_SECRET": "<CLOUDINARY_API_SECRET>",
"CLOUDINARY_CLOUD_NAME": "<CLOUDINARY_CLOUD_NAME>"
}
}
}
}Environment variables
CLOUDINARY_API_KEYCLOUDINARY_API_SECRETCLOUDINARY_CLOUD_NAME
Replace the placeholders with your own credentials and keep them out of version control.