Skip to main content
← Back to Articles
mcpcloudinarymediaimagescursoridesetup2026

Cloudinary MCP Server Cursor IDE Setup 2026: Upload, Transform & Search Media from Chat

Set up Cloudinary's official MCP servers in Cursor IDE — remote OAuth endpoint or local npm packages for asset management, transformations, and AI-powered content analysis.

By Web MCP GuideAugust 13, 202610 min read


Cloudinary MCP Server Cursor IDE Setup 2026

Cloudinary ships several official MCP servers, not one — asset management, environment configuration, structured metadata, and AI-powered content analysis are separate packages, and you connect the ones you actually need rather than one monolithic integration. Most Cursor setups only need asset management (upload, search, transform, tag) to start.

Two ways to connect: the remote OAuth-based endpoint, which needs no local install, or local npm packages authenticated with your own API key and secret. The remote route is the faster path if you just want to try it; local is the one to reach for if your org prefers self-managed credentials over an OAuth grant.

What You Can Do with Cloudinary MCP in Cursor

Depending on which package(s) you connect:

  • Upload and manage assets — images, video, raw files — with search, filtering, folder management, and tagging

  • Apply transformations — resize, crop, format conversion, quality adjustments, generated from a natural-language description instead of hand-writing a transformation URL string

  • Generate archives — bundle a set of assets into a downloadable zip

  • Configure upload presets and transformation settings at the environment level

  • Manage streaming profiles and webhooks

  • Define structured metadata fields with validation and conditional rules

  • Run AI-powered content analysis — auto-tagging, moderation, captioning, object detection, quality assessment
  • That last category is worth calling out on its own: the analysis server can generate real alt-text and captions for images already in your Cloudinary account, and moderation checks (flagging content that violates a policy) before you publish, from inside a chat instead of a separate dashboard workflow.

    Why This Fits a Coding Workflow

    The recurring pain point with a DAM (digital asset management) system is that transformation URLs are hard to construct correctly by hand — the query string syntax that resizes, crops, and reformats an image is dense and easy to get subtly wrong. Asking Cursor to "get me a 400x400 cropped, WebP version of this hero image" and having it construct (and verify) the actual transformation URL, rather than you looking up Cloudinary's transformation reference mid-task, is the direct time saved.

    The second win is search: instead of digging through folders in the Cloudinary console to find "that product photo we uploaded last month," a natural-language search against your asset library, with results linked directly, stays inside the same chat where you're writing the component that needs the image.

    Prerequisites


  • A Cloudinary account (Cloud Name, API Key, and API Secret, found on your Cloudinary dashboard home page)

  • Cursor IDE with MCP support

  • Node.js 18+ (only needed for the local npm route)
  • Method 1: Remote Server (OAuth, No Install)

    The hosted endpoint for asset management:

    https://asset-management.mcp.cloudinary.com/sse
    

    Add to ~/.cursor/mcp.json:

    {
      "mcpServers": {
        "cloudinary": {
          "url": "https://asset-management.mcp.cloudinary.com/sse"
        }
      }
    }
    

    Restart Cursor. On first tool call, it opens a browser window for Cloudinary's OAuth authorization — approve it, and Cursor reuses the credential for future sessions without a stored secret in your config.

    Method 2: Local npm Packages (API Key + Secret)

    Use this if you want a self-managed credential instead of an OAuth grant, or need one of the non-asset-management servers (environment config, structured metadata, analysis) that don't have their own dedicated remote endpoint documented alongside asset management.

    {
      "mcpServers": {
        "cloudinary-asset-mgmt": {
          "command": "npx",
          "args": ["-y", "--package", "@cloudinary/asset-management-mcp", "--", "mcp", "start"],
          "env": {
            "CLOUDINARY_URL": "cloudinary://your_api_key:your_api_secret@your_cloud_name"
          }
        }
      }
    }
    

    CLOUDINARY_URL is a single combined credential string; alternatively, set CLOUDINARY_CLOUD_NAME, CLOUDINARY_API_KEY, and CLOUDINARY_API_SECRET as separate env entries if you prefer not to combine them.

    To add the analysis or metadata servers alongside asset management, add additional entries using their respective package names (@cloudinary/environment-config-mcp, @cloudinary/structured-metadata-mcp, @cloudinary/analysis), each with the same credential env vars.

    Step: Find Your Credentials

    1. Log into cloudinary.com
    2. Your Cloud Name, API Key, and API Secret are on the dashboard home page (Product Environment Credentials)
    3. For the local method, either combine them into a CLOUDINARY_URL string or set them individually

    Verify the Connection

    Restart Cursor, then in chat:

    Search my Cloudinary assets for anything tagged "hero" and show me the results
    

    Or:

    List the folders in my Cloudinary account
    

    Real folder names or asset results confirm the connection is live.

    Practical Workflows

    Generating a transformation URL from a description

    I need a 1200x630 cropped version of the asset "og-image-base" for Open Graph, 
    converted to WebP with quality set to auto. Build the transformation URL 
    and show it to me before I use it in the meta tag.
    

    Finding an asset without opening the console

    Find any image in Cloudinary tagged "product" and uploaded in the last 30 days, 
    then show me their URLs and dimensions
    

    Auto-generating alt text for accessibility

    Pull the last 10 images uploaded to the "blog" folder and generate 
    descriptive alt text for each one using the analysis tools
    

    Bundling assets for a handoff

    Generate a downloadable archive of every asset tagged "Q3-campaign"
    

    Gotchas

    The remote endpoint above covers asset management only. If you need environment config, structured metadata, or content analysis, those are separate packages without (as of this writing) their own documented remote OAuth endpoint alongside asset management — use the local npm route for those.

    Transformations consume Cloudinary account credits/quota. Generating transformed variants of assets, especially at scale (batch-transforming many images in one session), counts against your account's transformation limits the same way it would from any other client. Scope batch requests deliberately rather than looping over an entire media library.

    CLOUDINARY_API_SECRET is a genuine secret, not a public key like your Cloud Name. Don't commit an mcp.json with the combined CLOUDINARY_URL string to a shared repo — treat it the same as any other API secret.

    AI-powered analysis features (auto-tagging, moderation) may be gated by your Cloudinary plan tier. If a captioning or moderation request comes back empty or errors, check whether your account tier includes that specific add-on before assuming the MCP connection is broken.

    Troubleshooting

    OAuth popup never appears (remote method)
    Confirm your Cursor version supports url-based remote MCP servers with SSE/HTTP transport. If it does and the popup still doesn't fire, check that nothing on your network blocks *.mcp.cloudinary.com, then disconnect and reconnect the server from Cursor's MCP settings.

    "Unauthorized" errors (local method)
    Double-check the CLOUDINARY_URL string format exactly: cloudinary://api_key:api_secret@cloud_name — a swapped key/secret order or a missing cloudinary:// scheme is a common copy-paste mistake.

    Transformation requests return errors on valid-looking parameters
    Some transformation combinations are plan-gated (certain AI-based transformations, for instance) or require specific asset types. Ask Cursor to show you the raw error from the API rather than just "it failed" — Cloudinary's error messages are usually specific about which parameter is the problem.

    Search returns no results even though assets exist
    Confirm which Cloudinary environment/product environment your credentials point at — an account with multiple environments (common on paid plans) can have assets in one environment that are invisible to credentials scoped to another.

    Frequently Asked Questions

    Q: Do I need all four Cloudinary MCP packages, or just one?
    A: Just the ones you need. Most Cursor setups only connect asset management for upload, search, and transformations. Add environment config, structured metadata, or analysis only if you specifically need preset/webhook management, custom metadata fields, or AI-powered tagging and moderation.

    Q: Is OAuth or an API key/secret the better choice for a solo developer?
    A: OAuth (the remote endpoint) is simpler — no credential to store or rotate yourself. API key/secret (local) is preferable if you want a credential you fully control and can revoke independently, or if you need one of the non-asset-management servers.

    Q: Can this delete assets from my Cloudinary account?
    A: The asset management server includes management operations beyond pure read access, so yes, depending on the specific tool called — treat delete-shaped prompts with the same care you'd apply to any destructive action, and confirm the exact asset before asking Cursor to remove anything.

    Q: Does using the AI content analysis tools cost extra?
    A: It depends on your Cloudinary plan — AI-powered analysis (auto-tagging, moderation, captioning) is often a metered add-on distinct from basic transformations. Check your account's usage dashboard if you're running analysis across a large batch of assets.

    Q: Can I generate a Cloudinary transformation URL without actually applying it?
    A: Yes — ask Cursor to construct and show you the URL before you use it anywhere. This is the safer pattern for anything going into production code, since you can verify the exact parameters before committing to them.

    Q: Does this integration work with video, or only images?
    A: Asset management covers video and raw files in addition to images — Cloudinary is a general media platform, not image-only, and the MCP tools reflect that.

    Related Guides


  • Shopify MCP Server: Cursor IDE Setup (2026)

  • Webflow MCP Server: Cursor IDE Setup (2026)

  • Sanity MCP Server: Cursor IDE Setup (2026)

  • Figma MCP Server: Cursor IDE Setup (2026)

  • How to Authenticate MCP Servers: OAuth & API Keys

  • MCP Security Best Practices (2026)
  • ---


    Related guides