MCP Image vs Replicate MCP Server

A side-by-side look at the MCP Image and Replicate MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

MCP Image logoMCP ImageMultimedia Process · Local subprocess (stdio)AI image generation and editing with prompt optimization and quality presets. Powered by Nano Banana53GoodAuth: api key requiredReplicate MCP Server logoReplicate MCP ServerMultimedia Process · Local subprocess (stdio)Replicate MCP server - image, video, audio, speech, LLM, vision, upscale, 3D, training. 36 tools.64GoodAuth: api key required

Verdict: choose MCP Image for multimedia process work as a local process; choose Replicate MCP Server for multimedia process as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

MCP Image logoChoose MCP Image when

  • You need dedicated capabilities in the Multimedia Process domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: GEMINI_API_KEY, OPENAI_API_KEY, ARK_API_KEY, IMAGE_PROVIDER, IMAGE_OUTPUT_DIR, IMAGE_QUALITY, SKIP_PROMPT_ENHANCEMENT.
Explore MCP Image

Replicate MCP Server logoChoose Replicate MCP Server when

  • You need dedicated capabilities in the Multimedia Process domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: REPLICATE_API_TOKEN.
  • You want tools like replicate_generate_image, replicate_generate_video, replicate_generate_audio.
Explore Replicate MCP Server

Feature & specification comparison

Rows where the two servers differ are marked.

SpecMCP Image logoMCP ImageReplicate MCP Server logoReplicate MCP Server
CategoryMultimedia ProcessMultimedia Process
Quality signal53/100 · Good64/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthAPI key requiredAPI key required
PricingBYOK (pay the provider)BYOK (pay the provider)
Required env varsGEMINI_API_KEYOPENAI_API_KEYARK_API_KEYIMAGE_PROVIDERIMAGE_OUTPUT_DIRIMAGE_QUALITYSKIP_PROMPT_ENHANCEMENTREPLICATE_API_TOKEN
Verified ownerCommunity listingCommunity listing
GitHub stars1814
Directory activity 2 views 0 installs 0 upvotes 3 views 0 installs 0 upvotes
ToolsNot listed36

Tools & capabilities

MCP Image tools

No tool names declared yet. Check the project README from the listing page.

