- route videos: 16:9=1344x768 / 9:16=768x1344 (antes 832x480), el máximo legal del contrato H3 (w*h<=1.032.192px, múltiplos de 32). Es la resolución estándar ahora. - video-service: normalizeResolution ajusta cualquier resolución al contrato H3. - mcp: story_sync_video_jobs + proyección compacta (capítulos de 100+ planos). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Story Studio MCP Server
Servidor MCP (Model Context Protocol) para controlar Story Studio desde agentes: crear proyectos y conducir todo el pipeline de producción de series animadas IA (idea motriz → personajes → capítulos → guión → escaleta → prompts → fondos → imágenes → vídeos → render).
Envuelve la API HTTP de la app; no accede a la BD directamente.
Requisitos
- Node.js ≥ 18
- Una instancia de Story Studio accesible (local en
npm run dev, o la desplegada).
Instalar y compilar
cd mcp-server
npm install
npm run build # genera dist/
Configuración
| Variable | Default | Descripción |
|---|---|---|
STORY_STUDIO_URL |
http://localhost:3000 |
Base URL de la app. Local: http://localhost:3000. Prod: https://story-studio.carlosnarro.com. |
La app no tiene autenticación; el server hereda ese modelo. Apunta
STORY_STUDIO_URLal entorno que quieras controlar.
Uso con Claude Code / clientes MCP
Transporte stdio. Ejemplo de registro (.mcp.json o config del cliente):
{
"mcpServers": {
"story-studio": {
"command": "node",
"args": ["C:/Users/carlo/Proyectos/story-studio/mcp-server/dist/index.js"],
"env": { "STORY_STUDIO_URL": "http://localhost:3000" }
}
}
}
O en desarrollo con recarga: command: "npx", args: ["tsx", ".../src/index.ts"].
Herramientas
Prefijo story_. Lectura (readOnlyHint) vs generación (efectos, LLM/imagen/vídeo).
Proyecto e idea: story_list_projects, story_get_project, story_create_project,
story_get_idea_motriz, story_generate_idea_motriz, story_refine_idea_motriz.
Personajes: story_get_personajes, story_generate_personajes, story_add_personaje,
story_improve_personajes, y assets de imagen: story_get_character_assets,
story_generate_asset_prompts, story_generate_base_image, story_lock_base_image,
story_generate_all_variations.
Capítulo y pipeline: story_list_capitulos, story_create_capitulo,
story_get_guion / story_generate_guion,
story_get_pre_escaleta / story_generate_pre_escaleta,
story_get_escaleta / story_generate_escaleta,
story_get_prompts / story_generate_prompts,
story_get_fondos / story_refresh_fondos / story_generate_fondo / story_generate_all_fondos,
story_get_imagenes / story_generate_plano_image / story_generate_all_images,
story_get_videos / story_generate_plano_video,
story_render_chapter / story_get_render_status.
Orden típico del pipeline
story_create_project→story_generate_idea_motriz→story_generate_personajes- (opcional) assets de personaje:
story_generate_asset_prompts→story_generate_base_image→story_lock_base_image→story_generate_all_variations story_create_capitulo→story_generate_guion→story_generate_pre_escaleta→story_generate_escaleta→story_generate_promptsstory_refresh_fondos→story_generate_all_fondos→story_generate_all_images→story_generate_plano_video→story_render_chapter
Las tools de generación pueden tardar (LLM/imagen); el server usa timeouts amplios.