Skip to main content
Glama
sena-labs

Replicate-MCP-Server

by sena-labs

Replicate MCP Server

Ko-fi

A universal, cross-platform MCP server that gives any MCP client — Claude Desktop, the claude.ai web app (Connectors), Cursor, Cline / Continue in VS Code, or your own application — native access to the full Replicate catalog: image generation, video, music, speech, upscaling, segmentation, LLMs, voice cloning, 3D, lipsync — anything Replicate hosts.

It speaks both transports: stdio (the standard for local desktop/editor integrations) and HTTP/SSE (for remote/web clients and your own services).

Once connected to your MCP client, you can simply ask:

"Generate a cinematic shot of a lighthouse in a storm, 21:9" "Write a 30-second synthwave track" "Make a 5-second video of a paper airplane flying through a city" "Read this paragraph in a British male voice" "Upscale this image 4x"

…and the assistant calls the right Replicate model, waits for the result, and (on local/stdio setups) downloads the output to your machine.


Install

Fastest — one-click via Smithery (): open the server page and copy the Install snippet for your client (Claude, Cursor, VS Code, Cline, Windsurf, …). It wires the server in and prompts for your Replicate token. (Routes through Smithery's hosted gateway — easiest, zero local setup.)

Token-private — npm + stdio (your Replicate token never leaves your machine):

npx -y replicate-mcp-server

…or drop it into any MCP client's config (full walkthrough under Installation).

Claude Desktop one-file install: download the latest .mcpb from Releases and drag it onto Claude Desktop.

Already running (bring your own token): https://replicate-mcp.sena-labs.dev/mcp — HTTP/SSE, multi-tenant; pass your token in the x-replicate-api-token header.

Once connected, try the example prompts below.


Related MCP server: Aetherwave Studio

Try it

Once your client is connected, ask in plain language — the assistant picks the right tool, waits for the result, and downloads the output locally:

"Generate a cinematic shot of a lighthouse in a storm, 21:9" "Which is the cheapest model for a 5-second video? Then use it." — recommend → generate "Make 4 logo variations of a fox, flat vector style" — batch (concurrent) "Transcribe this audio, summarise it, then read the summary aloud" — DAG pipeline "Upscale this image 4×" · "Write a 30-second synthwave track" · "Read this in a British male voice" "Kick off a Flux LoRA fine-tune on my dataset and tell me when it's done" — training

Discovery tools (replicate_recommend_model, replicate_search_models, replicate_estimate_cost) and the 5 built-in workflow prompts help it chain multi-step jobs without you naming models.


What's inside

36 tools and 66 curated models, designed to be both ergonomic for common cases and fully open-ended for everything else. Every generate/run tool waits for completion and auto-downloads the outputs to your machine — you ask once and get back local files, not a job id to babysit:

Curated generation tools

Tool

Purpose

replicate_generate_image

Text → image. Curated: Flux Schnell / Dev / Pro / 2-Max, SD 3.5, Recraft v3 / v4.1, Seedream, Ideogram v2, Imagen 3.

replicate_generate_video

Text (or image) → video. Curated: Kling Pro, Minimax, Hunyuan, Luma Ray, Wan 2.2, Grok Video, Seedance.

replicate_generate_audio

Text → music / songs. Curated: MusicGen, ACE-Step (full songs with lyrics), Riffusion, MiniMax Music.

replicate_generate_speech

Text → speech (TTS). Curated: Kokoro, Minimax Speech, Chatterbox, Gemini TTS, Grok TTS.

replicate_chat

Text → text via LLM. Curated: Llama 3.1 405B, Llama 3 70B / 8B, Mistral 7B, Mixtral 8x7B, DeepSeek-R1.

replicate_vision

Image → text. Curated: LLaVA 13B / 1.6 34B, BLIP-2, Qwen2-VL.

replicate_upscale_image

Image → higher-res image. Curated: Real-ESRGAN, Clarity Upscaler, Clarity Pro, SwinIR, GFPGAN.

replicate_remove_background

Image → transparent PNG. Curated: rembg, BiRefNet, BRIA RMBG.

replicate_transcribe_audio

Audio/video → text. Curated: Whisper, Distil-Whisper, WhisperX (diarization), ElevenLabs Scribe.

replicate_inpaint

Mask-based image edit. Curated: Flux Fill Pro, SD inpaint, Ideogram v2 edit.

replicate_segment

Image → mask. Curated: SAM 2, Grounded-SAM (text-prompt).

replicate_embed_text

Text(s) → vector embeddings. Curated: BGE, Jina v3, MPNet.

Voice, 3D, and avatar tools

Tool

Purpose

replicate_clone_voice

Text + reference sample → speech in a cloned voice. Curated: XTTS v2, OpenVoice v2.

replicate_generate_3d

Text or image → 3D mesh (GLB/OBJ). Curated: Hunyuan 3D, Rodin, TripoSR.

replicate_lipsync

Portrait + text/audio → lip-synced talking video. Curated: Video Avatar, SadTalker.

Orchestration tools

Tool

Purpose

replicate_batch_start / replicate_batch_status

Run up to 50 predictions concurrently as a background job; poll progress + results.

replicate_pipeline_start / replicate_pipeline_status

Run a DAG of predictions — independent steps in parallel, downstream steps wired via "$stepId.urls[0]" template refs.

replicate_recommend_model

Rank curated models in a category by priority (speed / cost / quality / balanced) with cost estimates — advises which model to use.

replicate_refresh_models

Discover popular Replicate models not yet in the curated registry.

Fine-tuning (trainings)

Tool

Purpose

replicate_create_training

Kick off a fine-tune / training run on a trainable base model (e.g. a Flux LoRA) with your dataset + parameters.

replicate_get_training

Poll a training by id (status, logs, resulting model version).

replicate_list_trainings

List your recent training runs (id, model, status, timestamps).

replicate_cancel_training

Cancel an in-progress training run by id.

Deployments

Tool

Purpose

replicate_list_deployments

List your Replicate deployments (owner/name, current model + version).

replicate_get_deployment

Inspect one deployment (model, version, hardware, autoscaling min/max).

replicate_run_deployment

Run a prediction against a deployment — waits for completion and auto-downloads the outputs, same as the curated generate tools.

Prediction management + cost

Tool

Purpose

replicate_list_predictions

Recent prediction history (id, model, status, timestamps).

replicate_cancel_prediction

Cancel an in-progress async job by id.

replicate_estimate_cost

Pre-call USD estimate from a curated price table.

Generic / discovery tools

Tool

Purpose

replicate_run_model

Run any Replicate model with arbitrary inputs (escape hatch for anything not covered by a curated tool).

replicate_search_models

Free-text search across the Replicate catalog.

replicate_get_model_schema

Get the OpenAPI input schema for any model.

replicate_get_prediction

Poll a long-running prediction (videos, long songs).

replicate_upload_file

Upload a file to Replicate storage (by local file_path or base64_data / data URI); returns a URL to feed into other tools.

Outputs:

  • Image / video / audio: downloaded to ~/Downloads/replicate-mcp/<model>/<prediction_id>/ (configurable). Local paths and original Replicate URLs are both returned. For images, the response also includes an inline base64 preview (sized to stay under Claude Desktop's 1 MB tool-result limit; larger images fall back to the URL embed) plus three embed snippets (<details>-wrapped iframe viewer with Save button, responsive <img>, or markdown image) so the chat client can render the result inline at full size.

  • Text (LLM, vision, classifier): the model's reply is surfaced in text_output and printed at the top of the tool response so Claude can read it directly.

Editing an image you have on hand

The editing tools (replicate_upscale_image, replicate_inpaint, replicate_remove_background, replicate_vision, image-to-video, lipsync, 3D-from-image) all take a URL. To turn a file into a URL, use replicate_upload_file:

  • You have a local path (Claude Desktop): replicate_upload_file({ file_path: "C:/Users/you/photo.jpg" }) → URL → pass to the editing tool. If an image is dragged/pasted into the chat, save it to disk first — the server cannot read chat attachments directly, and Claude Desktop cannot reproduce a large image's exact bytes as a tool argument.

  • You have the bytes in memory (claude.ai web with a code container): read the uploaded file in the container, base64-encode it, then replicate_upload_file({ base64_data: "data:image/png;base64,..." }) → URL → editing tool. base64_data accepts a bare base64 string or a full data:<mime>;base64,... URI.

  • You already have a URL: pass it straight to the editing tool — no upload needed.


Why this over the official Replicate MCP?

Replicate ships its own official MCP (replicate-mcp on npm, hosted at mcp.replicate.com). It's a great, free, always-up-to-date 1:1 bridge to the REST API — Stainless-generated from Replicate's OpenAPI spec, ~37 generic tools that mirror each endpoint (account, collections, deployments, files, hardware, models, predictions, trainings, webhooks), plus a --tools=dynamic mode and a Deno "Code Mode" sandbox.

This server is built for a different job. The official MCP is a thin, generic API bridge: to make an image you call create_predictions with a raw model id and raw input JSON, and the LLM has to look up each model's input schema itself; it returns starting and does not wait or download (you opt into Prefer: wait, capped at 60s, then poll manually). This server is a batteries-included creative studio: task-oriented tools with sane defaults, a curated model registry, built-in orchestration, and cost awareness — every generate/run tool waits for completion and auto-downloads the outputs locally.

Axis

Official Replicate MCP

This server (sena-labs)

Philosophy

Thin generic API bridge (1:1 REST)

Task-oriented creative studio

Tools

~37 generic REST tools (+ dynamic/code modes)

36 task tools (generate_image/video/audio/speech/3d, clone_voice, lipsync, upscale, inpaint, segment, remove_background, transcribe, vision, chat, embed)

Media helpers

None — raw predictions.create + raw input JSON

Purpose-built tools with sane defaults (aspect ratio, etc.)

Run UX

Returns starting; opt-in Prefer: wait (≤60s) then manual poll

Waits for completion AND auto-downloads outputs locally

Model curation

None — you supply the model + look up its schema yourself

60+ curated models + recommend_model + smart routing + search_models + get_model_schema

Orchestration

None

Async batch (batch_start/status) + DAG pipelines (pipeline_start/status)

Cost

None

estimate_cost pre-flight USD estimate

Fine-tuning + deployments

Yes (generic REST)

Yes — create/get/list/cancel_training + list/get/run_deployment (run waits + downloads)

Extras

OAuth, auto-sync to API

5 workflow prompts + 2 MCP resources (catalog + capabilities)

REST breadth

Broader raw coverage (collections, files, hardware, webhooks, account)

Focused on creative tasks + the orchestration/cost layer on top

Hosted / official

Official, free, hosted at mcp.replicate.com with OAuth, auto-synced

Self-hostable, multi-tenant (per-user token), stdio + HTTP/SSE

In short: the official MCP is the right tool if you want exhaustive, always-current raw REST access (and a free hosted endpoint with OAuth). This server is the right tool if you want a curated, orchestrated, cost-aware creative workflow where you describe what you want and get finished files back — no schema lookups, no manual polling, no manual downloads. They're complementary: use the official one for full-surface API plumbing, use this one for getting creative work done.


Prerequisites

  • Node.js ≥ 20 (uses native fetch and Web Streams)

  • A Replicate account with an API token: https://replicate.com/account/api-tokens

  • An MCP client — e.g. Claude Desktop (macOS/Windows/Linux), the claude.ai web app, Cursor, Cline / Continue (VS Code), or any custom MCP host. The walkthrough below uses Claude Desktop as the example; the same command / args / env block works in any client's MCP config. For remote/web clients, see HTTP / SSE transport.


Installation

1. Clone and build

git clone <this-repo> replicate-mcp-server
cd replicate-mcp-server
npm install
npm run build

This produces dist/index.js, which is the server entry point.

2. Get your Replicate API token

  1. Go to https://replicate.com/account/api-tokens

  2. Click Create token

  3. Copy the token (starts with r8_...)

3. Connect it to your MCP client (Claude Desktop shown)

The MCP command / args / env block below is identical across clients — only the location of the config file differs (Cursor: ~/.cursor/mcp.json; Cline/Continue: the extension's MCP settings; custom hosts: your own launcher). For Claude Desktop, find your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Add the replicate entry (merge with anything already there):

{
  "mcpServers": {
    "replicate": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/replicate-mcp-server/dist/index.js"],
      "env": {
        "REPLICATE_API_TOKEN": "r8_your_token_here"
      }
    }
  }
}

⚠️ Use the absolute path to dist/index.js. Tildes (~) and relative paths don't work in this config.

Optional: set a custom download directory:

"env": {
  "REPLICATE_API_TOKEN": "r8_...",
  "REPLICATE_DOWNLOAD_DIR": "/Users/you/my-replicate-outputs"
}

4. Restart Claude Desktop

Fully quit and reopen Claude Desktop. You should see "replicate" listed in the tools panel (the hammer icon at the bottom of the chat).


VS Code (native MCP)

VS Code has built-in MCP support. This repo ships a ready-to-use .vscode/mcp.json that runs the published npm package locally and prompts for your token (stored masked, never written to the file):

{
  "inputs": [
    { "type": "promptString", "id": "replicate_token", "description": "Replicate API token", "password": true }
  ],
  "servers": {
    "replicate": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "replicate-mcp-server"],
      "env": { "REPLICATE_API_TOKEN": "${input:replicate_token}" }
    }
  }
}

