Skip to main content
Glama

Reedapt MCP server

Dub video and audio into other languages from any AI tool that speaks the Model Context Protocol: Claude Code, Claude Desktop, Cursor and others. Each speaker keeps their own voice, and the background sound is kept.

Set up

Make an API key under Developers in Reedapt. Test keys are free and dub the first 60 seconds of a video with a watermark; live keys come with paid plans and use plan minutes.

Claude Code

claude mcp add reedapt --env REEDAPT_API_KEY=rk_test_... -- npx -y reedapt-mcp

Claude Desktop, Cursor and other clients (the mcpServers section of the client's config file):

{
  "mcpServers": {
    "reedapt": {
      "command": "npx",
      "args": ["-y", "reedapt-mcp"],
      "env": { "REEDAPT_API_KEY": "rk_test_..." }
    }
  }
}

Node.js 18 or later.

Related MCP server: OrcaDub MCP Server

Tools

Tool

What it does

list_languages

The languages this key's plan can dub into

get_usage

The plan, minutes left, or a month's usage report

dub_media

Upload a local file or a public link and start one dub per language

get_dub

A dub's status, stage and progress

wait_for_dub

Wait up to 4 minutes for a dub to finish; call again to keep waiting

list_dubs

The account's API dubs, newest first

get_dub_files

Download links for a finished dub

get_transcript

The dub's lines, original and dubbed, 200 at a time

get_subtitles

SRT or WebVTT, in the dub's language or the original's

cancel_dub

Stop a dub that hasn't finished; its minutes are returned

The Reedapt Skill

skill/reedapt/SKILL.md teaches an AI tool how to dub well with Reedapt: checking languages and minutes first, waiting, handing over the files, and what to say when something fails. To use it in Claude Code, copy the skill/reedapt folder into ~/.claude/skills/.

Available Tools

10 tools
cancel_dubCancel a dubA
DestructiveIdempotent

Stops a dub that hasn't finished. Its reserved minutes are returned. This can't be undone.

Inputs: dub_id (required).

dub_mediaDub a video or audio fileA

Uploads a local file (an absolute path) or a public https link, and starts one dub per target language. Returns as soon as the dubs have started; dubbing takes minutes. Then call wait_for_dub or get_dub. Languages the plan can't dub into come back under refused with a reason. Live keys use plan minutes, so confirm the languages with the person first. Test keys dub only video files, and only the first 60 seconds.

Inputs: source (required), source_language (required), target_languages (required), metadata, +2 more.

get_dubGet a dubC
Read-only

A dub's status (queued, processing, completed or failed), its stage and progress, and the error if it failed.

Inputs: dub_id (required).

get_dub_filesGet a dub's filesA
Read-only

Download links for a completed dub: the dubbed video or audio, a WAV of the dubbed audio, and the separate voice and background tracks. Links expire at expires_at.

Inputs: dub_id (required).

get_subtitlesGet subtitlesA
Read-only

A completed dub's subtitles as SRT or WebVTT text, in the dub's language or the original's.

Inputs: dub_id (required), format, language.

get_transcriptGet a dub's transcriptA
Read-only

A completed dub's lines in time order: speaker, original words and the dubbed words, with times in milliseconds. Returns 200 lines at a time; use offset for more.

Inputs: dub_id (required), offset.

get_usageGet usageA
Read-only

The account's plan, whether the key is live or test, and the minutes left. Check this before a long dub: a live dub uses one minute of the plan per minute of video, per language. Test keys are free and dub only the first seconds with a watermark.

Inputs: month.

list_dubsList dubsC
Read-only

The account's API dubs, newest first.

Inputs: limit, offset.

list_languagesList languagesB
Read-only

The language codes Reedapt can dub into right now, for this API key's plan.

Inputs: no named parameters.

wait_for_dubWait for a dubA
Read-only

Waits until a dub completes or fails, up to timeout_seconds (at most 240). If it is still running, it returns the latest status: call it again to keep waiting.

Inputs: dub_id (required), timeout_seconds.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool has a clearly distinct role across the dubbing lifecycle: usage, starting, polling/waiting, listing, retrieving files/transcripts/subtitles, canceling, and languages. The closest pair, get_dub and wait_for_dub, is well differentiated by status-check versus blocking-wait behavior.

    Naming Consistency5/5

    All tool names use consistent snake_case with predictable verb_noun structure (get_usage, dub_media, get_dub, list_dubs, cancel_dub). Even the less common wait_for_dub and dub_media fit the overall convention.

    Tool Count5/5

    Ten tools is well-scoped for a media dubbing API, covering the full workflow without obvious bloat. Each tool corresponds to a meaningful operation rather than duplicating functionality.

    Completeness5/5

    The surface covers the full dubbing lifecycle: checking plan/usage, starting dubs, monitoring progress, waiting, listing dubs, downloading outputs, retrieving transcripts/subtitles, canceling, and listing available languages. No obvious operational gaps are apparent for the stated domain.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers