Replicate MCP Server vs MCP Server

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

Replicate MCP Server logoReplicate MCP ServerMultimedia Process · Local subprocess (stdio)Replicate MCP server - image, video, audio, speech, LLM, vision, upscale, 3D, training. 36 tools.65GreatAuth: api key requiredMCP Server logoMCP ServerMultimedia Process · Local subprocess (stdio)Run any model on the live WaveSpeed catalog: image, video, audio, 3D.67GreatAuth: api key required

Verdict: choose Replicate MCP Server for multimedia process work as a local process; choose 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?

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

MCP Server logoChoose 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: WAVESPEED_API_KEY.
  • You want tools like list_models, get_model_schema, run_model.
Explore MCP Server

Feature & specification comparison

Rows where the two servers differ are marked.

SpecReplicate MCP Server logoReplicate MCP ServerMCP Server logoMCP Server
CategoryMultimedia ProcessMultimedia Process
Quality signal65/100 · Great67/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthAPI key requiredAPI key required
PricingBYOK (pay the provider)BYOK (pay the provider)
Required env varsREPLICATE_API_TOKENWAVESPEED_API_KEY
Verified ownerCommunity listingCommunity listing
GitHub stars434
Directory activity 4 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools3611

Tools & capabilities

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

MCP Server tools 11

  • list_modelsSearch the live WaveSpeed model catalog (image, video, audio, 3D). Returns model IDs usable with run_model. Do not invent model IDs — always pick one returned by this tool.
  • get_model_schemaGet a model's real input schema (required fields, properties, defaults). Call this before run_model so inputs match what the model actually accepts.
  • run_modelRun any WaveSpeed model. input keys come from get_model_schema; unknown keys are rejected before submission. Local files: pass "@./path" string values — they are uploaded and replaced with hosted URLs (bare paths are NOT uploaded). Returns the prediction id right away (done=false); call get_prediction with that id and wait_seconds until done=true to get the output URLs. The task keeps running on the server. Pass wait_seconds here to wait for a quick model in the same call.
  • get_priceEstimate the cost of a run before executing it (no charge). Provide the same input you would pass to run_model — pricing often depends on inputs like duration or resolution, and a quote made without them can be lower than the real charge.
  • get_balanceShow the WaveSpeed account credit balance, with the link to top up.
  • list_predictionsList past predictions (run history), newest window first. Defaults to the last 24 hours; pass since/until (ISO or YYYY-MM-DD) for other ranges. Use get_prediction with an id for one task in full.
  • list_billingsList itemized charges and refunds (billing records). Requires an API key with Billing access.
  • get_usageUsage statistics: spend, request counts, daily series and per-model breakdown. Defaults to the last 7 days. Requires an API key with Billing access.
  • delete_predictionsDelete finished predictions from this account's run history, up to 100 at a time. They stop appearing in list_predictions and get_prediction, and this tool cannot bring them back. Runs that are still going are left alone, and only the key's own organization's records are deleted. Ask the user first, and pass confirm: true only after they agreed to delete these ids.
  • upload_fileUpload a local file to WaveSpeed and get its hosted URL (identical bytes reuse the same upload for 24h). Usually unnecessary — run_model handles "@./path" inputs itself.
  • get_predictionFetch the status and outputs of a past or in-flight prediction by id — use to pick up a run that returned done=false. Pass wait_seconds to keep waiting for it to finish.

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.

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"
      }
    }
  }
}

MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mcp-215": {
      "command": "npx",
      "args": [
        "-y",
        "fetch"
      ],
      "env": {
        "WAVESPEED_API_KEY": "YOUR_WAVESPEED_API_KEY_HERE"
      }
    }
  }
}

Frequently asked questions

Replicate MCP Server is categorized under Multimedia Process and uses a local stdio subprocess. MCP Server belongs to Multimedia Process and uses a local stdio subprocess. Pick Replicate MCP Server for multimedia process work and 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.

Replicate MCP Server is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. 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 replicate-mcp-server and mcp-215 as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Replicate MCP Server has a quality signal of 65/100 (Great) with 4 views, 0 installs and 4 GitHub stars. MCP Server has 67/100 (Great) with 1 views, 0 installs and 34 GitHub stars.