Open the file in VS Code and click Start above the replicate server (or run MCP: List Servers). VS Code asks for the token once.

Note on the Smithery "One-Click Install": it wires VS Code to Smithery's hosted gateway (mcp.smithery.run), which runs the server on Smithery's infrastructure and would route your personal Replicate token through it on every call. For a personal API token, prefer the local stdio config above — the token never leaves your machine.


Usage examples

Once connected, just talk to your assistant naturally (examples use Claude phrasing, but any MCP-capable assistant works):

Images

Generate an origami fox in a misty forest, 16:9 aspect ratio.

High-quality images with text

Make a logo for a coffee shop called "Crema" — use Recraft.

Video

Create a 5-second video of a paper airplane gliding through a neon-lit city. Use Kling Pro.

(Videos take 1–5 minutes. If the call times out, Claude will automatically poll with replicate_get_prediction.)

Music

Write a 20-second instrumental synthwave loop with a heavy bassline.

Songs with lyrics

Use the ACE-Step model to generate a sad indie-folk song with these lyrics: [...]

Speech

Read this paragraph in a British female voice: [...]

Chat with an LLM

Ask Llama 3 70B to explain quantum entanglement in two sentences.

Image understanding

Look at this photo [URL] and tell me what objects are in the foreground.

Upscale

Upscale this image 4x with Real-ESRGAN: [URL]

Background removal

Cut the background out of this product photo: [URL]

Anything else

Search Replicate for "speech to text", then transcribe this audio: [URL]

(Claude picks Whisper via replicate_search_modelsreplicate_run_model.)


How async predictions work

Image generation usually finishes in seconds. Video, long music, and some heavy models can take minutes. The server handles this transparently:

  1. You call replicate_generate_video.

  2. The server waits up to timeout_ms (default 5 minutes) by polling Replicate every 2 seconds.

  3. If it finishes in time → you get URLs and local paths.

  4. If it doesn't → you get back pending: true and a prediction_id. Claude can call replicate_get_prediction later to retrieve the result.

You can bump timeout_ms up to 30 minutes if you want to wait inline:

Generate a 10-second Hunyuan video. Wait up to 20 minutes.


Configuration

Environment variable

Default

Purpose

REPLICATE_API_TOKEN

(required)

Your Replicate API token.

REPLICATE_DOWNLOAD_DIR

~/Downloads/replicate-mcp

Where to save generated files.


Costs

Replicate charges per second of compute, varying by model. Approximate costs:

  • Flux Schnell image: ~$0.003

  • Flux Dev image: ~$0.025

  • Flux 1.1 Pro image: ~$0.04

  • Kling 1.6 Pro 5-second video: ~$0.45

  • MusicGen 30-second clip: ~$0.05

  • Kokoro TTS: ~$0.001 per request

  • Llama 3 70B chat: ~$0.001 per 1K tokens

  • LLaVA 13B vision: ~$0.001 per image

  • Real-ESRGAN 4x upscale: ~$0.003 per image

See https://replicate.com/pricing for current rates and your billing dashboard for usage.


Troubleshooting

"REPLICATE_API_TOKEN environment variable is not set" You haven't put the token in the env block of your Claude Desktop config. Double-check the JSON and restart Claude Desktop.

"Server disconnected" in Claude Desktop Usually a path problem. Make sure the path to dist/index.js is absolute and the file exists. Test it manually:

REPLICATE_API_TOKEN=r8_... node /ABSOLUTE/PATH/dist/index.js

You should see replicate-mcp-server v1.0.0 ready. API token detected. on stderr. Press Ctrl+C to quit.

A model isn't in the curated list Just use its full identifier: model: "stability-ai/sdxl" works the same way. Or use replicate_search_models to find one.

Need a specific version of a model Use the owner/name:version_hash form: model: "black-forest-labs/flux-schnell:bf53bdb93d739c9c915091cfa5f49ca662d11273a5eb30e7a2ec1939bcf27a00".

Downloaded files are missing Check REPLICATE_DOWNLOAD_DIR. Files are organised as <dir>/<sanitized-model>/<prediction-id>/output-N.<ext>.


Deploy as platform (v3.0+)

Beyond a single local stdio client, the server also runs as a multi-user platform — HTTP/SSE transport (for claude.ai web Connectors, remote editors, and custom apps), multi-token pool, webhook-driven async completion, Docker, npm distribution.

HTTP / SSE transport

Run the server as an HTTP service instead of stdio:

# Local-only, no auth — for development.
node dist/index.js --http --port 8088

# LAN-exposed with Bearer auth — behind a private network.
node dist/index.js --http --host 0.0.0.0 --port 8088 --api-key your-shared-secret

Clients POST JSON-RPC to http://host:port/mcp with:

Authorization: Bearer your-shared-secret
Content-Type: application/json
Accept: application/json, text/event-stream
Mcp-Session-Id: <set by server on initialize, echoed on follow-ups>

Health probe (no auth): GET /health{"status": "ok"}.

npm install (when published)

npx replicate-mcp-server --http --port 8088 --api-key SECRET
# or as a Claude Desktop launcher:
npx replicate-mcp-server

Docker

docker build -t replicate-mcp-server .
docker run --rm \
  -e REPLICATE_API_TOKEN=r8_... \
  -e LOG_LEVEL=info \
  -p 8088:8088 \
  replicate-mcp-server

The default CMD starts in HTTP mode on 0.0.0.0:8088. Add --api-key via docker run ... replicate-mcp-server --http --api-key SECRET if you expose the port beyond a private network.

Multi-token round-robin pool

For team / multi-tenant deployments, give the server multiple Replicate accounts to spread rate-limit headroom:

REPLICATE_API_TOKEN_POOL=r8_account_a,r8_account_b,r8_account_c \
  node dist/index.js --http --port 8088

Each Replicate API call rotates through the pool. Falls back to single REPLICATE_API_TOKEN if only one configured.

Webhook receiver (event-driven completion)

If the server is reachable from the public internet, you can replace polling with webhook callbacks:

REPLICATE_WEBHOOK_PUBLIC_URL=https://your.domain/webhook \
REPLICATE_WEBHOOK_PORT=8089 \
  node dist/index.js --http --port 8088

Replicate POSTs prediction completion to the public URL; the server resolves the awaiting tool call without polling. Per-prediction random token authenticates each callback.

Smithery listing

This server is live on Smithery: smithery.ai/server/sena-labs/replicate-mcp-server — scanned (36 tools, 5 prompts, 2 resources) and one-click installable into Claude, Cursor, VS Code, Cline, Windsurf, and other MCP clients. smithery.yaml defines the install-time config UI (token, optional pool, log level, download dir).

claude.ai web Connector

For listing as a Connector inside the claude.ai web app:

  1. Deploy the server publicly with HTTPS (Render / Fly.io / Cloudflare / bare VPS behind a TLS-terminating reverse proxy).

  2. Register the MCP HTTP endpoint at https://console.anthropic.com/settings/connectors.

  3. Users add it from claude.ai → Settings → Connectors → Add custom.

Anthropic's Connector review is manual — provide the OAuth flow / API key input form they require, plus the public /mcp URL.


Architecture

src/
├── index.ts        # MCP server, tool registration, response formatting (handler factory)
├── replicate.ts    # API client, polling, output extraction (URLs + text), file download with retry
├── schemas.ts      # Zod schemas for tool inputs (with .strict())
├── models.ts       # Curated model registry per category (8 categories)
└── constants.ts    # Shared constants (timeouts, paths, character limits)

test/
├── stdio-test.mjs       # End-to-end MCP handshake + tool registration test (response correlation)
└── unit/                # node:test unit suites for pure helpers
    ├── extract-urls.test.mjs
    ├── extract-texts.test.mjs
    ├── infer-filename.test.mjs
    └── sanitize.test.mjs

The server uses the stdio transport (standard for local Claude Desktop integrations) and the modern registerTool API of the MCP TypeScript SDK. All tool inputs are validated by Zod schemas with .strict() enforcement — no unknown parameters slip through.

The 8 curated generation tools share a single makeGenerationHandler factory; each tool only declares how it maps its specific input fields onto the Replicate request body. Output URLs are extracted by recursively walking the prediction's output field, which can be a string, an array, a nested object, or any combination. Text outputs (from LLM / vision / classifier models) are surfaced through the same walker so non-URL strings appear in the response. Files are streamed to disk using Node's stream/promises.pipeline() so multi-GB videos don't blow up memory. Downloads retry once on transient failures (network error or 5xx) with exponential backoff; 4xx errors fail fast.

Testing

