Seedance Polza MCP Server
Provides integration with ByteDance's Seedance video generation models (e.g., seedance-2) via the Polza.ai API, enabling text-to-video and image-to-video generation, status polling, and retrieval of generated video URLs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Seedance Polza MCP Servermake a 5-second video of a sunset over the ocean"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Seedance Polza MCP Server
mcp-name: io.github.ivanantigravity-lgtm/seedance-polza-mcp-server
MCP сервер для генерации видео через bytedance/seedance-2 (и другие Seedance-модели) на Polza.ai.
Что умеет
text-to-video и image-to-video генерация
чтение статуса генерации
polling до готовности видео
возвращает компактный результат (id, статус, url, usage, warnings)
Related MCP server: Seedance MCP
Что нужно для установки
Claude DesktopилиClaude CodePython 3.11+
POLZA_AI_API_KEY— ключ берётся на polza.ai/dashboard/api-keys
Поставить uv:
curl -LsSf https://astral.sh/uv/install.sh | shУстановка за 2 минуты (через PyPI + uvx)
Claude Code / VS Code
Создай .mcp.json в корне проекта:
{
"mcpServers": {
"seedance-polza": {
"command": "uvx",
"args": ["seedance-polza-mcp-server@latest"],
"env": {
"POLZA_AI_API_KEY": "your-polza-api-key-here"
}
}
}
}Перезапусти Claude Code.
Claude Desktop (macOS)
Файл ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"seedance-polza": {
"command": "uvx",
"args": ["seedance-polza-mcp-server@latest"],
"env": {
"POLZA_AI_API_KEY": "your-polza-api-key-here"
}
}
}
}Claude Desktop (Windows)
Файл: %APPDATA%\Claude\claude_desktop_config.json. Содержимое идентичное.
Как проверить, что работает
После перезапуска Claude попроси:
Сделай через seedance короткое видео: закат над океаном, 16:9, 5 секунд
Claude должен вызвать seedance_create_video и дождаться готовности через seedance_wait_for_completion.
Tools
seedance_create_video— запустить генерациюseedance_get_status— проверить статус поidseedance_wait_for_completion— ждать polling-ом до готовностиseedance_model_guide— краткая памятка по параметрам
Дефолты
модель:
bytedance/seedance-2polling interval:
8секундmax wait:
900секунд
Переменные окружения
Переменная | Обязательная | По умолчанию |
| да | — |
| нет |
|
| нет |
|
| нет |
|
| нет |
|
| нет |
|
Поддерживаемые входные параметры
Базовые параметры под видео:
promptaspect_ratio(16:9,9:16,1:1,4:3,3:4,21:9и т.д.)resolution(480p,720p,1080p)duration(5s,10s,15s— зависит от модели)images— референсы для image-to-videovideos— референсы для video-to-videoseedasyncuser
Формат images / videos:
{ "type": "url", "data": "https://example.com/file.png" }или
{ "type": "base64", "data": "data:image/png;base64,..." }Что возвращает сервер
Сервер не делает лишней магии. Он возвращает:
idгенерацииstatusmodelusage(в том числеcost_rub)urlрезультата, если видео готовоwarnings/errorпри проблемах
Локальная разработка
git clone https://github.com/ivanantigravity-lgtm/seedance-polza-mcp-server.git
cd seedance-polza-mcp-server
uv sync
POLZA_AI_API_KEY=your_key uv run python -m seedance_polza_mcp_server.serverВажно
Этот сервер не гоняет live preview и не тратит токены сам по себе.
Генерация запускается только по явному вызову tool.
Лицензия
MIT.
Available Tools
4 toolsseedance_create_videoC
Create a Seedance video generation through Polza Media API.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| user | No | ||
| model | No | ||
| sound | No | ||
| images | No | ||
| prompt | Yes | ||
| videos | No | ||
| duration | No | ||
| async_mode | No | ||
| resolution | No | ||
| aspect_ratio | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action without mentioning asynchronous behavior, return type, authentication, or side effects, leaving the agent uncertain about what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but under-specified; it provides no useful information beyond a basic purpose. The single sentence does not earn its place because it simply restates the tool's name in a slightly longer form without adding actionable details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters and no annotations, the description is grossly incomplete. It does not explain how to construct a request, what the output represents, or the relationship between this tool and the sibling tools. An output schema exists, but the description lacks critical context for execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description mentions no parameters. The 11 parameters are entirely unexplained, so the agent cannot know what values to provide beyond the prompt being required by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') and resource ('Seedance video generation'), making the tool's primary function clear. It is distinguishable from sibling tools that focus on model guidance, status retrieval, and completion waiting, though it does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the sibling tools, no prerequisites are mentioned, and there is no context about required parameters beyond the schema. The description offers no 'when' or 'when not' usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seedance_get_statusB
Get current status of a media generation by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| media_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden but only states the obvious. It does not disclose any behavioral traits such as whether the status is returned immediately, possible status values, or behavior for invalid IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It effectively communicates the core action and target.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and an output schema present, so the return value is covered by schema. However, the description lacks usage context and behavioral nuances, making it minimally viable but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage for media_id, but the description's phrase 'by ID' clarifies that media_id is the identifier of the media generation. However, it adds no further detail about format, constraints, or required format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('get') and resource ('status of a media generation') with clear scope ('by ID'). It distinguishes from siblings like seedance_create_video and seedance_wait_for_completion by focusing on current status retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like seedance_wait_for_completion. The description only states what it does, not the context or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seedance_model_guideA
Return a short practical guide for using Seedance through Polza.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'Return' implies a read-only operation, but the description discloses no other behavioral details (e.g., authentication requirements, rate limits, or what the guide contains). It does not contradict annotations (none exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundancy. It directly states the action and object, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (0 parameters) and has an output schema, so the description need not explain return values. However, it lacks context on when to use this tool relative to the sibling tools, making it slightly incomplete for an agent deciding when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the input schema is empty and the description need not explain parameter semantics. The baseline of 4 applies because there are no parameters to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Return') and resource ('guide for using Seedance through Polza'), distinguishing it from the sibling tools that create videos, get status, or wait.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'short practical guide' implies usage for obtaining instructions, but the description provides no explicit guidance on when to use this tool versus alternatives, nor does it state exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seedance_wait_for_completionB
Poll media status until completed, failed, cancelled, or timeout.
| Name | Required | Description | Default |
|---|---|---|---|
| media_id | Yes | ||
| interval_seconds | No | ||
| max_wait_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It discloses the polling action and termination conditions, but does not mention whether the call blocks synchronously, what happens on timeout (e.g., exception vs status return), or any rate limits or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous wording. It is front-loaded and efficient, though it omits important details that could be added without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three parameters, zero schema documentation, no annotations, and an output schema that only covers return values, the description is insufficient. It fails to explain parameter semantics, usage context, and how this tool relates to siblings like get_status.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any of the three parameters. media_id, interval_seconds, and max_wait_seconds are left completely unexplained, leaving the agent without necessary context to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool poll media status until a terminal state (completed, failed, cancelled, or timeout). This distinguishes it from sibling tools like seedance_get_status (single status check) and seedance_create_video (video creation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after initiating a video creation, but does not explicitly contrast with seedance_get_status for one-off checks or state when this tool should be preferred. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.1.1- First observed
seedance_create_video - First observed
seedance_get_status - First observed
seedance_model_guide - First observed
seedance_wait_for_completion
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: guide for instructions, create for initiating generation, get_status for one-time status check, and wait_for_completion for polling until done. No overlap or ambiguity between them.
All tool names follow a consistent pattern: 'seedance_' prefix followed by verb_noun (model_guide, create_video, get_status, wait_for_completion). The naming is uniform and predictable.
With only 4 tools, the server is tightly scoped for its purpose of video generation via Seedance. Each tool is essential and there are no redundant or unnecessary additions, making the count appropriate.
The server covers the core lifecycle of video generation: guidance, creation, status checking, and waiting for completion. While a cancel or list operation could be imagined, they are not essential for the primary workflow, so the set is nearly complete.
Maintenance
Related MCP Connectors
Create images and videos from prompts, with options for image mixing, reference images, and start/…
- MusevateOAuthcom.musevate
Text, image and reference-to-video across many AI video models. Musevate account required.
Run multi-step AI pipelines for video, image, audio and text: upload media, run, poll results.
Best Image and video generation: 20+ models (Kling, Seedance, Veo, NB, FLUX.2), OAuth, pay-per-use.
Related MCP Servers
- AlicenseAqualityBmaintenanceByteDance Seedance AI video generation with text-to-video, image-to-video, multiple models (1.5 Pro/1.0 Pro/Lite), synchronized audio, and flexible resolutions up to 1080p.7163 PyPI18MIT
- FlicenseAqualityDmaintenanceEnables video generation using the Seedance 2.0 model through MCP, supporting both OpenAI and Volcengine API formats with tools for creating, monitoring, and downloading videos.6-
- FlicenseAqualityDmaintenanceEnables generating videos from images and text prompts using Jimeng Video 3.0 API, supporting 5s/10s durations and automatic result polling.3-
- AlicenseAqualityAmaintenanceEnables creating text-to-video tasks using Seedance models, polling task status, and checking pricing via a single RunAPI API key.449 npmApache 2.0