AI video dubbing via OrcaRouter (model orca/dub): upload a video or URL, poll, download the MP4.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Inspect callable tools, capabilities, and parameters exposed to AI agents by Orcadub Mcp Server.
dub_healthEnd-to-end probe of gateway → `orca/dub` routing. No job is created, nothing is billed.
dub_uploadUpload a local video file; returns the `file_id` for `dub_create`. Files above 64 MiB are chunked automatically (up to 8 GiB).
dub_createSubmit a dubbing job (**billed**). Source is exactly one of `file_id` or `url` (YouTube and direct links are fetched server-side). Required: `source_lang`, `target_lang` (never `auto`), and `video_name` when using `file_id`. Optional knobs cover content profiles, glossaries, translation style, back…
dub_getPoll a job: `queued → in_progress → completed \
dub_downloadSave a completed job's MP4 to a local path (refuses to overwrite existing files).
The official MCP server for OrcaDub — AI video dubbing, driven from your agent.
Website · API Docs · Get an API key · Config examples · Releases
Give any MCP-capable agent — Claude Code, Claude Desktop, Codex CLI, Cursor, Windsurf — the ability to dub a video into another language: upload a file or pass a URL, submit a job to the orca/dub model through the OrcaRouter gateway, poll progress, and download the finished MP4.
Every operation is a one-shot subcommand (no resident server needed):
Optional create parameters use repeatable --opt key=val (e.g.
--opt watermark=false --opt resolution=1080p --opt glossary.OrcaDub=OrcaDub).
Results print as JSON on stdout; errors go to stderr with a non-zero exit.
With no subcommand the same binary runs as an MCP stdio server (npx -y @orcadub/cli).
The dub-video Skill
teaches an agent when to dub, which billed parameters it must confirm, and how
to run the upload → create → poll → download workflow. Install it interactively:
The guided installer opens with a balanced 8-row ORCADUB wordmark, then lets you:
Space to toggle, / to filter, a to select all, n to clear all,
and Enter to confirm.It supports 36 platforms: the 33-platform Comet-compatible catalog plus
Hermes, OpenClaw, and Command Code. Use --lang zh or --lang en to skip the
language screen. For unattended or agent-driven setup, select targets
explicitly:
Use --yes to accept detected platforms (or all platforms when none are
detected) without opening the installer. Use --json for decoration-free
structured output. Set NO_COLOR (or use TERM=dumb) for a color-free
installer. Existing identical content is left unchanged; an existing different
Skill is preserved unless --force is provided. Skill installation needs
network access to the canonical orcadub-plugin repository, but it does not
require ORCADUB_API_KEY and does not contact OrcaRouter.
Then just ask your agent: "Dub this into Chinese: https://www.youtube.com/watch?v=…"
An OrcaRouter API key is required — every tool call is authenticated:
sk-orca-...).ORCADUB_API_KEY environment variable (see below).Dubbing jobs are billed per minute of source video. Without a key the server still starts, but every tool call returns a sign-up redirect to the console.
Add to claude_desktop_config.json:
Any host that launches stdio MCP servers works with the same shape: command npx, args ["-y", "@orcadub/cli"], env ORCADUB_API_KEY. Ready-to-copy configuration files for Claude Code, Codex, Cursor and Windsurf live in examples/.
Images are published to GHCR for linux/amd64 and linux/arm64:
Or as host JSON config:
Note: dub_upload and dub_download read/write local paths, so mount the
directory you upload from / download to (the -v flag) — paths you pass to
the tools must be valid inside the container.
Download the binary for your platform from the
releases page
(verify with checksums.txt), then register it directly:
| Environment variable | Required | Description |
|---|---|---|
ORCADUB_API_KEY | yes | OrcaRouter sk-orca-... key, sent as Authorization: Bearer on every request. The gateway resolves your workspace and billing from it. |
The gateway address (https://api.orcarouter.ai) is fixed in the binary — there is nothing else to configure.
| Tool | Description |
|---|---|
dub_health | End-to-end probe of gateway → orca/dub routing. No job is created, nothing is billed. |
dub_upload | Upload a local video file; returns the file_id for dub_create. Files above 64 MiB are chunked automatically (up to 8 GiB). |
dub_create | Submit a dubbing job (billed). Source is exactly one of file_id or url (YouTube and direct links are fetched server-side). Required: source_lang, target_lang (never auto), and video_name when using file_id. Optional knobs cover content profiles, glossaries, translation style, background-music preservation, lipsync, watermarking, resolution/ratio and more. |
dub_get | Poll a job: queued → in_progress → completed | failed with integer progress. On completion the response includes content_url (Bearer-authenticated delivery address, never expires) and job_id. |
dub_download | Save a completed job's MP4 to a local path (refuses to overwrite existing files). |
Supported languages: en zh ja ko fr de es pt ru ar it hi tr th vi id bn pl nl uk fil el cs sv da no fi sk.
A typical agent conversation:
User: Dub this into Chinese: https://www.youtube.com/watch?v=xxxx
Agent: (dub_create with source_lang=en, target_lang=zh, url=…) → job queued → (polls dub_get every ~30 s) → completed → (asks: download locally? default: current directory) → (dub_download) → "Saved to ./My-Video-zh.mp4 — re-download any time:
curl -H "Authorization: Bearer sk-orca-..." <content_url> -o out.mp4"
Direct tool usage from an agent prompt works too — for example dub_create {"source_lang":"en","target_lang":"zh","url":"https://…","glossary":{"OrcaRT":"OrcaDub Realtime"}}.
| Symptom | Cause / fix |
|---|---|
Tool calls return not authorized … www.orcarouter.ai/console | ORCADUB_API_KEY is unset — register, export the key, restart the session. |
401 | Invalid or expired key — re-issue on the OrcaRouter console. |
402 insufficient_credit | Top up your OrcaRouter balance (per-minute billing). |
429 free_quota_exceeded | Free-tier limit reached. |
task_not_exist on dub_get | The id wasn't created through this gateway — use the id exactly as returned by dub_create. |
Layout: cmd/ (entrypoint) · internal/ (HTTP client, Skill installer, tool layer, wire types) · npm/ (npx launcher that downloads the platform binary from GitHub Releases) · server.json (MCP Registry manifest).
git tag v0.1.0 && git push origin v0.1.0.npm-publish job stamps the tag version into npm/package.json and publishes @orcadub/cli to npm (requires the NPM_TOKEN repo secret).server.json and publishes it to the MCP Registry.Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/orcadub-mcp-server)<a href="https://allmcps.com/mcp/orcadub-mcp-server"><img src="https://allmcps.com/api/badge/orcadub-mcp-server?style=directory" alt="Orcadub Mcp Server on AllMCPs" /></a>