seedance-2-mcp
Exposes Volcengine ARK Seedance 2.0 video generation capabilities via MCP tools, enabling text-to-video, image-to-video, and multimodal reference generation locally.
README
seedance-2-mcp
一个开源、本地运行的 MCP (Model Context Protocol) 服务器,把火山方舟 (Volcengine ARK) Seedance 2.0 视频生成能力以三个 stdio 工具的形式暴露给 Codex、Claude Desktop、Cursor 等任意 MCP 客户端。
- 纯本地 stdio,不需要任何云端部署。
- 由 Node.js + TypeScript 编写,使用官方
@modelcontextprotocol/sdk。 - 用户在自己机器上配置
ARK_API_KEY即可调用 Seedance 2.0 的 文生视频 / 图生视频 / 多模态参考生成。
提供的 MCP Tools
| Tool | 作用 |
|---|---|
seedance_usage_guide |
返回完整的使用说明 — 标准流程、模型选择、参数表、注意事项。 |
seedance_create_task |
提交一个 Seedance 2.0 视频生成任务,立即返回 task_id,不阻塞。 |
seedance_check_task |
用 task_id 查询任务状态,成功后返回 video_url 和可选末帧图片。 |
详细参数见 Tools 详解。
给本地 Agent 的快速接入提示词
如果你正在使用 Codex、Claude Desktop、Cursor 或其他支持 MCP 的本地 Agent,可以直接把本仓库链接发给它,并让它阅读这一段。
你是一个本地开发 Agent。请帮我把这个仓库提供的 seedance-2-mcp 接入到当前 MCP 客户端中。
目标:
1. 读取仓库 README,理解这是一个 stdio MCP server,用于调用火山方舟 Seedance 2.0 视频生成 API。
2. 优先使用 npx 方式接入:command = "npx",args = ["-y", "seedance-2-mcp"]。
3. 如果 npm 包暂不可用,或我明确想从源码运行,请 clone 本仓库,执行 npm install && npm run build,并将 MCP command 配为 "node",args 配为 ["<仓库绝对路径>/dist/index.js"]。
4. 只向我索要或确认 ARK_API_KEY,不要把真实 API Key 写进仓库、README、示例文件或 git。
5. 根据我当前使用的客户端自动修改对应 MCP 配置:
- Codex:修改 ~/.codex/config.toml
- Claude Desktop:修改 claude_desktop_config.json
- Cursor 或其他客户端:使用它们支持的 stdio MCP 配置格式
6. 配置完成后,提醒我重启或刷新 MCP 客户端,然后先调用 seedance_usage_guide,再按 create -> wait -> check 的流程生成视频。
7. 如果本机没有 Node.js >= 18 或 npx 不可用,请先指出缺失项,并给出最小安装建议。
重要约束:
- stdout 是 MCP JSON-RPC 通道,不要让 server 在 stdout 打调试日志。
- ARK_API_KEY 只能放在 MCP 客户端 env 配置或本机环境变量里。
- 生成的 video_url 通常会过期,任务成功后应提示我尽快下载。
你也可以直接对 Agent 说:
阅读这个仓库并按 README 里的“给本地 Agent 的快速接入提示词”帮我配置 Seedance MCP。我会提供
ARK_API_KEY。
安装
1. 通过 npx(推荐 - 无需手动安装)
MCP 客户端的配置里直接用:
npx -y seedance-2-mcp
每次启动会下载(或复用缓存)最新版本。
2. 全局安装
npm install -g seedance-2-mcp
之后在客户端配置里使用 seedance-2-mcp 即可。
3. 从源码运行(开发者)
git clone https://github.com/seedance/seedance-2-mcp.git
cd seedance-2-mcp
npm install
npm run build
node dist/index.js
要求 Node.js >= 18(依赖原生 fetch)。
环境变量
| 变量 | 必填 | 说明 |
|---|---|---|
ARK_API_KEY |
是 | 火山方舟 API Key。前往 https://console.volcengine.com/ark 获取。 |
ARK_BASE_URL |
否 | 默认 https://ark.cn-beijing.volces.com/api/v3。海外/代理可覆盖。 |
复制 .env.example 到本地 .env 仅作开发参考;真正生效的位置是 MCP 客户端配置里的 env,
因为客户端通过子进程拉起 MCP,会自己注入环境变量。
如果工具调用时未设置 ARK_API_KEY,三个工具中调用真实 API 的两个都会返回清晰错误:
Missing ARK_API_KEY environment variable. Please set ARK_API_KEY to your Volcengine ARK API key.
客户端配置示例
Codex(~/.codex/config.toml)
[mcp_servers.seedance-2-mcp]
command = "npx"
args = ["-y", "seedance-2-mcp"]
env = { "ARK_API_KEY" = "your_key_here" }
Claude Desktop(claude_desktop_config.json)
macOS 路径:~/Library/Application Support/Claude/claude_desktop_config.json
Windows 路径:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"seedance-2-mcp": {
"command": "npx",
"args": ["-y", "seedance-2-mcp"],
"env": {
"ARK_API_KEY": "your_key_here"
}
}
}
}
Cursor / 其他 MCP 客户端
任何支持 stdio MCP 的客户端通用配置:
{
"command": "npx",
"args": ["-y", "seedance-2-mcp"],
"env": { "ARK_API_KEY": "your_key_here" }
}
Tools 详解
seedance_usage_guide
无参数。返回 Markdown 格式的完整使用说明。建议在首次调用 seedance_create_task 之前先调用一次。
seedance_create_task
提交一个视频生成任务,立即返回 task_id。
输入参数:
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
prompt |
string | —(必填) | 自然语言描述。如有参考素材,在 prompt 中用 [Image1] / [Video1] / [Audio1] 引用。 |
model |
enum | doubao-seedance-2-0-260128 |
doubao-seedance-2-0-260128(标准版,最高质量)/ doubao-seedance-2-0-fast-260128(快速版)。 |
duration |
integer | 5 |
视频时长,单位秒。[4, 15]。 |
ratio |
enum | 16:9 |
21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / adaptive。 |
resolution |
enum | 720p |
480p 或 720p。 |
generate_audio |
boolean | true |
是否同时生成同步音频(对白 / 音效 / BGM)。 |
watermark |
boolean | true |
是否添加平台水印。部分账号可能无法关闭。 |
web_search |
boolean | false |
是否对 prompt 启用联网增强;仅纯文本输入可用,不能与 image/video/audio 同时使用。 |
return_last_frame |
boolean | false |
是否返回末帧图片 URL,用于多段拼接。 |
image_urls |
array | — | 最多 9 项;每项 { url, role? },role ∈ reference_image / first_frame / last_frame,默认 reference_image。 |
video_urls |
array | — | 最多 3 项;每项 { url, role? },role ∈ reference_video。 |
audio_urls |
array | — | 最多 3 项;每项 { url, role? },role ∈ reference_audio。必须配合 image 或 video。 |
校验规则:
duration必须是[4, 15]之间的整数。image_urls≤ 9,video_urls≤ 3,audio_urls≤ 3。- 仅纯文本 +
audio_urls会被拒绝(Seedance 不支持)。 web_search=true与任何参考素材同时出现会被拒绝(联网增强只支持纯文本)。
返回:
{
"task_id": "cgt-2026xxxx-xxxxxx",
"model": "doubao-seedance-2-0-260128",
"duration": 5,
"ratio": "16:9",
"resolution": "720p",
"raw": { /* 火山原始响应 */ }
}
seedance_check_task
输入 { task_id: string }。可能的状态:
running/queued/pending— 仍在处理。提示等待 30-90 秒后再调用。succeeded— 返回video_url,若return_last_frame=true也会返回last_frame_url。failed— 返回fail_reason(如有)。cancelled/expired— 任务已取消或已过期。- 其他 — 原样回传
status与原始 payload。
典型调用流程
client → seedance_usage_guide ← 阅读规则
client → seedance_create_task { prompt, ... } ← 提交任务
↓
task_id: cgt-...
↓
client → seedance_check_task { task_id } ← 30-90s 后轮询
↓
status: running (继续等待)
↓
status: succeeded ← 返回 video_url
↓
立刻下载 video_url(约 24h 内会过期)
15 秒标准模型任务通常需要 2-5 分钟完成;快速版会更短。
安全说明
- 不要把
ARK_API_KEY写进 git 仓库。把它放在 MCP 客户端配置(如claude_desktop_config.json、~/.codex/config.toml)的env字段,或者 shell 环境变量里。 - 本工具不会在日志或返回值里打印
ARK_API_KEY。 - 火山生成的
video_url和last_frame_url是带签名的临时 URL,根据火山官方说明默认 24 小时内有效;任务成功后请尽快下载,避免链接过期。 - 你传入的
image_urls/video_urls/audio_urls都需要 公网可访问 的 HTTPS(或 HTTP)地址;本地路径、内网地址、需要登录的资源无法被火山服务器拉取。 - 请遵守火山方舟与 Seedance 模型的使用条款,不要生成违法、未成年人不当或侵权内容。
开发
npm install
npm run typecheck
npm run dev # 用 tsx 直接跑 src/index.ts
npm run build # 输出到 dist/
npm start # node dist/index.js
调试 stdio MCP 推荐:
npx -y @modelcontextprotocol/inspector npx -y seedance-2-mcp
或本地源码:
npx -y @modelcontextprotocol/inspector node dist/index.js
项目结构
.
├── src/
│ ├── index.ts # stdio MCP 入口(带 shebang)
│ ├── server.ts # 注册 McpServer 和三个 tools
│ ├── seedance.ts # 火山方舟 Seedance 2.0 REST API 客户端
│ ├── schema.ts # zod 输入 schema
│ └── usageGuide.ts # seedance_usage_guide 返回的文本
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── LICENSE
└── README.md
协议
MIT © seedance-2-mcp contributors
本项目与字节跳动、火山引擎、Volcengine ARK 均无官方关联。 "Seedance"、"Doubao"、"火山方舟" 等名称版权归各自持有人所有。
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.