Replicate MCP Server tools 36

  • replicate_generate_imageGenerate one or more images from a text prompt using a Replicate image model. Use this for any "draw / create / generate an image of …" request. By default it uses Flux Schnell (fast, ~2 seconds per image). DISPLAY REQUIREMENT — after this tool returns successfully, you MUST embed the image inline in your reply by pasting ONE of the three embed blocks the tool prints verbatim (Option 1 iframe, Option 2 <img>, or Option 3 markdown — try them in that order; pick the first one your chat client renders). The iframe variant scales to the chat column width with the image's native aspect ratio; the <img> variant is a responsive fallback; markdown is the universal last resort. Place the chosen embed BEFORE any descriptive prose. Do NOT paraphrase the URL or omit the embed — the user wants the image to appear in the main chat flow, not only inside the collapsed tool widget. URLs expire in ~24h. Args: - prompt (string): Text description of the image to generate. - model (string, default "flux-schnell"): Either a curated key (flux-schnell, flux-dev, flux-pro, flux-2-max, sd-3.5-large, recraft-v3, recraft-v4.1, ideogram-v2, imagen-3, seedream) or a full Replicate identifier "owner/name[:version]". - aspect_ratio ("1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "21:9" | "3:2" | "2:3", optional): Aspect ratio. Default 1:1. - num_outputs (1-4, optional): How many images to generate. - seed (integer, optional): Random seed for reproducible output. - extra_input (object, optional): Model-specific extra inputs (e.g. {guidance: 3.5, num_inference_steps: 28}). Use replicate_get_model_schema if unsure. - download (boolean, default true): Download files locally to ~/Downloads/replicate-mcp/. - timeout_ms (5000-1800000, optional): Max wait. Default 300000 (5min). Returns structuredContent matching PredictionResult: { "status": "starting" | "processing" | "succeeded" | "failed" | "canceled", "prediction_id": string, "model": string, "urls": string[], // Replicate URLs (expire ~24h) "local_paths": string[], // Absolute paths on disk when download=true "metrics": { "predict_time_seconds": number } | undefined, "error": string | undefined, "pending": boolean | undefined // true if timed out — poll via replicate_get_prediction } Examples: - "An origami fox in a misty forest" → uses flux-schnell, 1:1 - prompt="logo for a coffee shop called Crema", model="recraft-v3" → for text-in-image - prompt="cinematic shot of a lighthouse", model="flux-pro", aspect_ratio="21:9", seed=42 Error handling: - If REPLICATE_API_TOKEN is missing, returns an actionable error telling the user how to set it. - Invalid model IDs return Replicate's error message verbatim.
  • replicate_generate_videoGenerate a video clip from a text prompt (and optionally a starting image). Video generation is slow — typically 1-5 minutes per clip. DISPLAY REQUIREMENT — after this tool returns successfully, include the URL(s) printed in the tool's text content so the user can open the video. URLs expire in ~24h. Args: - prompt (string): Text description of the video. - model (string, default "kling-pro"): Curated key (kling-pro, minimax-video, hunyuan-video, luma-ray, wan-2.2, grok-video, seedance) or "owner/name[:version]". - image_url (string, optional): Starting frame for image-to-video. Not all models support this. - duration_seconds (1-60, optional): Desired duration. Model-dependent. - aspect_ratio ("16:9" | "9:16" | "1:1", optional): Aspect ratio. - extra_input (object, optional): Additional model-specific inputs. - download (boolean, default true): Download the MP4 locally. - timeout_ms: Max wait. Default 300000 (5min). For very long videos, increase or rely on the pending+poll flow. Returns: PredictionResult (see replicate_generate_image for shape). The local_paths will contain .mp4 files when downloaded. Tip: If timeout_ms is exceeded, the result will have pending=true and a prediction_id. Wait a minute, then call replicate_get_prediction.
  • replicate_generate_audioGenerate music, ambient audio, or full songs from a text prompt. DISPLAY REQUIREMENT — after this tool returns successfully, include the URL(s) printed in the tool's text content as a markdown link `[Audio](URL)` in your reply so the user can play it. URLs expire in ~24h. Models: - "musicgen" (default): Meta MusicGen. Instrumental music up to 30s. prompt → "prompt" field. - "ace-step": Full songs with lyrics. prompt → "tags" field (style/genre tags). Pass lyrics separately via extra_input.lyrics. ~3-4 minutes runtime. - "riffusion": Loop-friendly ambient/electronic. prompt → "prompt_a" field. No duration control. - "minimax-music": MiniMax Music 2.6. Full songs up to 6min. prompt=style description; pass lyrics via extra_input.lyrics. - "lyria-3-pro": Google Lyria 3 Pro. Full songs up to 3min WITH sung vocals. Put genre, mood, lyrics, and structure ([Verse]/[Chorus]) directly in the prompt. No duration — do NOT pass duration_seconds. Also "lyria-3" (30s clips) and "lyria-2" (48kHz instrumental). Args: - prompt (string): Description of the music. For ace-step this maps to the "tags" field (style tags like "rock, guitar, upbeat"). For riffusion this maps to "prompt_a". For lyria put genre/mood/lyrics/structure here. - model (string, default "musicgen"): Curated key (musicgen, ace-step, riffusion, minimax-music, lyria-3-pro, lyria-3, lyria-2) or "owner/name[:version]". - duration_seconds (1-300, optional): Duration in seconds. Supported by musicgen and ace-step. Ignored for riffusion and the lyria models (they have no duration parameter). - extra_input (object, optional): Additional inputs. Examples: {temperature: 1.0, top_k: 250} for MusicGen; {lyrics: "verse lyrics here"} for ace-step. - download (boolean, default true): Download as MP3/WAV. - timeout_ms: Default 300000 (5min). Returns: PredictionResult. local_paths contain audio files. Examples: - prompt="upbeat synthwave with driving bassline", duration_seconds=15 → musicgen - prompt="indie folk, acoustic guitar, female vocals", model="ace-step", extra_input={lyrics: "Leaving home on a rainy day..."} - prompt="ambient lo-fi chill", model="riffusion"
  • replicate_generate_speechConvert text to natural-sounding speech. DISPLAY REQUIREMENT — after this tool returns successfully, include the URL printed in the tool's text content as a markdown link `[Speech](URL)` in your reply so the user can play it. URLs expire in ~24h. Args: - text (string, 1-5000): Text to synthesize. - model (string, default "kokoro"): Curated key (kokoro, minimax-speech, chatterbox, gemini-tts, grok-tts) or "owner/name[:version]". - voice (string, optional): Voice ID. For Kokoro: af_bella, af_sarah, am_adam, am_michael, bf_emma, bf_isabella, etc. (a-f = American female, b-f = British female, a-m = American male, b-m = British male). - speed (0.5-2.0, optional): Speech rate. - extra_input (object, optional): Model-specific extras (e.g. {audio_prompt: "<url>"} for voice cloning with Chatterbox). - download (boolean, default true). - timeout_ms: Default 300000. Returns: PredictionResult. local_paths contain WAV/MP3 files.
  • replicate_chatRun a large language model hosted on Replicate. Use this for free-form text generation, Q&A, code writing, summarisation, translation — anything where the input is text and the output is text. Args: - prompt (string): User message. - model (string, default "llama-3-70b"): Curated key (llama-3.1-405b, llama-3-70b, llama-3-8b, mistral-7b, mixtral-8x7b, deepseek-r1) or "owner/name". - system_prompt (string, optional): Persona / instructions. - max_tokens (1-8192, optional): Generation limit. - temperature (0-2, optional): Sampling temperature. - extra_input (object, optional): Model-specific extras (top_p, top_k, frequency_penalty, etc.). - download (boolean, default false): No file outputs; leave false. - timeout_ms (5000-1800000, optional): Default 300000. Returns: PredictionResult with text_output[0] containing the model's reply (later entries are raw streamed segments if applicable). Examples: - prompt="Explain quantum entanglement in two sentences.", model="llama-3-70b" - prompt="Write a Python function to compute Levenshtein distance.", model="mistral-large", system_prompt="You are an expert software engineer."
  • replicate_visionRun a vision-language model to describe, caption, or answer questions about an image. Args: - image (string URL): URL of the image to analyse. - prompt (string, optional): Question or instruction (e.g. "describe this image", "count the people"). Default is a generic caption. - model (string, default "llava-13b"): Curated key (llava-13b, llava-v1.6-34b, blip-2, qwen-vl) or "owner/name". - max_tokens (1-4096, optional): Response length. - extra_input (object, optional): Model-specific extras. Returns: PredictionResult with text_output containing the model's textual answer. Examples: - image="https://example.com/photo.jpg", prompt="What objects are visible?" - image="<chart-url>", prompt="Read the values off this chart and list them.", model="llava-v1.6-34b"
  • replicate_upscale_imageUpscale an image to higher resolution. Optional face restoration for photos. DISPLAY REQUIREMENT — after this tool returns successfully, embed the upscaled image inline using one of the three blocks (iframe / <img> / markdown) printed by the tool. Place it BEFORE descriptive prose. URLs expire ~24h. Args: - image (string URL): URL of the source image. - model (string, default "real-esrgan"): Curated key (real-esrgan, clarity-upscaler, swinir, gfpgan) or "owner/name". - scale (1-10, optional): Upscale factor. Default 4 for real-esrgan; 2 for gfpgan; 2 for clarity-upscaler. - extra_input (object, optional): Model-specific extras (e.g. {face_enhance: true} for real-esrgan). - download (boolean, default true): Download upscaled file locally. Returns: PredictionResult with urls + local_paths to the upscaled image. Examples: - image="<low-res-photo>", scale=4 → real-esrgan - image="<face-photo>", model="gfpgan", scale=2 → restoration - image="<artwork>", model="clarity-upscaler", scale=2
  • replicate_remove_backgroundProduce a transparent-background version (PNG) of an image. DISPLAY REQUIREMENT — after this tool returns successfully, embed the cut-out image inline using one of the three blocks (iframe / <img> / markdown) printed by the tool. Args: - image (string URL): URL of the source image. - model (string, default "rembg"): Curated key (rembg, birefnet, briaai-rmbg) or "owner/name". - extra_input (object, optional): Model-specific extras. - download (boolean, default true): Download the cut-out PNG locally. Returns: PredictionResult with urls + local_paths to a transparent PNG. Examples: - image="<product-photo>" → rembg quick cut - image="<portrait>", model="birefnet" → sharper edge for hair
  • replicate_transcribe_audioTranscribe an audio or video file to text using Whisper-family models on Replicate. Args: - audio (URL): URL of the audio (or video) to transcribe. - model (default "incredibly-fast-whisper"): Curated key (whisper, incredibly-fast-whisper, whisperx, scribe) or "owner/name". - language (string, optional): ISO-639 hint (e.g. "en", "it"). Default: auto-detect. - translate_to_english (bool, optional): Translate the transcript to English instead of preserving source language. - extra_input (object, optional): Model-specific extras (e.g. {batch_size: 24} for incredibly-fast-whisper). Returns: PredictionResult with text_output containing the transcript.
  • replicate_inpaintFill masked regions of an image based on a text prompt. Works for both inpainting (replace inside) and outpainting (extend canvas) when the mask covers the target area. DISPLAY REQUIREMENT — embed the result inline using one of the three blocks (iframe / <img> / markdown) printed by the tool. Args: - image (URL): Source image. - mask (URL): Mask image. White = keep, black/transparent = repaint. - prompt: Describes what should appear in the masked region. - model (default "flux-fill-pro"): Curated (flux-fill-pro, sd-inpaint, ideogram-v2-edit) or "owner/name". - extra_input (object, optional): Model-specific extras (e.g. {guidance: 30} for flux-fill-pro).
  • replicate_segmentProduce a segmentation mask of an image. Use SAM 2 for point/box-prompt masks (auto-mask everything when no prompt given) or Grounded-SAM for text-prompt masking like "the red car". DISPLAY REQUIREMENT — embed the mask result inline using one of the three blocks printed by the tool. Args: - image (URL): Source image. - prompt (string, optional): Text prompt for grounded segmentation. Required for grounded-sam. - model (default "sam-2"): Curated (sam-2, grounded-sam) or "owner/name". - extra_input (object, optional): SAM-specific tuning (e.g. {points_per_side: 32}).
  • replicate_embed_textConvert text(s) into numeric embedding vectors. Useful for RAG, semantic search, clustering, similarity scoring. Args: - texts: A single string or an array of strings (max 256). Each text is embedded independently. - model (default "bge-large"): Curated (bge-large, jina-embeddings-v3, all-minilm) or "owner/name". - extra_input (object, optional): Model-specific extras (e.g. {task: "retrieval.query"} for jina v3). Returns: PredictionResult — the embedding vectors are in structuredContent.output (model-specific shape).
  • +24 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