npm run build
node --test test/unit/*.test.mjs    # 43 unit tests on pure helpers
node test/stdio-test.mjs            # End-to-end MCP handshake + tool/list + tool/call sanity check

Support & contact

If this project is useful to you, consider supporting its development:

ko-fi.com/senalabs


Trademarks & disclaimer

This is an independent, community-built project. It is not affiliated with, endorsed by, sponsored by, or officially connected to Replicate, Inc.

  • "Replicate" and the Replicate logo are trademarks of Replicate, Inc. This server is an interoperability client for Replicate's public HTTP API; the name is used descriptively (nominative fair use) to indicate compatibility — not to imply origin or endorsement. For Replicate's own official MCP server, see replicate.com/docs/reference/mcp.

  • Built on the Model Context Protocol (MCP), the open standard created by Anthropic.

  • Model names referenced (FLUX, Recraft, Whisper, Llama, etc.) are trademarks of their respective owners and are used only to identify the models you can run.

You are responsible for complying with Replicate's Terms of Service and the license of each model you invoke. Bundled third-party open-source components and their licenses are listed in THIRD_PARTY_LICENSES.md. The banner/logo use the Inter typeface (SIL Open Font License 1.1).


License

MIT — see LICENSE.

Available Tools

36 tools
replicate_batch_startStart Async Batch PredictionsA

Run multiple Replicate predictions in parallel as a background job. Returns a job_id immediately — the predictions run in the background. Poll replicate_batch_status for progress and results.

Use this when you have 2–50 predictions to run and don't want to block. Each item specifies its own model and input, so you can mix models in one batch.

IMPORTANT: model must be a full Replicate identifier ("owner/name" or "owner/name:version"), not a curated shortcut like "flux-schnell". Use replicate_get_model_schema to look up the correct identifier.

Args:

  • items (array, 1–50): Predictions to run. Each: { model: "owner/name[:version]", input: {...} }.

  • concurrency (1–10, default 3): Max simultaneous predictions. Raise with caution — Replicate rate-limits free accounts.

  • download (boolean, default true): Download output files locally.

  • timeout_ms_per_item (default 300000): Per-prediction timeout. Timed-out items have pending=true in their result.

  • ttl_hours (1–72, default 1): How long to keep results in memory. Job state is lost if the MCP server restarts.

Returns: { job_id, total, message }

Example: items=[ { model: "black-forest-labs/flux-schnell", input: { prompt: "a red fox" } }, { model: "black-forest-labs/flux-schnell", input: { prompt: "a blue whale" } }, ] → Returns { job_id: "abc-123", total: 2, message: "..." } → Then poll: replicate_batch_status({ job_id: "abc-123" })

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesPredictions to run. 1–50 items.
downloadNoDownload output files locally. Default: true.
ttl_hoursNoHow long to keep job results in memory (1–72h). Default: 1h. State is lost if the server restarts.
concurrencyNoMax simultaneous predictions (1–10). Default: 3.
timeout_ms_per_itemNoPer-prediction timeout in ms (5000–1800000). Default: 300000 (5min).

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses immediate return, background execution, polling mechanism, concurrency behavior, timeout handling, TTL, and state loss on restart. Annotations (readOnlyHint=false, etc.) are consistent and the description adds rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-organized with clear sections (overview, when to use, important note, args, return, example). Each sentence is purposeful. Slightly verbose but efficient for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no output schema, and complexity of background jobs, the description covers all key aspects: usage, parameters, return shape, polling instructions, and edge cases (timeout, TTL, server restart). Highly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant value: explains items array structure with example, cautions about concurrency rate limits, explains download default, timeout behavior, and TTL meaning. Goes well beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Run multiple Replicate predictions in parallel as a background job' with specific verb and resource. It distinguishes from siblings by mentioning polling replicate_batch_status and contrasting with single prediction tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use: 'when you have 2–50 predictions to run and don't want to block.' Also warns about rate limits and suggests replicate_get_model_schema for correct identifiers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_batch_statusGet Batch Job StatusA
Read-onlyIdempotent

Poll the status of an async batch job started with replicate_batch_start.

Args:

  • job_id (string): Job ID returned by replicate_batch_start.

  • include_results (boolean, default true): Include full PredictionResult per item. Set false for a counts-only summary while the job is still running.

Returns structuredContent: { job_id, overall_status, total, succeeded, failed, running, pending, created_at, expires_at, items: [{ index, model, status, prediction_id, result?, error?, started_at, completed_at }] }

overall_status: "running" — predictions still in progress "completed" — all items succeeded "partial" — all done, at least one failed

Tip: Poll every 10–30 seconds until overall_status is "completed" or "partial".

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob ID returned by replicate_batch_start.
include_resultsNoInclude full PredictionResult per completed item. Set false to get counts-only summary for large batches. Default: true.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the return format (structuredContent with detailed fields), explains overall_status values with meanings, and provides polling guidance. Annotations already declare readOnlyHint and idempotentHint, and the description adds behavioral context beyond those without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a summary line, argument list, return type explanation, status definitions, and a tip. Every sentence serves a purpose, and the structure aids readability without unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all aspects needed for a polling tool: purpose, parameters, return structure (including example fields), status interpretations, and a practical polling interval. Given the tool's complexity, it leaves no critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes both parameters (100% coverage), but the description adds practical value for include_results, explaining the trade-off between full results and counts-only summary for large batches. This extra context justifies a score above baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it polls the status of an async batch job, specifically linking to replicate_batch_start. It uses precise language ('poll the status') and distinguishes itself from sibling tools like replicate_batch_start (starts jobs) and other status tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly connects to replicate_batch_start, implying usage after starting a batch job. It also provides a concrete polling tip (every 10-30 seconds). However, it does not explicitly state when not to use it or contrast with single-prediction status tools, though the sibling context makes it clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_cancel_predictionCancel a Replicate predictionA
DestructiveIdempotent

Cancel an in-progress prediction by its ID. Useful for long-running async jobs (video, large LLM) when the user no longer needs the result.

Args:

  • prediction_id (string): ID of the prediction to cancel (returned by an earlier generate_* call).

Returns: PredictionSummary with updated status (typically "canceled").

ParametersJSON Schema
NameRequiredDescriptionDefault
prediction_idYesID of the prediction to cancel.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include destructiveHint=true and idempotentHint=true. Description adds that the tool cancels in-progress predictions and returns a PredictionSummary with updated status (typically 'canceled'). This provides behavioral detail beyond annotations, such as the return type and typical outcome.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two paragraphs: first states purpose and usage context, second lists args and returns. Every sentence is essential; no redundancy. Front-loaded with core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple operation (cancel by ID), the description covers all needed aspects: purpose, when to use, parameter source, and expected result. No output schema exists, but the description adequately describes the return type.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter prediction_id. Description adds context: 'returned by an earlier generate_* call,' which helps the agent understand the source of the ID, going beyond the schema's basic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Cancel an in-progress prediction by its ID.' This is a specific verb+resource pair, and it distinguishes from sibling tool replicate_cancel_training which cancels training rather than predictions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides guidance: 'Useful for long-running async jobs (video, large LLM) when the user no longer needs the result.' This tells the agent when to use the tool. It also notes that the prediction_id comes from an earlier generate_* call, aiding context. Could explicitly mention when not to use, but clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_cancel_trainingCancel a Replicate trainingA
DestructiveIdempotent

Cancel an in-progress training run by its ID. Trainings can run for many minutes and cost real money — cancel when no longer needed.

Args:

  • training_id: ID of the training to cancel.

Returns structuredContent: TrainingSummary with the updated status (typically "canceled").

ParametersJSON Schema
NameRequiredDescriptionDefault
training_idYesID of the in-progress training run to cancel.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (destructiveHint, idempotentHint), it warns about cost and duration, and indicates the returned status. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise, two sentences with args and returns fully covering the tool's purpose and usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple cancel tool: explains when to use, parameter, and return type. Could mention error cases but not necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage for training_id, but the description adds context that only in-progress trainings can be canceled, adding value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool cancels an in-progress training run by ID, distinguishing it from sibling tools like replicate_create_training and replicate_get_training.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides context to cancel when training is no longer needed to avoid costs, but does not explicitly contrast with alternatives like replicate_cancel_prediction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_chatChat with an LLM via ReplicateA

Run 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."

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoLLM identifier. Curated keys: llama-3.1-405b, llama-3-70b, llama-3-8b, mistral-7b, mixtral-8x7b, deepseek-r1. Or full Replicate "owner/name[:version]".llama-3-70b
promptYesUser message / prompt for the LLM.
downloadNoLLM output is text — default false (no file to download).
max_tokensNoMax tokens to generate. Default model-dependent.
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNoAdditional model-specific inputs.
temperatureNoSampling temperature 0.0–2.0. Lower = more deterministic.
system_promptNoOptional system prompt to set persona / instructions.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readonly, non-idempotent, non-destructive. The description adds the crucial timeout behavior (polling via replicate_get_prediction), explains the download parameter is irrelevant for text, and describes the return format. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: a short purpose sentence, a list of use cases, a clear Args section with inline notes, a Returns section, and concrete examples. Every sentence adds distinct value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description sufficiently explains the return value (text_output[0]) and polling behavior when timeout is exceeded. All 8 parameters are covered with examples, making the tool fully understandable for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description enriches every parameter: explains model curated keys vs custom format, clarifies download default and reason, details timeout default and polling fallback, provides examples for prompt and system_prompt usage. This goes well beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Run' with a clear resource 'large language model', and enumerates diverse text-generation use cases (Q&A, code, summarisation, translation). It inherently distinguishes from sibling tools that generate images, audio, or video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for text-in/text-out tasks and contrasts with multimodal siblings. However, it does not explicitly state when not to use this tool or mention alternative tools for specific sub-tasks like chat or code generation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_clone_voiceClone a voice with ReplicateA

Synthesize speech in a cloned voice. Provide a short reference audio sample (~5-30 s) and the text to speak; the model reproduces the voice characteristics.

DISPLAY REQUIREMENT — after this tool returns successfully, include the URL printed in the tool's text content as a markdown link [Audio](URL) so the user can play it. URLs expire in ~24h.

Args:

  • text (string, 1-5000): Text to synthesize in the cloned voice.

  • reference_audio_url (URL): URL of the voice sample to clone from. Use replicate_upload_file to upload a local file first.

  • language (string, optional): ISO-639 code (e.g. "en", "es", "it"). Default "en".

  • model (string, default "xtts-v2"): Curated key (xtts-v2, openvoice-v2) or "owner/name[:version]".

  • extra_input (object, optional): Model-specific extras.

  • download (boolean, default true).

  • timeout_ms: Default 300000.

Returns: PredictionResult. local_paths contain WAV/MP3 files.

Examples:

  • text="Hello world, this is my cloned voice.", reference_audio_url="<url-to-your-voice-sample.wav>"

  • text="Buongiorno a tutti!", reference_audio_url="", language="it"

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to synthesize in the cloned voice.
modelNoVoice cloning model. Curated: xtts-v2, openvoice-v2. Or "owner/name".xtts-v2
downloadNo
languageNoISO-639 language code (e.g. 'en', 'es', 'it'). Default: 'en'.
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNoAdditional model-specific inputs.
reference_audio_urlYesURL of a short voice sample (~5-30s) to clone. Use replicate_upload_file if you only have a local file.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial value beyond annotations: it discloses URL expiry (~24h), timeout polling behavior, and a display requirement. It aligns with annotations (readOnlyHint=false, destructiveHint=false) and provides no contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a summary, display requirement, parameter list, returns note, and examples. It is appropriately concise without missing essential details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters, nested objects, and no output schema, the description covers key aspects: input constraints, timeout handling, and return format. It could mention how to extract the URL from results or handle multiple files, but overall it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite high schema coverage (86%), the description adds meaning: it clarifies the role of reference_audio_url, lists default values, and explains timeout behavior. The Args section provides context not captured in the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with 'Synthesize speech in a cloned voice,' clearly stating the tool's core function. It distinguishes itself from sibling tools like replicate_generate_speech by focusing on voice cloning from a reference sample.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: it specifies the reference audio length (~5-30 s) and directs users to replicate_upload_file for local files. However, it does not explicitly contrast this tool with alternatives like replicate_generate_speech.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_create_trainingStart a Replicate fine-tune / training runA

Kick off a fine-tuning (training) run on a trainable base model — e.g. a Flux LoRA trainer — with your dataset and hyperparameters. Returns immediately with a training ID; poll it with replicate_get_training.

Args:

  • model: BASE trainer "owner/name" (or "owner/name:version" to pin the trainer version inline). e.g. "ostris/flux-dev-lora-trainer".

  • version (optional): trainer version id. Required unless pinned inline on model.

  • destination: "owner/name" the trained weights are pushed to. The destination model must already exist on your account.

  • input: training inputs as a JSON object (dataset URL + hyperparameters). Call replicate_get_model_schema on the trainer to see its exact inputs.

Returns structuredContent: TrainingSummary { id, status, model, version, destination, created_at, completed_at, output_version, error }.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputNoTraining inputs as a JSON object (dataset URL + hyperparameters). The exact keys depend on the trainer — call replicate_get_model_schema on the trainer model to see them.
modelYesThe BASE trainer model as "owner/name" (or "owner/name:version" to pin the trainer version inline). Example: "ostris/flux-dev-lora-trainer".
versionNoTrainer version id. Required unless you pinned it inline on `model` as "owner/name:version".
destinationYesWhere the trained weights are pushed, as "owner/name". The destination model must already exist on your account.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=false, openWorldHint=true, idempotentHint=false. The description adds value by explaining the asynchronous behavior (returns immediately with training ID) and the need to poll. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a concise paragraph followed by a bulleted list of arguments. It is front-loaded with the purpose and every sentence is necessary and informative, with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description specifies the return type (TrainingSummary) with fields. It covers async behavior, prerequisites, and links to relevant tools for polling and schema introspection, making it fully informative for a training start tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all parameters have descriptions. The description adds extra context with examples, inline version pinning, and a cross-reference to replicate_get_model_schema for the input object, which goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Kick off') and clearly identifies the resource (fine-tuning/training run on a trainable base model). It includes an example and distinguishes from sibling tools like replicate_get_training (polling) and replicate_run_model (inference).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions polling with replicate_get_training and states a prerequisite (destination must exist). However, it does not explicitly say when to use this tool versus alternatives like replicate_run_model, though the context makes it clear it's for training, not inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_embed_textCompute text embeddingsA
Idempotent

Convert 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoEmbedding model. Curated: bge-large, jina-embeddings-v3, all-minilm. Or "owner/name".bge-large
textsYesA single text or an array of texts to embed.
downloadNoOutput is a numeric vector — default false.
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotency and non-destructiveness. The description adds return format details (structuredContent.output) and mentions model-specific shapes, providing behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (about 120 words) and well-structured: purpose, use cases, args list, return value. No redundant sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters, no output schema, and nested objects, the description covers main parameters and return format adequately. It lacks explanation for download and timeout_ms, but schema descriptions compensate. An example would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 80% schema description coverage, the description adds value by explaining texts (independent embedding, max 256), model (curated list or custom), and extra_input with an example. Two parameters (download, timeout_ms) are not elaborated but have schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool converts text into numeric embedding vectors and lists specific use cases (RAG, semantic search, clustering, similarity scoring), distinguishing it from siblings that generate images, audio, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear use contexts but does not explicitly contrast with alternative tools or state when not to use it. However, the embeddings-focused purpose implicitly differentiates from siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_estimate_costEstimate the USD cost of a Replicate predictionA
Read-onlyIdempotent

Return an approximate dollar-cost estimate for a planned prediction BEFORE running it. Prices are a hand-curated snapshot — actual billing comes from Replicate. Call this when the user asks "how much would X cost" or before launching a costly model.

Args:

  • model: Replicate "owner/name" id or a curated short key (e.g. "flux-schnell", "kling-pro").

  • num_outputs (1-20, optional): How many outputs to estimate. Default 1.

  • duration_seconds (1-600, optional): Required for per-second models (video, music, transcription, LLM).

Returns structuredContent: { resolved_model_id, num_outputs, duration_seconds, estimated_usd, pricing_basis, note }.

Examples:

  • model="flux-schnell", num_outputs=4 → ~$0.012 (4 × $0.003 per_run)

  • model="kling-pro", duration_seconds=5 → ~$0.45 (5 × $0.09 per_second)

  • model="meta/meta-llama-3-70b-instruct", duration_seconds=10 → ~$0.024 (10 × $0.0024 per_second)

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesReplicate model id ("owner/name") or a curated key (e.g. "flux-schnell").
num_outputsNoHow many outputs to estimate for. Default 1.
duration_secondsNoFor models priced per second (video, audio, LLM), the expected duration / token-equivalent.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe reads. The description adds valuable context: prices are a 'hand-curated snapshot' and 'actual billing comes from Replicate,' and it clarifies required parameters for per-second models. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections for Args, Returns, and Examples. It front-loads the purpose in the first sentence. Every sentence adds value, and there is no redundancy or wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters and no output schema, the description explains the return structure (structuredContent with fields like resolved_model_id, estimated_usd, etc.) and provides multiple concrete examples. It covers the key aspects needed for an agent to understand and invoke the tool correctly. Minor gap: could mention that estimates are approximate, but that is already stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds meaning beyond the schema by explaining parameter types (e.g., model can be owner/name or short key), providing examples of how parameters affect the estimate, and listing default values and ranges. This helps agents use parameters correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns an approximate dollar-cost estimate for a planned prediction before running it. It uses specific verbs ('estimate cost') and identifies the resource ('Replicate prediction'), and it distinguishes from sibling tools which focus on running models, listing, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to call this tool: 'when the user asks "how much would X cost" or before launching a costly model.' While it doesn't list when not to use it or alternatives, the context makes it clear it's a unique cost estimation tool among many execution tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_generate_3dGenerate a 3D model with ReplicateA

Generate a 3D mesh (GLB/OBJ) from a text prompt or a reference image. 3D generation is slow — typically 1-5 minutes.

DISPLAY REQUIREMENT — after this tool returns successfully, include the download URL(s) so the user can open the 3D file. URLs expire in ~24h.

Args:

  • prompt (string, optional): Text description of the 3D object. Provide at least one of prompt or image_url.

  • image_url (URL, optional): Reference image to convert to 3D. Provide at least one of prompt or image_url. Use replicate_upload_file for local files.

  • model (string, default "hunyuan-3d"): Curated key (hunyuan-3d, rodin, triposr) or "owner/name[:version]".

  • extra_input (object, optional): Model-specific extras (e.g. {num_inference_steps: 50}).

  • download (boolean, default true): Download the GLB/OBJ locally.

  • timeout_ms: Default 300000. For complex objects, increase or use the pending+poll flow.

Returns: PredictionResult. local_paths will contain .glb or .obj files.

Examples:

  • prompt="A red ceramic teapot" → hunyuan-3d

  • image_url="", model="triposr" → fast single-image 3D

  • image_url="", model="rodin" → high-quality 3D

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNo3D generation model. Curated: hunyuan-3d, rodin, triposr. Or "owner/name".hunyuan-3d
promptNoText description of the 3D object to generate. Provide either this or image_url (or both).
downloadNo
image_urlNoURL of a reference image to convert to 3D. Provide either this or prompt (or both). Use replicate_upload_file for local images.
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNoAdditional model-specific inputs (e.g. {num_inference_steps: 50}).

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations: it mentions slowness (1-5 min), URL expiration (24h), timeout behavior (default 300000 ms, returning prediction ID on timeout), and return type (PredictionResult with local_paths). Annotations already indicate non-readonly, open-world, non-idempotent, and non-destructive, and the description aligns with these without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: purpose first, then behavioral notes, then an Args list, then examples. It front-loads key information. While it is somewhat lengthy, every part serves a purpose, and it avoids redundancy with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description adequately covers what is returned (PredictionResult with local_paths) and includes examples, parameter details, and behavioral notes. It addresses input requirements, display requirement, and timeout behavior. Minor omissions could include error handling or failure modes, but overall it is fairly comprehensive for a 6-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (83% of parameters have descriptions), so baseline is 3. The description adds additional semantics: for image_url it mentions using replicate_upload_file for local files, for model it gives curated keys and custom format, for timeout it explains what happens if exceeded, and for extra_input it provides an example. This adds meaningful value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a 3D mesh (GLB/OBJ) from a text prompt or a reference image.' This is specific and distinct from sibling tools like replicate_generate_image or replicate_generate_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on when to use this tool (for 3D generation) and includes important usage notes such as requiring at least one of prompt or image_url, indicating that 3D generation is slow (1-5 minutes), and a display requirement for download URLs. It also gives examples for different scenarios. While it doesn't explicitly exclude alternatives, the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_generate_audioGenerate Music or Audio with ReplicateA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoEither a curated key (musicgen, ace-step, riffusion, minimax-music, lyria-3-pro, lyria-3, lyria-2) or a Replicate identifier.musicgen
promptYesDescription of the music/audio. For songs with lyrics (ace-step), include the lyrics here.
downloadNoWhether to download the generated files locally. Default true. When false, only Replicate URLs are returned (URLs expire after ~24h).
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNoAdditional model-specific inputs.
duration_secondsNoDuration in seconds. Model-dependent.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readOnly (mutating) and non-destructive, but description adds context: download behavior, timeout handling, URL expiry (~24h), and model-specific parameter behavior. No contradictions. Score 4 because while annotations set baseline, description adds significant behavioral detail beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is long but well-structured with headings, bullet points, and examples. Every sentence adds value. Slightly verbose for some details (e.g., model list repeated), but still efficient. Front-loads core purpose and display requirement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description explains return format (PredictionResult with local_paths and URLs), covers edge cases (timeout returns prediction ID for polling), and model-specific constraints. Complete for a complex audio generation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description enriches each parameter with model-specific meaning: prompt becomes 'tags' for ace-step, duration_seconds ignored for some models, extra_input includes lyrics example. This adds major value beyond schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates music or audio from text prompts, using verbs like 'generate' and specifying resource (music/audio). It distinguishes between models (musicgen, ace-step, etc.) and their capabilities, differentiating it from sibling tools like replicate_generate_speech or replicate_generate_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when to use each model (e.g., 'musicgen for instrumental up to 30s', 'ace-step for songs with lyrics'), what parameters to set (e.g., prompt mapping, duration support), and what not to do (e.g., 'do NOT pass duration_seconds for lyria'). Includes display requirement and URL expiry warning.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_generate_imageGenerate Image with ReplicateA

Generate 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 , 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 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoRandom seed for reproducible outputs.
modelNoEither a curated key (flux-schnell, flux-dev, flux-pro, sd-3.5-large, recraft-v3, recraft-v4.1, flux-2-max, seedream, ideogram-v2, imagen-3) or a Replicate identifier like "owner/name" or "owner/name:version".flux-schnell
promptYesText prompt describing the image to generate.
downloadNoWhether to download the generated files locally. Default true. When false, only Replicate URLs are returned (URLs expire after ~24h).
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNoAdditional model-specific inputs merged into the request (e.g. {guidance: 3.5}). Use replicate_get_model_schema to see what a model accepts.
num_outputsNoNumber of images to generate (1-4).
aspect_ratioNoAspect ratio. Supported by Flux models. Default 1:1.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals multiple behavioral traits beyond annotations: URLs expire in ~24h, download behavior, timeout with polling fallback, error handling for missing API token, and the return structure with status fields. It also notes the display requirement for embedding images. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: purpose, usage, display requirement, args, returns, examples, error handling. It is front-loaded with the core action. While somewhat lengthy, each section is justified and no redundant sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, nested object, no output schema), the description covers all essential aspects: input details, return structure, error cases, polling mechanism, and even display instructions. It is comprehensive for an AI agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (all 8 parameters described), so baseline is 3. The description adds value by explaining defaults (model, aspect_ratio, download), providing examples, and guiding use of extra_input with replicate_get_model_schema. It goes beyond schema repetition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates images from text prompts and specifies it handles 'draw/create/generate an image of' requests. It distinguishes from sibling tools like replicate_generate_audio or replicate_generate_video by focusing on image generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool ('any draw/create/generate an image of request') and mentions the default model (Flux Schnell) for speed. It does not explicitly exclude alternatives but the domain is clearly image generation, which is sufficient given sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_generate_speechGenerate Speech (TTS) with ReplicateA

Convert 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: ""} for voice cloning with Chatterbox).

  • download (boolean, default true).

  • timeout_ms: Default 300000.

Returns: PredictionResult. local_paths contain WAV/MP3 files.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to synthesize.
modelNoEither a curated key (kokoro, minimax-speech, chatterbox, gemini-tts, grok-tts) or a Replicate identifier.kokoro
speedNoSpeech speed multiplier (0.5-2.0).
voiceNoVoice identifier. Kokoro examples: af_bella, am_adam, bf_emma. Check model docs for full list.
downloadNoWhether to download the generated files locally. Default true. When false, only Replicate URLs are returned (URLs expire after ~24h).
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNoAdditional model-specific inputs.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readonly, open world, non-idempotent, non-destructive. Beyond that, the description adds valuable context: URL expiration (~24h), timeout behavior with polling fallback, voice cloning capability via extra_input, and download behavior. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections: purpose, display requirement, parameter list, return info. Each sentence is purposeful, no redundancy. Slightly verbose but appropriate for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers most aspects but lacks detailed return value documentation (no output schema). Missing error handling or rate limit info. The description mentions local_paths and URL behavior but does not fully describe PredictionResult structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, providing baseline 3. Description adds significant meaning: lists curated model keys, explains voice naming convention, gives concrete example for extra_input, and details timeout_ms behavior. Goes beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Convert text to natural-sounding speech,' providing a specific verb and resource. It does not explicitly differentiate from sibling tools like replicate_generate_audio or replicate_clone_voice, but the function is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No direct guidance on when to use this tool versus alternatives. The description implies usage for TTS but lacks explicit comparisons or exclusionary criteria, limiting agent decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_generate_videoGenerate Video with ReplicateA

Generate 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoEither a curated key (kling-pro, minimax-video, hunyuan-video, luma-ray, wan-2.2, grok-video, seedance) or a Replicate identifier.kling-pro
promptYesText prompt describing the video.
downloadNoWhether to download the generated files locally. Default true. When false, only Replicate URLs are returned (URLs expire after ~24h).
image_urlNoOptional starting image URL for image-to-video. Not all models support this — check model schema.
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNoAdditional model-specific inputs.
aspect_ratioNoAspect ratio.
duration_secondsNoDesired duration in seconds. Model-dependent.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behaviors beyond annotations: video generation is slow (1-5 min), URLs expire in ~24h, timeout handling returns pending=true and prediction_id for polling, and download defaults to true. Annotations only indicate readOnlyHint=false and openWorldHint=true; the description adds critical operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: purpose first, then display requirement, then parameters in list form, then returns, then tip. It is somewhat long but every sentence adds value. Minor redundancy in parameter listing (mirrors schema) could be trimmed but still functional.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters (1 required) and no output schema, the description covers the async workflow, timeout and polling, download behavior, and display requirement. It references the return shape from replicate_generate_image, which is acceptable. The tips for handling long videos complete the picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, providing detailed parameter descriptions. The description adds value by explaining the model parameter format ('owner/name[:version]'), noting image_url support varies by model, and advising on timeout_ms for long videos. This operational context goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates a video clip from a text prompt and optionally an image. The verb 'generate' and resource 'video' are specific. It distinguishes from siblings (e.g., replicate_generate_image, replicate_generate_audio) by focusing on video generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for video generation, but it does not explicitly compare it to alternatives like replicate_generate_image or replicate_run_model. There is no 'when-to-use' or 'when-not-to-use' guidance. The tip about polling after timeout is useful post-call, not for initial decision.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_get_deploymentInspect a Replicate deploymentA
Read-onlyIdempotent

Get the configuration of one deployment: its current model + version, hardware, and autoscaling min/max instances.

Args:

  • deployment: "owner/name" of the deployment.

Returns structuredContent: DeploymentSummary.

ParametersJSON Schema
NameRequiredDescriptionDefault
deploymentYesDeployment identifier as "owner/name".

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint, idempotentHint, and non-destructive. The description adds that it returns 'structuredContent: DeploymentSummary' with specific fields, providing context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: one sentence plus a brief parameter list. It front-loads the key purpose and uses efficient formatting.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is complete. It covers what the tool returns, and additional details (errors, pagination) are unnecessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description of the 'deployment' parameter. The description repeats this info without adding new semantics, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get the configuration of one deployment' and lists specific fields (model, version, hardware, autoscaling min/max). It distinguishes from sibling tools like 'replicate_list_deployments' (list all) and 'replicate_run_deployment' (execute).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided. The usage is implied by the name and description, but alternatives like listing deployments are not mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_get_model_schemaGet Replicate Model Input SchemaA
Read-onlyIdempotent

Retrieve metadata and the OpenAPI input/output schema for a specific Replicate model. Use this before replicate_run_model to know which fields the model accepts and what they mean.

Args:

  • model (string): "owner/name" or "owner/name:version".

Returns structuredContent: { "model": string, "description": string | undefined, "visibility": string | undefined, "latest_version_id": string | undefined, "input_schema": object | undefined, // OpenAPI schema for inputs "output_schema": object | undefined, // OpenAPI schema for outputs "example_url": string | undefined // Replicate page with examples }

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel identifier in "owner/name" or "owner/name:version" form.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds value by detailing the structured content returned, including schema and metadata fields, which is beyond the annotation info.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured with clear 'Args' and 'Returns' sections. Every sentence serves a purpose, and the main use case is front-loaded. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter, comprehensive annotations, and no output schema, the description compensates by fully specifying the return structure. It is complete enough for an agent to understand what the tool does and what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds minor clarity by specifying the parameter format 'owner/name' or 'owner/name:version', but the schema already includes that. No significant additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Retrieve metadata and the OpenAPI input/output schema for a specific Replicate model.' It uses a specific verb (retrieve) and resource (schema), and distinguishes the tool from siblings like `replicate_run_model` by noting it should be used before running a model.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'Use this before replicate_run_model to know which fields the model accepts and what they mean.' This provides clear context and an alternative tool. It does not mention when not to use, but the guidance is strong enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_get_predictionGet Replicate Prediction StatusA
Read-onlyIdempotent

Retrieve the current status and (if available) outputs of a Replicate prediction by its ID. Use this when a previous generate_* or run_model call returned pending=true (timed out before completion).

Args:

  • prediction_id (string): The ID returned by a previous call.

  • download (boolean, default true): If the prediction has succeeded, download its outputs locally.

Returns: PredictionResult — same shape as replicate_generate_image. If still running, status will be "processing" or "starting" and pending will be true.

Typical flow:

  1. Call replicate_generate_video → returns pending=true with prediction_id=abc123.

  2. Wait ~1 minute.

  3. Call replicate_get_prediction with prediction_id=abc123 → returns succeeded + URLs + local_paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
downloadNoIf the prediction has succeeded, whether to download outputs locally.
prediction_idYesPrediction ID returned by a generate_* or run_model call that timed out.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, destructiveHint. The description adds detailed behavioral context: it explains return shape (PredictionResult same as replicate_generate_image), possible statuses ('processing', 'starting', succeeded), and the behavior of the download parameter. The typical flow further illustrates the polling pattern.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: purpose sentence, bullet-pointed args, returns section, and numbered typical flow. It is concise with no extraneous information, front-loading key usage details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the return shape and possible statuses. The typical flow completes the picture. Missing details like error handling or exact local download paths, but overall complete for a polling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are documented. The description adds value by explaining that prediction_id comes from a previous call and that download only works if the prediction has succeeded. This provides meaningful context beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Retrieve the current status and (if available) outputs of a Replicate prediction by its ID.' It uses a specific verb (retrieve) and resource (prediction by ID), and the typical flow distinguishes it from sibling tools like replicate_batch_status or replicate_get_training.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this when a previous generate_* or run_model call returned pending=true (timed out before completion).' This provides clear context for when to use the tool. It lacks explicit exclusions of alternatives but the guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_get_trainingGet a Replicate training by IDA
Read-onlyIdempotent

Retrieve the current state of a training run: status, the resulting trained model version (once it succeeds), and any error.

Args:

  • training_id: ID returned by replicate_create_training.

Returns structuredContent: TrainingSummary.

ParametersJSON Schema
NameRequiredDescriptionDefault
training_idYesID of the training run to inspect (returned by replicate_create_training).

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide idempotent, read-only, and non-destructive hints. The description adds that the tool returns status, model version, and error, giving further insight into the response structure. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a clear purpose statement, an Args section, and a Returns note. Every sentence adds value, and the structure is easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter and no output schema, the description fully explains what the tool does and what it returns (TrainingSummary with status, version, error). No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a description for training_id. The description adds that the ID comes from replicate_create_training, providing context beyond the schema's description of 'ID of the training run to inspect'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the current state of a training run, listing specific data: status, trained model version, and errors. It distinguishes from siblings like replicate_create_training and replicate_list_trainings by focusing on a single training's detailed state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Specifies that training_id must come from replicate_create_training, implying this tool is used after creation to check progress. While it does not explicitly exclude alternatives like replicate_list_trainings or replicate_cancel_training, the context makes its use case clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_inpaintInpaint / outpaint an image with a maskA

Fill 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 / / 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
maskYesURL of the mask. White areas are kept; black/transparent areas are inpainted.
imageYesURL of the source image.
modelNoInpaint model. Curated: flux-fill-pro, sd-inpaint, ideogram-v2-edit. Or "owner/name".flux-fill-pro
promptYesText describing what to paint in the masked area.
downloadNo
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-read-only and non-destructive nature. The description adds context about display requirements (embed result inline) but does not disclose other behavioral traits like rate limits, auth needs, or failure modes. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is structured with two paragraphs and a bullet list, front-loading the purpose. It could be slightly more concise (e.g., timeout explanation is verbose), but overall effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Missing output schema means the description should clarify return format; it only mentions display requirements. With 7 parameters and 71% schema coverage, the description covers key ones but leaves gaps (e.g., no error handling or polling details for timeout).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 71%, and the description adds meaningful context beyond the schema, such as clarifying mask semantics (white=keep, black=repaint) and model examples (flux-fill-pro). However, it omits details on timeout_ms and download, which are in the schema but not reinforced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Fill masked regions of an image based on a text prompt' and distinguishes between inpainting and outpainting, making the tool's purpose specific and differentiated from sibling image tools like replicate_generate_image or replicate_remove_background.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives (e.g., replicate_generate_image for full image generation). The description implies use for inpainting/outpainting but lacks 'when not to use' or references to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_lipsyncLipsync / talking avatar with ReplicateA

Animate a portrait image to speak — either from a text script (model does TTS + lipsync) or from a driving audio file. Produces an MP4 video.

DISPLAY REQUIREMENT — after this tool returns successfully, include the URL(s) so the user can open the video. URLs expire in ~24h.

Args:

  • image_url (URL): Portrait or face image to animate. Use replicate_upload_file for local files.

  • text (string, optional): Script for the avatar to speak. Used by video-avatar (maps to voice_script). At least one of text or audio_url is required.

  • audio_url (URL, optional): Driving audio for lipsync. Required for sadtalker; optional override for video-avatar. At least one of text or audio_url is required.

  • model (string, default "video-avatar"): Curated key (video-avatar, sadtalker) or "owner/name[:version]".

  • extra_input (object, optional): Model-specific extras (e.g. {voice_prompt: "speak slowly"} for video-avatar).

  • download (boolean, default true): Download the MP4 locally.

  • timeout_ms: Default 300000.

Returns: PredictionResult. local_paths contain .mp4 files.

Examples:

  • image_url="<portrait.jpg>", text="Hello! Welcome to our product demo." → video-avatar (TTS + lipsync)

  • image_url="<face.jpg>", audio_url="<speech.wav>", model="sadtalker" → audio-driven lipsync

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoText script for the avatar to speak. Required for models that do TTS+lipsync (video-avatar). Ignored when audio_url is provided.
modelNoLipsync model. Curated: video-avatar, sadtalker. Or "owner/name".video-avatar
downloadNo
audio_urlNoURL of the driving audio. Required for audio-only lipsync models (sadtalker). Optional override when model can do TTS.
image_urlYesURL of the portrait or face image to animate. Use replicate_upload_file for local files.
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNoAdditional model-specific inputs.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readonly, non-destructive. The description adds that it produces MP4 video, URLs expire in ~24h, and that timeout returns prediction ID for polling. No contradictions. This context is valuable beyond structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with overview, display requirement, parameter list, and examples. Every sentence adds value, though it's a bit long. No wasted words; front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description explains return type (PredictionResult with mp4 files) and display requirement. It covers timeout handling and model-specific extras. For a complex tool with 7 params and nested objects, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (86%), so baseline 3. The description adds meaning beyond schema: text maps to 'voice_script', extra_input usage, model defaults, and timeout_ms behavior. It compensates for the 14% uncovered (like timeout_ms details) and provides examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it animates a portrait to speak using either text (TTS+lipsync) or audio driving. It distinguishes from sibling tools like replicate_generate_video and replicate_generate_speech by focusing on lipsync. The verb 'animate' and resource 'portrait image' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use text vs audio_url, and that at least one is required. It mentions using replicate_upload_file for local files, and shows examples for both modes. However, it does not explicitly exclude cases like when model selection is inappropriate, but the overall guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_list_deploymentsList your Replicate deploymentsA
Read-onlyIdempotent

List the deployments on the authenticated Replicate account. A deployment is a private, autoscaled endpoint pinned to a specific model + hardware.

Args:

  • limit (1-100, default 20): How many deployments to return.

Returns structuredContent: { count: number, deployments: DeploymentSummary[] }. Each DeploymentSummary has owner, name, and current_release { model, version, hardware, min_instances, max_instances }.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of deployments to return (1–100). Default 20.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnly, idempotent, not destructive. Description adds authentication context, return format details (structuredContent with DeploymentSummary fields), and explains what a deployment is. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences for purpose/definition, then clear args and return. Every sentence adds value. Front-loaded with main action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, parameter, return structure. For a list tool with one param and no output schema, it is mostly complete. Could mention that multiple pages may exist (openWorldHint), but not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers limit parameter fully with description, default, min, max. Description mirrors this without adding significant new meaning. Baseline 3 due to high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List the deployments on the authenticated Replicate account' and defines what a deployment is, distinguishing it from siblings like get_deployment (singular) and run_deployment (execute).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage (when you want to list all deployments) but no explicit when-not or alternative references to get_deployment for a specific deployment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_list_predictionsList recent Replicate predictionsA
Read-onlyIdempotent

Return the most recent predictions on the authenticated Replicate account. Useful to recover a prediction ID, audit recent calls, or check what's still running.

Args:

  • limit (1-100, default 10): How many predictions to return.

Returns structuredContent: { count: number, predictions: PredictionSummary[] } Each PredictionSummary has id, model, status, created_at, completed_at, url.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of recent predictions to return (1–100). Default 10.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, etc. The description adds that it returns predictions from the authenticated account and includes the return structure, providing behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (three sentences) and well-structured: purpose first, then parameter, then return format. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and good annotations, the description covers purpose, parameter behavior, and return structure (compensating for missing output schema). It is complete and self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and describes the limit parameter fully. The description repeats the same info, adding no new meaning beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the most recent predictions on the authenticated account, with specific use cases (recover prediction ID, audit, check running). It is distinct from siblings that deal with single predictions or trainings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases (listing recent predictions for recovery, audit, or status check), helping the agent decide when to invoke. It does not name alternatives, but the context is clear enough given the large sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_list_trainingsList recent Replicate trainingsA
Read-onlyIdempotent

Return the most recent training runs on the authenticated account.

Args:

  • limit (1-100, default 10): How many trainings to return.

Returns structuredContent: { count: number, trainings: TrainingSummary[] }.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of recent training runs to return (1–100). Default 10.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the tool's safety is clear. The description adds the scope 'most recent' but does not elaborate on ordering, time limits, or pagination behavior beyond the limit parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with the core purpose front-loaded. The Args section is brief but includes necessary detail. No wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter, rich annotations, and many similar siblings, the description adequately covers the purpose and basic usage. It could mention return type structure more explicitly but is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter limit, including default and range. The description restates the schema info, adding no new meaning beyond 'How many trainings to return.' Baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns recent training runs for the authenticated account, using specific verb and resource. It distinguishes itself from siblings like replicate_get_training (single training) and replicate_create_training (create).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like replicate_get_training or replicate_create_training. The description lacks context for selection among many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_pipeline_startStart Async Pipeline (DAG of predictions)A

Run a directed acyclic graph (DAG) of Replicate predictions as a background job. Returns a pipeline_id immediately. Poll replicate_pipeline_status for per-step progress and results.

Independent steps run concurrently. Downstream steps auto-start when their dependencies complete. Use "$stepId.field[n]" template strings to pass one step's output as another step's input.

IMPORTANT: model must be a full Replicate identifier ("owner/name" or "owner/name:version"). Curated shortcuts (e.g. "flux-schnell") are not supported — look up the full id via replicate_get_model_schema.

Template reference syntax: "$gen.urls[0]" → first URL output of step "gen" "$gen.urls" → full URLs array "$gen.local_paths[0]" → first downloaded local path "$gen.text_output[0]" → first text output (for LLMs)

Args:

  • steps (array, 1–20): Pipeline steps. Each: { id, model, input, depends_on? }. depends_on is inferred from $ref patterns in input when omitted.

  • concurrency (1–5, default 3): Max simultaneous steps.

  • download (boolean, default true): Download step outputs locally.

  • timeout_ms_per_step (default 300000): Per-step timeout.

  • ttl_hours (1–72, default 1): How long to keep results in memory. Lost on server restart.

Returns: { pipeline_id, total, message }

Example — generate + upscale + remove background in parallel: steps=[ { "id": "gen", "model": "black-forest-labs/flux-schnell", "input": { "prompt": "a fox" } }, { "id": "upscale", "model": "nightmareai/real-esrgan", "input": { "image": "$gen.urls[0]", "scale": 4 } }, { "id": "no_bg", "model": "lucataco/remove-bg", "input": { "image": "$gen.urls[0]" } } ] upscale and no_bg both depend on gen, run in parallel after gen completes.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsYesPipeline steps. 1–20 steps.
downloadNoDownload step outputs locally. Default: true.
ttl_hoursNoHow long to keep pipeline results in memory (1–72h). Default: 1h. State is lost if the server restarts.
concurrencyNoMax simultaneous steps (1–5). Default: 3.
timeout_ms_per_stepNoPer-step prediction timeout ms (5000–1800000). Default: 300000 (5min).

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses async nature, polling needed, parallel execution, template syntax for dependencies, per-step timeout, TTL with state loss on restart, and download option. Adds substantial context beyond annotations indicating a mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with summary, important note, template reference, args, return, and example. Slightly lengthy but front-loaded and each sentence serves a purpose. Minor redundancy could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all parameters, dependencies, timeouts, TTL, download, and return value. Includes polling guidance and example. No output schema but explains what to expect. Complete for a complex pipeline tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds significant value: explains template syntax for step dependencies, automatic dependency inference, and provides a detailed example. Baseline 3 exceeded due to extra context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it runs a DAG of predictions as a background job, returning a pipeline_id immediately. It distinguishes from siblings like replicate_run_model by emphasizing concurrent step execution and dependency handling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises that model must be a full Replicate identifier and not shortcuts, directing to replicate_get_model_schema for lookup. Provides an example but does not explicitly contrast with sibling tools like replicate_batch_start.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_pipeline_statusGet Pipeline StatusA
Read-onlyIdempotent

Poll the status of a pipeline started with replicate_pipeline_start.

Args:

  • pipeline_id (string): Pipeline ID returned by replicate_pipeline_start.

  • include_outputs (boolean, default true): Include full PredictionResult per step. Set false for a counts-only summary while the pipeline is running.

Returns structuredContent: { pipeline_id, overall_status, total, succeeded, failed, skipped, running, pending, created_at, expires_at, steps: [{ id, model, status, prediction_id, result?, error?, skip_reason?, started_at, completed_at }] }

overall_status: "running" — steps still executing "completed" — all steps succeeded "partial" — all done, at least one failed or was skipped (failed dependency or budget error)

Note: pipeline-level errors (cycle detected, unknown depends_on) are rejected at replicate_pipeline_start with an error response — they never produce a pollable pipeline.

Tip: Poll every 10–30 seconds until overall_status is "completed" or "partial".

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_idYesPipeline ID returned by replicate_pipeline_start.
include_outputsNoInclude full PredictionResult per step. Set false for counts-only summary while pipeline is running. Default: true.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate read-only, idempotent, non-destructive. Description adds behavior details: polling loop, include_outputs toggle for performance, and that pipeline-level errors are caught at start, not here. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is structured with sections (Args, Returns, Tip), but is somewhat long. Every sentence provides value, including the example structure and note about pipeline errors.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Comprehensive for a status poller: explains return structure, statuses (running, completed, partial), and usage pattern. No output schema, but the description provides detailed structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both params (100% coverage). Description adds context: pipeline_id origin, include_outputs default and effect (full vs counts-only), beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it polls status of a pipeline started with replicate_pipeline_start, lists return fields and statuses, distinguishing it from the start tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to poll after starting a pipeline and gives polling interval tip (10-30s). Does not explicitly compare to other status tools among siblings, but usage is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_recommend_modelRecommend the Best Model for a TaskA
Read-onlyIdempotent

Rank the curated models in a category by a priority (speed, cost, quality, or balanced) and return recommendations with cost estimates and reasoning. This does NOT run anything — it advises which model to use.

Workflow: call this to pick a model, then call the matching generate tool (e.g. replicate_generate_image) with model set to the recommended key.

Args:

  • category (required): One of image, video, audio, tts, llm, vision, upscale, bg, stt, inpaint, segment, embed, voiceclone, threed, lipsync.

  • priority (default "balanced"): "speed" (fastest), "cost" (cheapest), "quality" (best), or "balanced" (weighted).

  • task_description (optional): Free text. Keyword hints like "quick draft" or "professional logo" nudge balanced ranking.

  • max_cost_usd (optional): Exclude models estimated above this cost.

  • duration_seconds (optional, 1–600): For per-second-priced categories (video, audio), used in cost estimation.

Returns structuredContent: { category, priority, recommendations: [{ key, model_id, speed, est_cost_usd, score, reason }], // top 5 count }

Examples:

  • category="image", priority="speed" → flux-schnell first

  • category="image", priority="quality" → highest-fidelity model first

  • category="video", priority="cost", duration_seconds=5 → cheapest per-5s clip

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryYesWhich model category to recommend within.
priorityNoOptimization target. speed=fastest, cost=cheapest, quality=best, balanced=weighted blend. Default: balanced.balanced
max_cost_usdNoOptional cap — exclude models whose estimated cost exceeds this. Models with unknown pricing are always included regardless of this cap.
duration_secondsNoFor per-second-priced categories (video, audio), the expected duration used in cost estimation.
task_descriptionNoOptional task description. Keyword hints (e.g. 'quick draft' or 'professional logo') nudge balanced-mode ranking.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint, idempotentHint, and destructiveHint are all appropriately set. The description adds: 'This does NOT run anything — it advises which model to use,' aligning with annotations and providing extra clarity. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: intro, workflow, args, return format, examples. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description provides a structured return format example. It covers inputs, outputs, and workflow, making it complete for an advisory tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description reiterates each parameter with additional context and examples. It explains the enum values, defaults, and optional behavior, adding significant value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool ranks curated models by priority and returns recommendations. It uses specific verbs (rank, recommend) and identifies the resource (models in a category). It distinguishes itself from sibling tools like replicate_generate_* by explicitly noting it does not run anything.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a workflow: call this to pick a model, then call a generate tool. This provides clear guidance on when to use it. However, it does not explicitly mention when not to use or contrast with alternatives like replicate_estimate_cost.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_refresh_modelsDiscover New Popular Replicate ModelsA
Read-only

Search Replicate for popular models NOT yet in the curated registry. Returns suggestions only — does not modify code.

Use this to find new models worth adding. Then ask Claude to edit src/models.ts with the ones you want.

Args:

  • categories (string[], optional): Which categories to check. Default: all 15 (image, video, audio, tts, llm, vision, upscale, bg, stt, inpaint, segment, embed, voiceclone, threed, lipsync).

  • min_run_count (integer, optional): Minimum run_count threshold. Default: 1000.

  • limit_per_category (integer, optional): Max suggestions per category (1-20). Default: 5.

Returns structuredContent: { "checked_at": string, "categories_checked": string[], "suggestions": [{ category, owner, name, model_id, run_count, description, replicate_url }], "already_curated": number, "total_suggestions": number }

Examples:

  • "Check for new popular models" → all categories, min 1000 runs

  • categories=["image","video"], min_run_count=10000 → only top-tier image/video models

ParametersJSON Schema
NameRequiredDescriptionDefault
categoriesNoCategories to check. Default: all 15 (image, video, audio, tts, llm, vision, upscale, bg, stt, inpaint, segment, embed, voiceclone, threed, lipsync).
min_run_countNoMinimum run_count to surface a model. Default: 1000.
limit_per_categoryNoMax suggestions per category (1–20). Default: 5.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavioral context beyond annotations: explains it returns suggestions only, does not modify code, and details the search scope (popular models not in curated registry). Annotations already provide readOnlyHint and destructiveHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with one-line summary, usage advice, parameter list with defaults, return structure, and examples. No redundant sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Comprehensive for a read-only search tool with three optional parameters. Describes output structure in detail, compensating for missing output schema. Annotations support safe usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description elaborates with default values, full list of category options, and practical examples. Adds meaning beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it searches for popular Replicate models not in the curated registry and returns suggestions without modifying code. Distinguishes from siblings by focusing on uncurated popular models.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage advice: 'Use this to find new models worth adding. Then ask Claude to edit src/models.ts with the ones you want.' Does not explicitly exclude alternatives but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_remove_backgroundRemove the background from an imageA

Produce 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 / / 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="" → rembg quick cut

  • image="", model="birefnet" → sharper edge for hair

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesURL of the image whose background to remove.
modelNoBackground remover. Curated: rembg, birefnet, briaai-rmbg. Or "owner/name".rembg
downloadNo
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and openWorldHint=true. Description adds that the output is a PNG and notes local download, but does not elaborate on timeout behavior (though mentioned in schema), side effects, or rate limits. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose stated first, followed by a crucial display requirement, then concise parameter list, return type, and examples. No unnecessary words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Examples and return type help, but no output schema exists and description doesn't detail the PredictionResult structure or error scenarios. For a tool with 5 params and nested objects, more detail would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description explains image, model (curated keys vs custom), extra_input, and download meaningfully. However, it omits the timeout_ms parameter. With 60% schema coverage, the description adds value for most parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool produces a transparent-background PNG, with examples differentiating from siblings like replicate_generate_image or replicate_inpaint. The title also reinforces the specific function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit display instructions for embedding the result, but does not specify when to use this tool versus alternatives like replicate_segment or replicate_inpaint. No prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_run_deploymentRun a prediction on a Replicate deploymentA

Run a prediction against a deployment's current release. WAITS for the prediction to finish and (by default) auto-downloads the outputs locally — same UX as the curated generate_* tools.

Args:

  • deployment: "owner/name" of the deployment to run.

  • input: model input parameters as a JSON object (same shape the deployment's underlying model expects).

  • download (default true): download output files locally.

  • timeout_ms (optional): max ms to wait before returning a pending result you can poll with replicate_get_prediction.

Returns the standard prediction result (inline image preview / text output, URLs, local_paths, prediction_id).

ParametersJSON Schema
NameRequiredDescriptionDefault
inputNoModel input parameters as a JSON object — same shape the deployment's underlying model expects.
downloadNoWhether to download the generated files locally. Default true. When false, only Replicate URLs are returned (URLs expire after ~24h).
deploymentYesDeployment to run, as "owner/name". Inspect it first with replicate_get_deployment.
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description fully discloses that the tool is a blocking write operation (non-readonly), auto-downloads by default, supports optional timeout, and returns a standard prediction result with inline previews, URLs, local paths, and prediction ID. This adds value beyond the annotations (readOnlyHint=false) and schema by detailing the synchronous execution behavior and return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a clear opening sentence followed by a bulleted Args block. Every sentence is informative with no redundancy. The structure aids quick scanning for the agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no output schema, and moderate complexity, the description covers all essential aspects: the action, blocking behavior, download behavior, timeout handling, and return value components. It also mentions URL expiration for download=false, which is not in the schema. The description is fully adequate for agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description essentially restates the schema parameter descriptions (e.g., deployment as 'owner/name', input as JSON object, download boolean, timeout optional with max wait). The description does not add significant new meaning beyond clarifying that the input shape matches the underlying model's expectations. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs a prediction against a deployment's current release, and distinguishes it from siblings like replicate_run_model by noting the deployment context and the auto-download behavior. The verb 'run' and resource 'deployment' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that the tool blocks until completion and auto-downloads outputs, mirroring the curated generate_* tools. It also notes that a timeout parameter can return a pending result for polling via replicate_get_prediction. However, it does not explicitly state when to use this tool versus alternatives like replicate_run_model, which may be confusing in some contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_run_modelRun Any Replicate ModelA

Generic escape hatch: run ANY model in the Replicate catalog by its "owner/name" identifier. This tool gives Claude access to the entire Replicate model catalog — anything not covered by the curated specialised tools (image, video, audio, speech, chat, vision, upscale, remove-bg) can be reached from here.

DISPLAY REQUIREMENT — if the result includes image URLs, paste ONE of the embed blocks the tool prints (iframe / / markdown — try in order) verbatim in your reply so the image renders inline in the chat.

Use this for any category WITHOUT a curated specialised tool, including but not limited to:

  • Embeddings (sentence-transformers, BGE, Jina)

  • Segmentation (SAM, Segment Anything)

  • Depth estimation (MiDaS, ZoeDepth, Marigold)

  • Inpainting / outpainting (LaMa, Stable Diffusion Inpaint, controlnet-inpaint)

  • ControlNet variants (canny, depth, openpose, normal-map)

  • Face / pose / hand detection (insightface, mediapipe, etc.)

  • 3D generation (TripoSR, Wonder3D, InstantMesh)

  • Audio-to-text / speech recognition (whisper, Distil-Whisper)

  • Audio separation / stem splitting (Demucs, MDX)

  • Style transfer, colourisation, deblurring, denoising

  • Code completion / instruction-tuned code models (CodeLlama, DeepSeek-Coder)

  • Music continuation / source separation

  • ANY newly released model not yet in the curated registries

Workflow:

  1. (Optional) Call replicate_search_models to discover models by keyword (e.g. "image segmentation", "speech to text").

  2. (Recommended) Call replicate_get_model_schema with "owner/name" to inspect required inputs.

  3. Call this tool with the model id and an input object matching that schema.

Args:

  • model (string): "owner/name" (latest official version) or "owner/name:version_hash" (pinned).

  • input (object): Model-specific input parameters.

  • download (boolean, default true): Download outputs locally.

  • timeout_ms: Default 300000.

Returns: PredictionResult.

Examples:

  • Upscale an image: model="nightmareai/real-esrgan", input={"image": "https://example.com/in.png", "scale": 4}

  • Remove background: model="lucataco/remove-bg", input={"image": ""}

  • Run an LLM (output is text, not a file, so local_paths will be empty): model="meta/meta-llama-3-70b-instruct", input={"prompt": "Explain quantum entanglement in two sentences."}

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesModel input parameters as a JSON object. Use replicate_get_model_schema first if unsure what a model accepts.
modelYesReplicate model identifier. Either "owner/name" (uses latest official version) or "owner/name:version_hash" (pins a specific version). Examples: "black-forest-labs/flux-schnell", "meta/meta-llama-3-70b-instruct".
downloadNoWhether to download the generated files locally. Default true. When false, only Replicate URLs are returned (URLs expire after ~24h).
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate openWorldHint=true and destructiveHint=false. Description adds value by explaining timeout behavior (returns prediction ID if exceeded), download default and effect, and that it runs any model. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is lengthy but well-structured with sections, workflow, examples, and display requirement. Every sentence serves a purpose. Minor redundancy could be trimmed, but overall it is organized and front-loaded with key points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's generality (no output schema), the description thoroughly covers return value (PredictionResult), behavior for images, timeout handling, and workflow. It is complete enough for an agent to use correctly without additional cues.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description adds rich context: for model parameter explains format and version pinning; for input recommends using get_model_schema first; for download explains when to use false; for timeout explains max and behavior. This significantly aids correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs 'ANY model' in the Replicate catalog by identifier, distinguishing it from curated specialized tools. It provides a specific verb and resource, and directly differentiates from siblings by listing categories without curated tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance on when to use (categories without curated tool) and when not to use (prefer curated tools). Recommends a workflow: search, get schema, then run. Provides examples of appropriate use cases and clear alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_search_modelsSearch Replicate Model CatalogA
Read-onlyIdempotent

Search the Replicate catalog by free-text query. Returns up to 25 matching models with names, descriptions, and URLs.

Args:

  • query (string, 1-200 chars): Free-text search. Examples: "image upscaler", "voice cloning", "depth estimation", "code generation".

Returns structuredContent: { "count": number, "models": [ { "owner": string, "name": string, "description": string | undefined, "url": string, "run_count": number | undefined, "cover_image_url": string | undefined } ] }

Tip: Once you find a promising model, call replicate_get_model_schema with "owner/name" to see its inputs before calling replicate_run_model.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesFree-text search across the Replicate model catalog. Examples: "image upscaler", "voice cloning", "background removal".

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true, which are consistent. The description adds transparency by stating the return limit and structure, enhancing understanding beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, well-structured with clear sections (summary, args, returns, tip), and includes a practical usage tip without extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low parameter count, high schema coverage, and rich annotations, the description completes the picture with return structure details and workflow guidance, fully informing agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter described with min/max length and examples. The description reinforces these constraints and provides additional examples, adding value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches the Replicate catalog by free-text query, returning up to 25 matching models. It uses a specific verb and resource, distinguishing it from sibling tools like replicate_get_model_schema and replicate_recommend_model.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a tip suggesting to call replicate_get_model_schema after finding a promising model, guiding the agent on proper workflow. However, it does not explicitly state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_segmentSegment an image (SAM 2 / Grounded-SAM)A

Produce 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}).

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesURL of the image to segment.
modelNoSegmentation model. Curated: sam-2, grounded-sam. Or "owner/name".sam-2
promptNoText-prompt for grounded segmentation (e.g. 'the red car'). Required for grounded-sam.
downloadNo
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNoModel-specific extras (e.g. {points_per_side: 32} for SAM 2 auto-mask).

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses async behavior with timeout and polling fallback via replicate_get_prediction, and display requirement for embedding results. Annotations are consistent (non-read-only, not idempotent, not destructive).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise with front-loaded purpose and structured args. Slight redundancy with schema but minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key aspects: mask result display, timeout/async behavior, model selection. No output schema, but description explains how to use the result. Adequate for complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning beyond schema: explains prompt required for grounded-sam, model curated options, extra_input for SAM tuning. Doesn't enrich download parameter, but overall compensates for schema coverage (83%).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool produces segmentation masks, distinguishes between SAM 2 (point/box-prompt) and Grounded-SAM (text-prompt), and differentiates from sibling tools like replicate_generate_image or replicate_inpaint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear usage context: when to use SAM 2 vs Grounded-SAM, and that prompt is required for Grounded-SAM. Lacks explicit exclusions or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_transcribe_audioTranscribe Audio / Video with WhisperA

Transcribe 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
audioYesURL of the audio (or video) file to transcribe.
modelNoSpeech-to-text model. Curated: whisper, incredibly-fast-whisper, whisperx, scribe. Or "owner/name".incredibly-fast-whisper
downloadNoOutput is text — default false.
languageNoISO-639 language hint (e.g. 'en', 'it'). Default: auto-detect.
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNo
translate_to_englishNoIf true, translate the transcript to English.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, which are consistent with the description (creates a prediction, not destructive). The description adds details on return format (PredictionResult with text_output), timeout behavior (returns prediction ID if exceeded), and model options, providing context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the main purpose. It lists parameters clearly without redundancy. It could be slightly more structured (e.g., separating description from args), but it is efficient and focused.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, nested objects, no output schema), the description covers the return type, timeout behavior, and optional parameters. It does not specify file size limits or supported formats, but these are likely implied by the Replicate platform.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 86% schema coverage, the baseline is 3. The description adds value by explaining the model parameter (curated keys vs 'owner/name'), the translate_to_english boolean, and the extra_input object for model-specific options, which supplements the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Transcribe an audio or video file to text using Whisper-family models on Replicate', with a specific verb (transcribe) and resource (audio/video to text). It distinguishes itself from sibling tools like replicate_generate_speech (text-to-speech) and replicate_vision (image processing).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for transcription tasks and explains parameters like model selection, language hint, and translation. However, it does not explicitly mention when not to use this tool (e.g., for real-time transcription) or compare to alternatives like replicate_run_model with custom models.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_upload_fileUpload a file (path or base64) to ReplicateA

Upload a file to Replicate's file storage and get back a URL valid for ~24 hours. Pass the returned URL as a model input (e.g. image for upscale/inpaint/vision, image_url for video, reference_audio_url for voice clone).

Two input modes — provide EXACTLY ONE:

  • file_path: absolute local path of a file on the machine running the server.

  • base64_data: the file's bytes as base64 (a bare base64 string OR a full "data:;base64,..." URI). Use this when you hold bytes in memory but have no local path — e.g. an image a user dropped into the chat that a code container can read and base64-encode. NOTE: an MCP client (Claude Desktop) generally cannot reproduce a large dragged-in image's exact bytes as a tool argument — base64 mode is for callers that genuinely have the bytes (web container, programmatic clients).

Args:

  • file_path (string, optional): Absolute local path. Provide this OR base64_data.

  • base64_data (string, optional): base64 contents or data: URI. Provide this OR file_path.

  • mime_type (string, optional): MIME override (e.g. 'image/png'). Auto-detected from the path extension or a data: URI; defaults to application/octet-stream for raw base64.

  • file_name (string, optional): Name for a base64 upload.

Returns structuredContent: { url, file_id, name }

  • url: Replicate-hosted URL (~24h expiry) — pass this as a model input.

Examples:

  • file_path="C:/Users/me/photo.png"

  • base64_data="data:image/png;base64,iVBORw0KG...", → uploads, returns URL

ParametersJSON Schema
NameRequiredDescriptionDefault
file_nameNoOptional name for a base64 upload. Ignored when file_path is used (the basename is taken from the path).
file_pathNoAbsolute local path of the file to upload. Provide either this OR base64_data.
mime_typeNoMIME type override (e.g. 'image/png'). Auto-detected from file extension (file_path) or the data URI; defaults to application/octet-stream for raw base64.
base64_dataNoFile contents as base64 (a bare base64 string or a full 'data:<mime>;base64,...' URI). Use this when you have bytes in memory but no local path — e.g. a code container that read a chat-uploaded image. Provide either this OR file_path.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations providing hints, the description fully covers behavioral traits: the file upload operation, the ~24-hour URL expiry, the two input modes and their constraints, and limitations of base64 mode for certain clients. No contradictions with annotations are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections, bullet points, and examples. Every sentence adds value, and key information is front-loaded. It is appropriately sized for a tool with multiple modes and parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains the return format (structuredContent with url, file_id, name) and the URL expiry. It covers all necessary details for an agent to select and invoke the tool correctly, including examples.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides 100% parameter coverage with descriptions. The description adds further meaning: explains exclusivity of file_path and base64_data, auto-detection of mime_type, and the behavior of file_name. It clarifies edge cases and usage patterns beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb and resource: 'upload a file to Replicate's file storage and get back a URL'. It distinguishes this tool from its siblings, which are about predictions, models, and other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use file_path vs base64_data, and notes that base64 is for callers with bytes in memory. It provides examples and clarifies the returned URL's usage. However, it lacks explicit when-not-to-use guidance or alternatives, though contextually it is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_upscale_imageUpscale / restore an image with ReplicateA

Upscale 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 / / 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="", scale=4 → real-esrgan

  • image="", model="gfpgan", scale=2 → restoration

  • image="", model="clarity-upscaler", scale=2

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesURL of the image to upscale.
modelNoUpscaler. Curated: real-esrgan, clarity-upscaler, swinir, gfpgan, clarity-pro. Or "owner/name".real-esrgan
scaleNoUpscale factor (1–10). Model-dependent; default 4 for real-esrgan.
downloadNo
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are sparse, but description adds important behaviors: display requirement, URL expiry, download option, timeout handling, and model-specific defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with sections and examples, though slightly verbose. Purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers inputs well but lacks detail on output structure (PredictionResult) and error handling. No output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description adds meaning beyond schema by explaining default scale values per model, extra_input example, and timeout behavior. Schema coverage is 67%, so description compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool upsamples images with optional face restoration, distinguishing it from sibling tools like replicate_generate_image or replicate_inpaint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Examples provide use cases but no explicit guidance on when to choose this over other image tools like replicate_inpaint or replicate_remove_background.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

replicate_visionAnalyse / caption an image with a vision modelA

Run 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="", prompt="Read the values off this chart and list them.", model="llava-v1.6-34b"

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesURL of the image to analyse / caption.
modelNoVision model. Curated: llava-13b, llava-v1.6-34b, blip-2, qwen-vl. Or "owner/name".llava-13b
promptNoOptional question or instruction (e.g. 'describe this image', 'count the people'). Default is a generic caption.
downloadNo
max_tokensNo
timeout_msNoMax ms to wait for the prediction. If exceeded, returns the prediction ID so you can poll via replicate_get_prediction. Default: 300000 (5min).
extra_inputNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false (mutation) and openWorldHint=true (non-standard output). The description adds context: it returns PredictionResult with text_output, explains timeout behavior (default 5 min, polling via replicate_get_prediction), and mentions model-specific extras. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and uses a clear Args/Returns/Examples structure. Every sentence adds value. Minor wasted space: could combine the two bullet sentences under Args. Overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers core functionality, return type, examples, and key parameters. It lacks mention of error handling, auth requirements, or cost information. However, for a 7-param tool with no output schema, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 57% schema coverage, the description adds significant meaning beyond the schema. It clarifies the model field (curated keys vs 'owner/name'), gives examples, explains the prompt default, specifies max_tokens range, and details timeout with polling fallback. This greatly aids correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Run a vision-language model to describe, caption, or answer questions about an image.' The title reinforces 'Analyse / caption an image with a vision model.' This distinguishes it from sibling tools like replicate_generate_image (generation) and replicate_remove_background (editing), making the specific verb+resource obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context, including optional prompt, default model, and examples for usage. It implies the tool is for understanding images, not generating them. However, it does not explicitly state when not to use it (e.g., for image editing or audio tasks) or compare with alternatives like replicate_chat for text-only queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 36 tool updatesv3.2.3
    • First observedreplicate_batch_start
    • First observedreplicate_batch_status
    • First observedreplicate_cancel_prediction
    • First observedreplicate_cancel_training
    • First observedreplicate_chat
    • First observedreplicate_clone_voice
    • First observedreplicate_create_training
    • First observedreplicate_embed_text
    • First observedreplicate_estimate_cost
    • First observedreplicate_generate_3d
    • First observedreplicate_generate_audio
    • First observedreplicate_generate_image
    • First observedreplicate_generate_speech
    • First observedreplicate_generate_video
    • First observedreplicate_get_deployment
    • First observedreplicate_get_model_schema
    • First observedreplicate_get_prediction
    • First observedreplicate_get_training
    • First observedreplicate_inpaint
    • First observedreplicate_lipsync
    • First observedreplicate_list_deployments
    • First observedreplicate_list_predictions
    • First observedreplicate_list_trainings
    • First observedreplicate_pipeline_start
    • First observedreplicate_pipeline_status
    • First observedreplicate_recommend_model
    • First observedreplicate_refresh_models
    • First observedreplicate_remove_background
    • First observedreplicate_run_deployment
    • First observedreplicate_run_model
    • First observedreplicate_search_models
    • First observedreplicate_segment
    • First observedreplicate_transcribe_audio
    • First observedreplicate_upload_file
    • First observedreplicate_upscale_image
    • First observedreplicate_vision

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, even within the same domain (e.g., image generation vs. inpainting vs. upscaling). The specialized tools cover specific tasks, and the generic replicate_run_model serves as an escape hatch for anything else, avoiding ambiguity.

Naming Consistency5/5

All tools follow a consistent 'replicate_verb_noun' pattern in snake_case, with verbs like generate, get, create, list, etc. The naming is predictable and intuitive, making it easy for an agent to infer function from name.

Tool Count4/5

With 36 tools, the server is on the heavier side, but it covers a vast range of AI model categories (image, video, audio, 3D, LLMs, etc.) and includes advanced features like batching and pipelines. The count is justified by the breadth of functionality, though it could potentially be streamlined.

Completeness5/5

The server provides comprehensive coverage of Replicate's capabilities: generation, editing, analysis, training, deployments, cost estimation, search, file management, batching, and pipelines. There are no obvious missing operations for the intended domain.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sena-labs/replicate-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server