StarReel MCP
# StarReel MCP
> Turn a script into a finished, downloadable short-drama episode — from Claude, Cursor, or any MCP client.
[](https://www.npmjs.com/package/@starreel/mcp)
[](https://www.npmjs.com/package/@starreel/mcp)
[](./LICENSE)
[](https://nodejs.org)
**StarReel** is a prepaid AI video-production pipeline. This MCP server exposes the
whole factory — **120+ tools** covering every stage — so an AI agent can take a raw
script all the way to a finished `.mp4`:
```
script → AI rewrite → cast / scenes / props extraction → character portraits & sheets
→ storyboards → keyframes → video shots → voiceover (TTS) → final cut (.mp4 link)
```
It is a thin, open client: all the heavy lifting (character-consistency gates,
frame chaining, best-of-N auditing, billing) runs server-side at
[starreel.ai](https://starreel.ai).
## Quick start
[](https://cursor.com/en/install-mcp?name=starreel&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzdGFycmVlbC9tY3AiXSwiZW52Ijp7IlNUQVJSRUVMX0FQSV9LRVkiOiJzcmtfbGl2ZV94eHgifX0=)
[](https://vscode.dev/redirect/mcp/install?name=starreel&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40starreel%2Fmcp%22%5D%2C%22env%22%3A%7B%22STARREEL_API_KEY%22%3A%22srk_live_xxx%22%7D%7D)
1. Create an API key with `produce` scope in **StarReel → Settings → API Keys**
(`srk_live_...`, shown once).
2. Add the server to Claude Code:
```bash
claude mcp add starreel -e STARREEL_API_KEY=srk_live_xxx -- npx -y @starreel/mcp
```
Or install the **Claude Code plugin** — MCP server + agent skill in one step
(set `STARREEL_API_KEY` in your shell first):
```text
/plugin marketplace add starreel/starreel-mcp
/plugin install starreel@starreel
```
3. Ask your agent: *"Take this script and produce a full episode: `<your script>`"* —
it will quote each paid stage first and only spend after you confirm.
## Works with any MCP client
Requires Node ≥ 18 (`npx`). The **standard config** below works as-is in
**Cursor · Windsurf · Cline / Roo Code · Claude Desktop · Trae · Cherry Studio ·
Chatbox · DeepChat** and any client that reads an `mcpServers` JSON block:
```json
{
"mcpServers": {
"starreel": {
"command": "npx",
"args": ["-y", "@starreel/mcp"],
"env": { "STARREEL_API_KEY": "srk_live_xxx" }
}
}
}
```
Clients with their own format:
<details>
<summary><b>Codex CLI</b> — <code>~/.codex/config.toml</code></summary>
```toml
[mcp_servers.starreel]
command = "npx"
args = ["-y", "@starreel/mcp"]
env = { "STARREEL_API_KEY" = "srk_live_xxx" }
```
</details>
<details>
<summary><b>VS Code (Copilot agent mode)</b> — <code>.vscode/mcp.json</code> or user <code>mcp.json</code></summary>
```json
{
"servers": {
"starreel": {
"command": "npx",
"args": ["-y", "@starreel/mcp"],
"env": { "STARREEL_API_KEY": "srk_live_xxx" }
}
}
}
```
</details>
<details>
<summary><b>Gemini CLI</b> — <code>~/.gemini/settings.json</code></summary>
```json
{
"mcpServers": {
"starreel": {
"command": "npx",
"args": ["-y", "@starreel/mcp"],
"env": { "STARREEL_API_KEY": "srk_live_xxx" }
}
}
}
```
</details>
<details>
<summary><b>No Node / can't run npx?</b> (Coze, Dify, GPTs, custom agents)</summary>
Drive the same pipeline over REST (`/v1/produce/*`) and paste
[`SKILL.md`](./SKILL.md) into your system prompt — it carries the full
workflow order, billing disciplines, and failure playbook.
See the [API docs](https://api.shortreelai.com/docs/mcp).
</details>
## What's inside
| Stage | Tools (selection) |
|---|---|
| Orientation | `get_capabilities_guide` (free, local) — which entry point for which material, pipeline order, gates, billing |
| Project setup | `create_drama` · `update_project_settings` · `list_project_options` |
| Script | `set_script` · AI rewrite · `edit_rewritten_script` |
| Bring your own material | `get_script_format_spec` · `check_script_format` · `adopt_external_script` (rewrite on any AI, then adopt verbatim) · `get_storyboard_table_spec` → `check_storyboard_table` → `import_storyboard_table` (a finished shot list skips rewrite + breakdown) · `get_bulk_import_spec` → `check_bulk_import` → `bulk_import_storyboards` (structured JSON builds cast, scenes and shots in one go) · `upload_*` (own portraits / scene / prop / shot images) |
| Cast & world | asset extraction · `update_character` · `generate_world_concept` · `generate_art_bible` |
| Identity anchors | `generate_portraits_and_sheets` (portraits + character sheets = the consistency anchor) |
| Storyboards | `quote_storyboards` → `generate_storyboards` → `get_storyboards` |
| Frames & video | `quote_frames` → `generate_frames` · `quote_videos` → `generate_videos` |
| Audio | `generate_tts` · `generate_bgm` (steerable via `prompt`) · `get_bgm_prompt_guide` · `generate_sfx` · voice management |
| Finishing | `compose_episode` (free) · `get_final_cut` · `render_multi_aspect` · posters & covers |
| Localization | `translate_subtitles` · localization jobs |
| Ads / MV modes | product library & product sheets · MV lyrics → story → script |
Project types: `drama` / `ad` / `mv` / `brand_film`.
## Billing is agent-safe by design
- **Prepaid, never negative.** Costs are pre-authorized *before* any vendor call;
insufficient balance returns a clean `402` — nothing half-runs.
- **Quote before spend.** Big-ticket stages are `quote_*` → show the user →
`generate_*` with the returned `quote_id`. For video, **quote == actual charge**
(same function computes both).
- **Final cut is free.** Composition, transitions, SFX matching and deliverable
packaging don't bill.
- API keys are stored hashed and exchanged for 15-minute short-lived tokens;
revoke in Settings at any time.
## Built for agents: the operating skill
[`SKILL.md`](./SKILL.md) ships inside the package — a platform-agnostic operating
manual (full pipeline order + ten operating disciplines + a failure playbook).
The server also announces the same guidance at connect time (MCP `instructions`)
and exposes it as a tool, `get_capabilities_guide`, so an agent that has never
seen this file still learns which entry point each kind of material takes.
Skill-aware clients load it automatically; on platforms that can't run `npx`
(Coze / Dify / GPTs / custom agents) paste it into the system prompt and drive
the same pipeline over REST (`/v1/produce/*`).
Install it as a standalone agent skill (Claude Code, Codex, Cursor, OpenCode
and [70+ agents](https://github.com/vercel-labs/skills#supported-agents)) via
the [`skills`](https://skills.sh) CLI:
```bash
npx skills add starreel/starreel-mcp
```
## Environment variables
| Variable | Required | Default |
|---|---|---|
| `STARREEL_API_KEY` | ✅ | — |
| `STARREEL_AUTH_BASE` | | `https://api.shortreelai.com` |
## REST API (OpenAPI)
Prefer plain REST? The full production facade is described in
[`openapi.json`](./openapi.json) (OpenAPI 3.1, 100+ operations — generated from
this package's tool surface, so `operationId`s match MCP tool names 1:1).
Browse it rendered at
[starreel.github.io/starreel-mcp](https://starreel.github.io/starreel-mcp/), or
generate a typed client for any language:
```bash
npx openapi-typescript https://raw.githubusercontent.com/starreel/starreel-mcp/main/openapi.json -o starreel.d.ts
```
## Links
- Website: [starreel.ai](https://starreel.ai)
- API reference (OpenAPI): [starreel.github.io/starreel-mcp](https://starreel.github.io/starreel-mcp/)
- Full MCP / REST docs: [api.shortreelai.com/docs/mcp](https://api.shortreelai.com/docs/mcp)
- npm: [@starreel/mcp](https://www.npmjs.com/package/@starreel/mcp)
- 中文文档: [README.zh-CN.md](./README.zh-CN.md)
## License
[MIT](./LICENSE) — this client is open; the production pipeline is a hosted service.
TDQS
Scored across 132 tools
Descriptions are exceptionally detailed and actively cross-reference what-not-to-use, but at 132 tools several clusters genuinely overlap: four character-image tools (generate_character_portraits/sheets/portraits_and_sheets/character_sheet), three poster/cover tools, and multiple audio-dialogue tools (generate_tts, lipsync_episode, replace_shot_dialogue, repair_episode_dialogue) require careful reading to select correctly.
The vast majority follow a clear verb_noun pattern (get_*/set_*/update_*/delete_*/generate_*/quote_*/check_*/list_*/import_*). Minor deviations exist: the MV-prefixed subnamespace (set_mv_lyrics, get_mv), generate_tts using an acronym instead of a noun, and review_all/run_precheck breaking the rigid resource-noun pattern.
132 tools is an extreme count by any standard — over 2.5x the 50+ threshold for extreme mismatch. Even though the server spans multiple production domains (short drama, MV, ads, brand films, voice cloning), this breadth would be far more usable split into separate focused servers.
The pipeline is remarkably complete: every paid step has a matching quote_* tool, all three review gates have corresponding review_token consumers, and CRUD exists for characters/scenes/props. Minor gaps: scene Bible creation is explicitly deferred to the website, dialogue-repair progress references a status endpoint not exposed as a tool, and there is no delete_drama/delete_episode.