StarReel MCPBLOCK
StarReel MCP server — turn a script into a finished short-drama episode (script → storyboards → frames → video → final cut) from Claude, Cursor, or any MCP client
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
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 → storyboards → character portraits & sheets (anchor the people) + scene plates (anchor the backdrops) → 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.
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%22STARREELAPIKEY%22%3A%22srklivexxx%22%7D%7D)
- Create an API key with
producescope in StarReel → Settings → API Keys
(srk_live_..., shown once).
- Add the server to Claude Code:
claude mcp add starreel -e STARREEL_API_KEY=srk_live_xxx -- npx -y @starreel/mcp
Or install the Claude Code plugin — MCP server
b6e24fa50048OBSERVED · 2026-10-12Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add mcp --env STARREEL_API_KEY=${STARREEL_API_KEY} -- npx -y @starreel/[email protected]Exposed tools (200)
177 read · 46 write · 11 destructive. Blast radius: 11 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
add_product | write | ★广告项目必做:往商品库加一个商品(名称/卖点/图),是广告的**主体**——出视频时按分镜文本匹配产品图当锚, |
add_world_state_event | write | 往账本里加一条**手工事件**(免费)。用途:AI 没抽到、或抽错了的状态变化,由你补一条说明。 |
adopt_external_script | read | 【出口 A】把外部 AI 按范本产出的稿子**直接采用为可拍稿**,我方 AI 完全不介入。秒级、不计费。 |
align_prev_shot | read | 缝裂修复「对齐上一镜」:本镜首帧**不动**,以它为收尾画面、用首尾帧模式重生**上一镜的视频**(上一镜首帧不变), |
apply_extend_final | write | 把某个续写产物**设为本集成片**(免费,纯指针切换)。 |
apply_precheck_fix | write | 把客户**确认过**的提案落库(第2步)。免费(纯文本写库)。 |
apply_recovered_candidate | write | 把某条**历史镜头视频**回填到指定镜头(免费,指针切换)。★它换的是那一镜的**视频**,不是首尾帧。 |
apply_recovered_final | write | 把某个**历史终拼**设为本集当前成片(免费,指针切换)。 |
apply_wardrobe_appearances | write | 逐角色回填 appearances 的服装绑定(第2步的多角色版,免费)。 |
apply_wardrobe_timeline | write | 把客户勾选的换装建议落库(第2步,免费)。改的是每镜的 **active_wardrobe_id 结构化绑定**, |
assign_voices | read | ★给本集所有角色分配音色(配音导演 agent 按性别/性格/年龄/角色定位+项目语言选)。 |
audit_prop_era | read | 重审某个道具图的时代/形制(一次小额视觉审核,按用量后付)。依据该道具的 era_lock,以及它被绑定的各镜所在场景/分集的时代契约。 |
audit_seams | read | 审核当前双边帧的剪辑连续性,只检查、不重生、不替换资产。默认 dry_run=true 返回待审范围,不收费。 |
audit_silent_shot_audio | read | 查**无台词镜里的异常发声**:本该沉默的反应镜,音轨却比同场说话镜还响—— |
auth | read | API-key → short-lived bearer token exchange |
autofill_storyboards | destructive | (推荐)AI 一键给全集分镜补全空缺字段,默认**只填空缺、不覆盖已有**(overwrite=true 才覆盖)。提升分镜完整性,出图前做。后台异步,文本步后付。 |
build_wardrobe_timeline | read | 算**服装时间线**:从剧本与分镜推出每个角色在各镜应该穿哪一身,并给出逐镜建议 diff。 |
bulk_import_storyboards | write | 把一份结构化 JSON 一次性建成本集的分镜(按 storyboard_number 去重更新)。**不建角色/场景/道具**——它们由 extract_assets 从剧本提取,导入只按名字绑定已有的(回执 characters_unmatched / char_refs_unresolved 列出没绑上的;先 extract 再导)。免费·确定性·不调 AI。 |
chain_frames | read | 整集首尾帧接力链:让每镜首帧承接上镜尾帧,镜间画面连续(比各镜独立出帧更顺)。 |
chain_shot_from | read | 把同一集**任一镜**的首帧或尾帧接为本镜首帧。两种落法:\n |
chain_shot_from_prev | read | (免费)把上一镜的尾帧**直接**设为本镜首帧:画面 100% 接上,零成本、不出图。 |
check_bulk_import | write | **导入前的 JSON 自检**:用导入端点**同一份 zod schema** 校验,再把导入路由的 |
check_script_format | read | **回填前的格式自查**:把一段剧本正文按平台判据跑一遍,逐条返回问题。免费·纯规则·不调模型·不落库·可反复跑。 |
check_storyboard_table | read | **导入前的分镜表自检**:用导入端点**同一个解析器**跑一遍,返回 errors / warnings / stats / shots(逐镜解析预览:每一镜会变成什么秒数·景别·运镜·标记·正文字数)。免费·纯规则·不调模型·不落库·可反复跑。 |
classify_cost_reason | read | 按明确证据登记某一账本行原因,保留操作者和说明。免费,不改变任何扣费或退款;不能仅凭未采用、重试或报错就判为供应商失败。 |
clear_shot_footage | destructive | 清除某镜的实拍素材(video_url 置空、来源标记清掉),让这一镜恢复可 AI 生成视频。免费。 |
clear_shot_frame | destructive | 清除某镜的尾帧(解除引用,免费)。用于换了定妆图/改了剧情后,旧尾帧会把旧人物/旧画面带进重生的视频时,先清掉它再 regenerate_shot_video。 |
clone_voice | read | 从一段**已授权**的音频样本克隆音色,返回 voice_id。**不需要先有角色或剧目**。 |
complete_ending_motifs | read | (可选增强·★非必须·条件性)给结尾段补全缺失的视觉母题(嫁接视觉回响到结尾镜)。 |
compose_episode | read | 把某一集所有镜头视频拼成一条成片(终拼)。**免费**(纯拼接,无需报价确认),后台异步。 |
confirm_delivery_acceptance | read | 只有客户明确确认后才记录接受或撤销接受;不得把下载成功、模型判断或生成完成当客户验收。delivery_id=null 表示只有客户口头确认、文件未核验;否则绑定指定交付版本。选择当前与客户接受是独立事实,使用 set_current_delivery 选定后平台才显示该文件已交付完成。免费,不生成、不改素材。 |
create_drama | write | 新建一部短剧(剧壳)。★强烈建议建剧时一并设好基础项目设定——project_type/setting_brief(世界观·ERA LOCK)/ |
create_prop | write | 往道具库加一个道具。extract_assets 会自动提取道具,这里供手动补建。跨时代剧建道具时就把 era_lock 填上(建完会自动触发出设定图,补填要重出才生效)。免费(建条目;填了 description 会自动触发出设定图、后付)。 |
create_wardrobe | write | 新建一件服装资产(免费,纯文本写库)。建好之后要**绑到镜头上**才会影响出图—— |
delete_asset | destructive | ★不可撤销:永久删除某个旧资产文件的全部版本(两个存储桶)。必须先 preview_delete_asset,把结果给客户看,客户明确确认后, |
delete_character | destructive | 删除一个角色(提取误建/合并时用)。免费。 |
delete_prop | destructive | 删一个道具。免费。 |
delete_scene | destructive | 删除一个场景。免费。 |
delete_voice | destructive | 删除我音色库里的一个克隆音色(平台公共音色不可删)。免费。 |
delete_wardrobe | destructive | 软删一件服装资产(免费)。已绑定它的镜头不会被自动改,先确认没有镜头还在用。 |
delete_world_state_event | destructive | 删掉一条手工事件(免费)。只能删手工加的,AI 抽取出来的要靠 rebuild_world_state 重算。 |
derive_pose_chain | read | 派生**姿态链**(Action Graph):从相邻镜的动作推出每镜的起止姿态,让镜间衔接不跳。 |
design_voice | read | **没有声音样本时**,用一句话描述造一个新音色(例如给旁白或某个角色一把专属的声音)。 |
edit_rewritten_script | write | ★改稿的**首选通道**:改 AI 改写后的可拍稿(写 script_content)。免费、秒级、结果确定不抽卡—— |
edit_video_shot | write | 确认后就地编辑某镜视频:按 instruction 改,可带参考图/视频/音频,或用 start_sec/end_sec 做区间替换。 |
enhance_shot_prompts | read | (可选增强·★非必须·有副作用)AI 批量增强全集 image_prompt。★会**改写已有 prompt**(含手调的);且**务必 generate_frames 之前**做—— |
export_handoff_pack | read | 启用交付追溯后会保存不可变导出清单(不改素材)。保留 pack_id 和 manifest_sha256,回传外部成片时引用。 |
export_sheet_compare | read | 导出**设定图对照版**(角色设定图与成片画面的对照拼版,营销/交付用)。触发后台合成,用 get_sheet_compare 轮询。 |
extend_final | read | 发起成片续写(**收费**,每轮走视频生成扣费链)。后台串行跑,立即返回会话 id,用 get_extend_final 轮询。 |
extract_assets | read | 从可拍稿提取角色/场景/道具(一次写三表,是下游一致性的地基)。后台异步,文本步后付不欠费。 |
extract_segment_to_library | read | 把某一镜(或某集成片)的某个时间区间抽出来,存成可复用的素材,进我的素材库。免费(纯剪切,不走厂商)。 |
extract_setting_brief | read | 从一段世界观原文提炼简洁的 setting_brief(并存回项目)。文本步后付不欠费。 |
extract_visual_lock | read | 从世界观 Brief + 角色抽取「视觉锁定」规则(写 visual_lock,统一出图风格/族裔)。文本步后付不欠费。 |
generate_art_bible | read | 生成美术圣经(色调/材质/气质,读角色+元数据)。文本步后付不欠费。 |
generate_bgm | read | 给整集生成/更换 AI 配乐(按情绪弧线)。后台异步,按用量后付不欠费。返回情绪弧线段数与预估耗时; |
generate_character_portraits | read | 确认后批量出角色定妆图(★仅定妆图):后台异步。定妆图只是单张身份锚——镜头一致性(尤其服装)还需**设定图**, |
generate_character_sheet | read | 给**单个**角色出三视图设定图(镜头一致性根锚,所有镜头帧都会引用;比定妆图更完整)。整集批量用 generate_character_sheets。 |
generate_character_sheets | read | ★批量给全剧角色出设定图(多视角 turnaround)。设定图是镜头帧/视频引用的**一致性根锚**——只出定妆图不出设定图, |
generate_color_script | read | 生成剧目色彩脚本(统一全片配色情绪)。★产线主干步:分镜后、出帧(generate_frames)前做。 |
generate_cover | read | 给整部剧生成片头封面图。图片步,按用量后付。 |
generate_deliverables | read | 品牌片:一键生成全部交付物。后台异步,按用量后付。 |
generate_drama_poster | read | 给整部剧生成海报图(KV)。图片步,按用量后付。 |
generate_effects | read | 给整集自动匹配视觉特效。后台异步,按用量后付。 |
generate_episode_poster | read | 给某一集生成海报图。图片步,按用量后付。 |
generate_frames | read | 确认后批量出帧:后台异步。用 get_storyboards 轮询,first_frame_image/last_frame_image 逐镜填充即完成。 |
generate_motion_templates | read | 可选实验:从已有分镜提取动作模板,仅客户明确要求时调用,不是产线必做步。 |
generate_mv_script | read | MV 项目:据歌词+故事写首集可拍剧本(写 scriptContent)。之后走标准 extract_assets → 分镜 → ...。按用量后付。 |
generate_mv_song | read | MV 项目·AI 作曲第 3 步(扣费):用本剧歌词 + 选定的曲风描述生成 candidates 首带人声的整曲候选,后台跑约 1~2 分钟。 |
generate_mv_story | read | MV 项目:据歌词 AI 编一个 MV 故事线。后台/同步,按用量后付。 |
generate_portraits_and_sheets | read | ★一键:定妆图 + 设定图(推荐,产线标配)。设定图强依赖定妆图,故智能两阶段——有角色缺定妆图就先派定妆图并提示, |
generate_product_sheet | read | ★广告项目:给商品库里某商品 AI 出设定图(广告露出锚)。商品无设定图 → 出视频时按分镜 grep 产品名取图当锚会落空、产品漂移。图片步,按用量后付不欠费。 |
generate_prop_sheet | read | 给道具 AI 出设定图。图片步,按用量后付不欠费。 |
generate_scene_groups | read | 生成场景组(把连续镜头归组,连续长镜/批量出图的地基)。后台异步。 |
generate_scene_images | read | 确认后批量出**空景基板**(每场一张无人物的场景底图):后台异步,只补「还没有图」的场景。 |
generate_scene_lighting_ref | read | 按报价补这一场的打光参考图(后台出图,按用量扣点)。完成后 get_scenes 里该场景的打光参考图字段会有值。 |
generate_sfx | read | 给整集自动匹配+生成音效(SFX)。后台异步,按用量后付。 |
generate_shot_frame | read | 确认后给**某一镜**出帧或重生该帧(异步)。这是修某一镜画面的正路:平台会带上该镜的角色身份锚、 |
generate_storyboards | read | 确认后拆镜:后台跑(分钟级),立即返回 status:generating。用 get_storyboards 轮询。 |
generate_transitions | read | 给整集自动加转场(闪白/玻璃碎裂等)。后台异步。 |
generate_tts | read | 给整集所有对白批量配音(TTS)。成片前的音频步——不配音成片会缺对白。前置:先 assign_voices 给角色分配音色。后台异步,按用量后付不欠费。 |
generate_video_style | read | 生成视频风格锁 prompt(读 brief/artBible/visualLock,统一视频生成方向)。文本步后付不欠费。 |
generate_videos | read | 确认后批量出视频:一条后台链跑完整集,余额不足会自动中止整链(防重复扣)。 |
generate_world_concept | read | (★默认必做·很多第三方平台漏做这步·仍走报价确认)生成世界观概念图(固定4格:全景/时代/主场景/色彩),提升整剧视觉一致性。 |
get_asset_binding_repair_plan | read | 只读生成一集历史缺失场景绑定的可审核修复提案。返回原始地点/时段、候选 ID、匹配依据、歧义和 proposed_scene_id;applied=false,绝不按名字自动回填。逐项核对后才由客户决定是否改绑。免费。 |
get_asset_recovery | read | 列本集可恢复的**历史视频产物**(免费·只读):以前生成过、后来被覆盖掉的整集成片与逐镜视频。 |
get_asset_versions | read | 只读查询一个镜头的全部图片/视频版本、历史查看链接、依赖 ID 与版本哈希,以及已生成→与当前输入一致→审核有效→已采用四项独立事实。历史缺少依赖记录时显示未知,不补造快照。免费。 |
get_assets | read | 读一部剧的全部资产聚合(角色/场景/道具/图片)。免费。 |
get_autofill_status | read | 查本集后台补全批次(导入 auto_complete / autofill_storyboards 发起的 AI 一键填空)的进度:{ status: running|done|failed|idle, total, done, ok, fail }。免费。 |
get_bgm_plan | read | 查本集配乐会分成几幕(免费、只读、不生成):每幕的幕号 act、覆盖镜号 sb_from~sb_to、时长、平均情绪强度。 |
get_bgm_prompt_guide | read | 取「AI 配乐提示词」的书写规范:两个档位怎么选、该写哪些维度(附可照抄的示例)、 |
get_bgm_status | read | 查某集 AI 配乐生成状态:running(是否在生成)+已入库的配乐轨列表(track/覆盖镜段/淡入淡出)+cue 数。免费。 |
get_budget_status | read | 查一部剧的预算状态(预算/已花费/剩余)。免费。 |
get_bulk_import_spec | write | 取**批量导入 JSON 的格式契约**:markdown 范本全文 + template(占位符模板,<...> 必须替换) + filled_example(成品对照,可直接照结构填) + external_prompt(转发给外部 AI/自己工具的任务提示词) + checklist + enums(mode/role/char_type/shot_type/action_motion_class 的合法值,与校验器同源) + limits(数组与字段上限)。免费·静态·不扣费。 |
get_capabilities_guide | read | ★功能地图(免费 · 本地 · 不联网 · 不扣费)。**第一次接触本服务器、客户问「你们能做什么 / 该从哪开始」、 |
get_characters | read | 读某一集的角色列表(名字/定妆图/设定图就绪状态)。免费。每角色带结构化状态: |
get_color_scripts | read | 读该剧已生成的色彩脚本(全片配色情绪)。generate_color_script 生成、此工具读取。免费。 |
get_cost_attribution | read | 读取实际扣费与退款逐行归因。免费;净额仍以账本为准。图片和视频均显示任务、冻结输入版本、是否采用和明确登记的返工原因。未知和歧义不猜测;未采用不等于浪费。available=false 时没有可靠金额;complete=false 时明细有截断但 totals 是全额。历史 rework.video 只是重复成功出片的计数,不证明失败或浪费。 |
get_cost_estimate | read | 查一部剧的整体成本(点数):已花费 + 还没做的部分的待花费区间 + 分类明细。免费。 |
get_deliverables | read | 品牌片:读交付物树(海报/母版/分轨/各平台版等)。免费。 |
get_dialogue_repair_status | read | 查台词修复的进度(免费)。repair_episode_dialogue 是后台异步串行跑的,用这个轮询。 |
get_drama | read | 读一部剧的详情(设定/角色数/场景数/资产统计等)。免费。 |
get_drama_bill | read | 本剧净费用账单(免费)。核账、回答「到底花了多少、钱花在哪、退了多少」时用它,别自己拼流水。 |
get_edit_capabilities | write | 查视频编辑能力开关(就地编辑 / 区间替换是否可用)。免费。 |
get_era_contract | read | 读本集的时代契约现值 + 各场的场级覆写清单 + 四个可选档位的用途说明。免费。 |
get_export | read | 查某一集导出/母版状态(成片终拼后的可下载母版)。免费。 |
get_extend_final | read | 查本集所有续写会话的进度与产物。免费。 |
get_final_cut | read | 查某一集成片状态与下载链接。status=completed 时返回 download_url(我方 COS 直链,可直接下载)。免费。 |
get_frame_candidates | read | 免费只读:一个镜头首帧/尾帧的**全部候选**(出图验收工作台同一份数据)。每张候选给原图地址(被拒的也在,可直接打开看原尺寸)、状态、是否为当前在用(adopted)、 |
get_frame_retry_diagnosis | read | 免费只读查询图片任务的连败诊断、证据任务 ID 和下一步动作。diagnosis_required 时先调用本工具:审计故障重审已有候选,未知原因先复核;不得原样重抽或擅自改剧本。 |
get_handoff_toolchain | read | 拿到素材交接包的装配工具链源码(compile_timeline.py 时间轴编译器 / assemble.sh ffmpeg 装配脚本)。 |
get_health_report | read | (★推荐·免费诊断)读分镜出体检报告:时长超标/母题覆盖不足/问题镜。纯读、免费。出图前查,识别问题先改再出、别出了片才发现。 |
get_image_dispatch | read | 免费只读查询一张镜头帧的派发台账:实际用了哪几张参考图、每张的用途与所属角色、是否送达模型、没送达或派发前被剔除的是哪一步因什么被剔(如时代预检点名的冲突物件),以及真正发给图片模型的最终提示词。用于回答「到底用了哪张图、为什么画面不像」;先查清再决定是否重出,别靠猜反复付费重抽。ledger=partial/none 表示该图生成于台账上线前,缺失字段如实为 null。 |
get_jobs | read | 查一部剧的任务队列进度(出图/出视频/合成各阶段的 pending/processing/done/failed)。 |
get_lipsync_status | read | 查整集口型同步进度。免费。 |
get_localization_job | read | 查询一个本地化任务的状态。status=done 时返回成片下载链接(短时效预签名 URL,过期就再查一次拿新链接)。 |
get_motion_templates | read | 读该剧已有的动作模板(运镜/动作预设)。generate_motion_templates 生成、此工具读取。免费。 |
get_mv | read | MV 项目:读歌词/故事/剧本当前状态。免费。 |
get_mv_song | read | MV 项目·AI 作曲:查进度与本剧已生成的候选(免费)。candidates[].qc 是唱词质检摘要(字错率 / 疑似没唱的段落), |
get_pipeline_status | read | 查某一集完整工作流的进度(script_rewrite/提取/分镜/语音/出图/出视频/合成/配乐/终拼...各步 |
get_props | read | 列剧目道具库(每个道具名称/类型/描述/设定图)。★道具库≠广告商品库(add_product/list_products 是带货商品);道具库是剧目道具。免费。 |
get_repaint_capabilities | read | 查本剧能用哪些视频转绘:repaint(视频重绘)/ reskin(换装重绘)是否开放、单段源片上限 maxSourceSec、 |
get_repaint_status | read | 查一次视频重绘/换装重绘的进度。generation_id 用发起时返回的 id(接力时就是段 1 的 id,返回的是整条链的状态)。免费。 |
get_run_status | write | (★免费·长耗时操作后必用)查这一集当前有没有 agent 正在跑。 |
get_scene_group_plan | read | 查某一集的场景组规划(镜头如何归组做连续长镜)。免费。 |
get_scene_prompt | read | 读某一场**场景图(空景基板)**的提示词正文,供直接微调后用 update_scene 的 image_prompt 写回。免费。 |
get_scenes | read | 读某一集的场景列表(名字/描述/场景图是否就绪)。免费。 |
get_script | read | 读某一集的原始内容 + AI 改写后的可拍稿 + 改写状态 + dramaturgy_suggestions(两步保真模式下 AI 识别到但未自动补的剧作缺口——钩子/情感锚点;把它转述给客户决定采纳与否,忽略不影响产线)。免费。 |
get_script_format_spec | read | 取本平台**认可的剧本格式契约**:markdown 范本全文 + external_prompt(可整段转发给任意外部 AI 的任务提示词) + skeleton(带 〈...〉 占位的模板) + filled_example(填好的成品对照)。免费·静态·不扣费。 |
get_sheet_compare | read | 轮询设定图对照版的导出状态。免费。回 enabled(剧集开关是否打开)/processing/result/error。 |
get_shot_name_card | read | 读这一镜的**人物名片**现值(免费):名字、头衔、显示位置那些。 |
get_shot_prompts | read | 读某一镜的四条提示词**正文**(image_prompt=首帧画面 / video_prompt=动态表演 / |
get_stale_portrait_frames | read | 免费只读查询一集里哪些镜头的在用首帧/尾帧,是拿角色已被换掉的旧资产(旧定妆图、旧设定图、旧身体/发型图)画的。换定妆图后用它确认影响范围,再由客户决定重出哪些镜(重出要付费,本工具不改任何数据)。verdict=stale 必附证据:ledger-old-asset(派发台账直接记录用了旧图)/ references-previous-asset(参考图里有该角色以前的旧资产)/ portrait-born-after-frame(当前定妆图晚于该帧诞生);证不了的标 unknown 并给原因,不当作已过期。has_video=true 表示该镜视频也基于旧帧,重出帧后视频需重生。 |
get_storyboard_table_spec | read | 取本平台**认可的分镜表格式契约**:markdown 范本全文 + external_prompt(可整段转发给任意外部 AI 的任务提示词) + skeleton(〈...〉占位骨架) + filled_example(成品对照) + checklist + shot_types(景别白名单) + movements(运镜白名单与认得的中文写法)。免费·静态·不扣费。 |
get_storyboards | read | 读某一集的分镜列表(供审阅/查进度)。含每镜首帧(first_frame_image)与视频(video_url)是否就绪。 |
get_voice_consistency | read | 查声线一致性扫描的进度与逐镜结果(scan_voice_consistency 启动的)。免费。 |
get_voice_design | read | 查 design_voice 任务的进度。status=done 后把每条候选下载成本地 wav(返回 local_path), |
get_wardrobe | read | 读一件服装资产的详情(免费)。 |
get_world_state | read | 读本集的**世界状态账本**:被追踪的实体(道具/服装/伤痕一类)在各镜之间的状态, |
import_storyboard_table | write | 【已有分镜表时用这个】把客户**做完的分镜表**直接建成分镜,跳过改写与拆镜——中间没有任何 agent。免费。 |
link_world_state_scene_variant | read | 把账本里的某条事件关联到一个**场景变体**(免费)。 |
lipsync_episode | read | 给整集批量口型同步。后台异步,按用量后付。用 get_lipsync_status 查进度。 |
lipsync_shot | read | 给单镜做口型同步(对白与人物嘴型对齐)。按用量后付。 |
list_bgm_cues | read | 列出本集的配乐段(AI 配乐按情绪分幕,每段覆盖一段镜号 sb_from~sb_to):id、覆盖范围、gain_db(null=跟随音量档)、fade_in_ms / fade_out_ms、track_offset_ms / start_shift_ms(null=系统决定)。 |
list_deliveries | read | 列本集**所有成片版本**(新→旧,平台成片与外部交付共用一条版本号),每条含 sha256、时长、is_current 与完整清单。免费。 |
list_dramas | read | 列出我名下的所有短剧(drama_id/剧名/类型/集数/进度)。免费。 |
list_localization_jobs | read | 列出我的本地化任务(最近 200 条,可按剧集过滤)。 |
list_products | read | 广告项目:列出商品库。免费。 |
list_project_options | read | 列出建剧的全部可选项:项目类型(短剧/广告/MV/品牌片)、画幅比例、视频分辨率、视频引擎(Seedance 2.5/MiniMax H3,带价差与能力差)(带中英标签+说明+默认值)。 |
list_unlinked_assets | read | 列出本剧「已解除引用」的旧资产(免费):清尾帧、换定妆图时被摘下来的旧尾帧/旧定妆图/旧设定图/发型·身体参考/视频锚,每个 URL 一条。 |
list_voices | read | 列出可用音色:我克隆的私有音色 + 平台公共音色(voice_id/名字/试听样本)。免费。 |
list_wardrobe | read | 列本剧的**服装资产库**(免费)。每件服装是一个可被镜头引用的结构化资产, |
localize_video | read | 把一个中文短剧视频(mp4/mov)做出海本地化:去除中文硬字幕并压制目标语言字幕。 |
mark_signature_prop | read | 标记/取消「招牌道具」(会在多镜复现的关键道具,加强一致性追踪)。signature=false 取消。免费。 |
plan_precheck_fix | read | 让平台**算出**该怎么改 run_precheck 揪出的「指令自相矛盾」类问题(第1步,只算不改)。 |
preview_delete_asset | destructive | 预览「真删除」某个旧资产文件(免费、只读)。真删除会从存储里**永久删除**这张图的全部版本,不可撤销。 |
quote_align_prev_shot | read | (免费报价)align_prev_shot 会重生**上一镜的视频**(扣一条视频),执行前先报价、经客户确认。 |
quote_bgm_candidates | read | 给「配乐候选整版对比」报价(免费):每幕出 candidates 首完整候选的总点数 = 有配乐的幕数 × 候选数 × 单首价。 |
quote_chain_shot_from | read | (免费报价)chain_shot_from 的 mode=reframe 要扣**一张图**(以源帧为锚重生本镜首帧),执行前先报价、经客户确认。 |
quote_character_portraits | read | 报价:给缺定妆图的角色批量出定妆图要多少点。返回 portraits_to_generate、estimated_points、quote_id。零扣费。 |
quote_edit_video_shot | write | 报价:对某镜做就地编辑/区间替换(Seedance 2.5)要多少点。返回 quote_id。零扣费。 |
quote_extend_final | read | ★成片续写**报价**(免费·无副作用):在已有成片后面再接几轮 AI 生成的片段,把片子拉长。 |
quote_frames | read | 报价:给某一集批量出帧要多少点。返回 frames_to_generate、estimated_points、quote_id。零扣费。 |
quote_mv_song | read | MV 项目·AI 作曲第 2 步:报价(免费)。总点数 = candidates × 单首价;返回 quote_id(15 分钟有效、一次性)。 |
quote_regenerate_scene_group | read | 报价:重出**一个场景组**(整组一次视频请求,组内连贯性保留)要多少点。返回 quote_id。零扣费。 |
quote_regenerate_scene_image | read | 单场景图重出的报价(免费,不出图)。返回 estimated_points(上界)/typical_points,含场景图一张, |
quote_regenerate_shot_video | read | 报价:重生某镜视频要多少点。返回 quote_id。零扣费。 |
quote_repaint_shot_video | read | 报价:对某镜做**视频重绘**(按描述 + 参考图重画人物与服装,保留原片动作)要多少点。返回 quote_id。零扣费。本镜须已有视频。 |
quote_reskin_shot_video | read | 报价:对某镜做**换装重绘**(给一张已换好装的首帧,按原片动作把整段视频续成这身打扮)要多少点。返回 quote_id。零扣费。 |
quote_scene_images | read | 报价:给缺图场景批量出**空景基板**要多少点。返回 images_to_generate、estimated_points、quote_id。零扣费。 |
quote_scene_lighting_ref | read | 给某个场景补一张打光参考图的报价(免费,不出图)。打光参考图=只复现该场景光线的中性人脸特写, |
quote_shot_frame | read | 报价:重画/补出**某一镜的某一帧**要多少点(一帧=一张图)。返回 estimated_points、quote_id。零扣费。 |
quote_storyboards | read | 报价:把某一集的剧本拆成分镜(storyboards)要多少点。零扣费。返回 quote_id 与一个**区间**: |
quote_videos | read | 报价:给某一集批量出视频要多少点(与实际扣费同函数,较准)。返回 estimated_points、quote_id。零扣费。 |
rebuild_world_state | read | 重建世界状态账本(**要花钱**:走 LLM 从分镜里抽取实体与状态变化)。 |
recommend_trim_window | read | 裁剪窗口动作QC:对「声明时长<真实视频时长」的独立生成镜,按片内活动检测推荐 in/out 裁剪窗口—— |
record_product_text_review | read | 免费记录用户对当前产品原字的人工核对结果。只有用户明确打开文件逐字核对并确认结果后才能调用;不得用模型判断冒充人工核对。 |
regenerate_scene_group | read | 确认后重出一个场景组(整组一次视频请求,后台异步;用 get_storyboards 轮询各镜 video_url)。 |
regenerate_scene_image | read | 按当前提示词重出**这一场**的场景图(改完 image_prompt 让画面跟上)。图片步,按用量后付不欠费。 |
regenerate_shot_video | read | 确认后重生某镜视频(可选新 prompt)。 |
regenerate_wardrobe_image | read | 重出这件服装的资产图(**收费**,图片步按用量后付)。改完 description/参考图之后用它让图跟上。 |
register_external_delivery | read | 登记外部后期成片,服务端核验 sha256、大小和时长。免费。有原始导出时传导出时的 handoff_pack_id 与 handoff_manifest_sha256;平台使用原始冻结清单,不按登记时最新素材猜来源。没有原始导出时来源标未知。登记不代表客户接受;启用追溯后还需 set_current_delivery 选择当前版本,confirm_delivery_acceptance 记录客户明确确认。file_path 或 file_url 二选一。 |
render_multi_aspect | read | 把成片按多个画幅(竖/横/方)重渲一版,便于多平台分发。免费(纯 ffmpeg),后台异步。 |
repaint_shot_video | read | 确认后对某镜做视频重绘。扣费上限 = 报价的 estimated_points(接力时为整条合计)。 |
repair_episode_dialogue | read | ★整集批量修「台词没念完/念了别的」。默认只修 scan_dialogue_coverage 判为有缺陷的镜 |
replace_shot_dialogue | read | 换某镜对白音色/声线(转写+克隆重配)。**同步调用**,约 1 分钟返回产物,按用量后付不欠费。要求本镜有原声视频+角色声线定妆音。 |
rerender_episode | read | 按当前 timeline 重拼成片(改完镜/裁剪后用)。**免费**(纯 ffmpeg+COS),后台异步。 |
reskin_shot_video | read | 确认后对某镜做换装重绘。扣费上限 = 报价的 estimated_points。 |
restore_repaint_original | read | 把某镜从转绘结果切回转绘前的原片(换装重绘连首帧一起恢复)。免费。 |
review_all | read | (推荐·免费)三层一次跑完的整体体检:剧本+分镜+镜头图片。开工前摸底、交付前复查用。 |
review_final_cut | read | **成片体检**:导出前把整集过一遍——没出图的镜、字幕一屏放不下、人物没有身份锚、 |
review_frames | read | 【第3道硬闸·免费】审查镜头图片层:角色身份锚覆盖(缺定妆图的角色在镜头里必漂)、出图失败率、 |
review_script | read | 【第1道硬闸·免费】审查 AI 改写稿:对白行长度、情绪转折完整性、开场钩子、末场悬念。 |
review_storyboards | read | 【第2道硬闸·免费】审查分镜:禁区词(会被厂商审核拒、白扣费)、镜头时长分布、相邻构图重复、 |
revoice_narration | read | 换某镜**旁白/画外音**的声音(或改过旁白文字后重配)。**不重新生成视频**:保留画面与出镜台词,只把旁白那几段静掉、 |
rewrite_script | read | AI 改写:把原始剧本改写成可拍稿(读 content → 写 script_content)。按项目类型自动选改写 agent |
rollback_asset_recovery | write | 把一次已应用的恢复**退回去**(免费)。apply 错了就用它撤销,恢复到应用之前的状态(同样只涉及视频)。 |
run_drama_precheck | write | (★免费·只读)**整部剧**的体检汇总:一次拿到每一集有多少问题、哪几集该先修。 |
run_precheck | write | (★推荐·免费质量闸)出图/出视频前跑生成前预检,把会被拒的镜提前揪出。免费、不扣费。 |
save_designed_voice | write | 把客户挑中的那条候选存进音色库,返回 voice_id(形如 lib:12)。**按声音克隆同价扣费**(同一条重复保存不重复扣)。 |
save_handoff_toolchain | write | 把装配工具链(fetch_pack.py / compile_timeline.py / assemble.sh)直接写到你本地的一个目录, |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (6 observation(s))
- Network
- declared (5 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (10)
`file_path 位于隐藏目录(${real}),已拒绝——敏感目录(如 ~/.ssh、~/.aws、.git)不允许作为上传源。``dir 位于隐藏目录(${real}),已拒绝——不向 ~/.ssh、~/.config、.git 这类目录写文件。`'拒绝写入隐藏目录(~/.ssh、~/.config、.git...)与系统目录——这是写盘不是读盘,覆盖错地方不可逆。\n' +
const SYSTEM_PREFIXES = ['/etc/', '/private/etc/', '/proc/', '/sys/']
'/etc/', '/private/etc/', '/proc/', '/sys/', '/bin/', '/sbin/',
autofill_storyboards, clear_shot_footage, clear_shot_frame, delete_asset, delete_character, delete_prop, delete_scene, delete_voice, delete_wardrobe, delete_world_state_event, preview_delete_asset
const origin=`http://127.0.0.1:${server.address().port}`const rows={manifest_version:'0.1',media_type:'images',shots:[{shot_number:1,images:[{frame_type:'first_frame',url:`http://127.0.0.1:${server.address().port}/image.png`}]}],render_target:{color_lut:nuconst url=`http://127.0.0.1:${server.address().port}`@modelcontextprotocol/sdk, zod, @types/node, tsx, typescript, zod-to-json-schema
Gates applied: no_behavioural_pass.
b6e24fa50048full audit observations/trust-audit/mcp-server/starreel__starreel-mcp.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | b6e24fa50048 | BLOCK | D | 69 | first audit |
Questions
What is the @starreel/mcp MCP server?
StarReel MCP server — turn a script into a finished short-drama episode (script → storyboards → frames → video → final cut) from Claude, Cursor, or any MCP client
What tools does @starreel/mcp expose?
200 in total: 177 read-only, 46 that write, and 11 that can delete or overwrite (autofill_storyboards, clear_shot_footage, clear_shot_frame, delete_asset, delete_character). Every one is listed on this page with its risk.
Is @starreel/mcp safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 3 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 11 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does @starreel/mcp need?
It reads STARREEL_API_KEY and STARREEL_AUTH_BASE from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does @starreel/mcp run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as @starreel/mcp at 0.1.138.
How current is this page?
The grade is for one exact copy of the source (b6e24fa50048), read on 2026-10-12. The repository is watched and re-audited when it changes.