MCP Image

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mcp-image": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-image"
      ],
      "env": {
        "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY_HERE",
        "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE",
        "ARK_API_KEY": "YOUR_ARK_API_KEY_HERE",
        "IMAGE_PROVIDER": "YOUR_IMAGE_PROVIDER_HERE",
        "IMAGE_OUTPUT_DIR": "YOUR_IMAGE_OUTPUT_DIR_HERE",
        "IMAGE_QUALITY": "YOUR_IMAGE_QUALITY_HERE",
        "SKIP_PROMPT_ENHANCEMENT": "YOUR_SKIP_PROMPT_ENHANCEMENT_HERE"
      }
    }
  }
}

Replicate MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "replicate-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "replicate-mcp-server"
      ],
      "env": {
        "REPLICATE_API_TOKEN": "YOUR_REPLICATE_API_TOKEN_HERE"
      }
    }
  }
}

Frequently asked questions

MCP Image is categorized under Multimedia Process and uses a local stdio subprocess. Replicate MCP Server belongs to Multimedia Process and uses a local stdio subprocess. Pick MCP Image for multimedia process work and Replicate MCP Server for multimedia process.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

MCP Image is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. Replicate MCP Server is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add mcp-image and replicate-mcp-server as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, MCP Image has a quality signal of 53/100 (Good) with 2 views, 0 installs and 181 GitHub stars. Replicate MCP Server has 64/100 (Good) with 3 views, 0 installs and 4 GitHub stars.