Video Pipeline MCP Server
Video Pipeline MCP Server
Servidor MCP para gestionar el pipeline de video. Funciona con Claude AI Web a través de un túnel cloudflared.
Estado (2026-07): se ha implementado la capa de gestión de datos (archivos, tablas/Excel, estructura de canales, búsqueda) + firewall + transporte. El pipeline de video de producción (locución/transcripción/imágenes/montaje) — en desarrollo. Plan para alcanzar el nivel corporativo:
docs/roadmap/. Leyenda a continuación: ✅ implementado · 🟠 provisional/parcial · 🔲 plan.
Estructura del proyecto (real)
video_pipeline_mcp/
├── server.py ✅ точка входа: MCP-эндпоинт + туннель; регистрация инструментов
├── pyproject.toml ✅ сборка/зависимости (PEP 621) · requirements.lock — точные пины
├── install.sh · run.sh ✅ установка (.venv + cloudflared) · запуск (--tunnel)
│
├── config/ ✅ декларации (поведение, НЕ код)
│ │ (конфиг канала с S22 — не файл, а 7 листов channel_data.xlsx:
│ │ RESOURCE_LIMITS, WORKFLOW_SEQUENCES, PUBLISHING_SCHEDULE,
│ │ METADATA_DEFAULTS, AUTOMATION_RULES, SCENE_PROFILE, RENDER_CONFIG)
│ ├── server_reactions.yaml ✅ реестр реакций (коды → класс + recovery)
│ ├── firewall.yaml ✅ правила файрвола
│ ├── tunnel.yaml ✅ конфиг туннеля (gitignored — секрет)
│ └── templates/
│ ├── workspace/ ✅ 6 шаблонов: niche/network/channel/video/competitor_channel/competitor_video
│ └── tables/ 🔲 схемы книг (*.schema.yaml) — воркстрим A1′
│
├── core/ — ядро (бизнес-логика)
│ ├── contracts/ ✅ Pydantic: ToolResult, ErrorDetail, Fact, TaskStatus
│ ├── engine/ ✅ generic-движок + template_engine
│ ├── firewall/ ✅ файрвол + rules/ (rate_limit, injection, ip_blocklist, anomaly)
│ ├── state/ ✅ read.json / write.json / session log
│ ├── reactions/ ✅ читалка server_reactions
│ ├── ids/ ✅ генерация ID + link_registry
│ ├── tables/ · excel/ ✅ слой таблиц и Excel-книг
│ ├── search/ ✅ поиск по ФС/таблицам (FsSearcher + QueryPlanner)
│ ├── transport/ ✅ туннель к Claude (transport + tunnel)
│ ├── runner/ ✅ инференс в отдельном процессе: сервис на петле + супервизор
│ ├── paths.py ✅ containment путей в workspace/
│ └── providers/ 🟠 адаптеры провайдеров (заглушки — в разработке)
│ ├── stt/ (stable-ts) · tts/ (LiteLLM) · img/ (LiteLLM) · ffmpeg/ (внешний MCP)
│
├── tools/ 🔲 тонкие обёртки Bounded Context (план: вынос из server.py, A2)
├── pipeline/ 🔲 оркестрация процессов (entry_points + steps) — план
├── scripts/ 🔲 утилиты (план: introspect_tables.py — A1′)
├── docker/ ✅ образ раннера (среда инференса заперта в контейнере)
├── tests/ ✅ quick/ (unit) + симуляции (virus/bot_army/cache_*/…)
└── docs/
├── dev/ — история файлов, спеки (gitignored)
└── roadmap/ ✅ план развития до корпоративного уровня + канон спек (spec/)Herramientas actuales (52 en tools/list): ✅ fs_* (archivos), table_*/json_* (tablas),
excel_* (libros), structure_* (creación de canales/videos según plantillas), search_* (búsqueda);
🟠 tts_*/stt_*/img_*/video (media — provisionales).
Related MCP server: Video MCP
Instalación
./install.sh # .venv + БАЗОВЫЕ зависимости + cloudflared
./install.sh --media # + облачные/HTTP-провайдеры и ONNX (bg_removal/upscale)
./install.sh --local # + локальный ML-инференс (torch/stable-ts/piper/diffusers)
./install.sh --gpu-amd # + локальный инференс на карте AMD (rocm-сборка torch)Ahorro: la base se instala sin librerías pesadas (torch ~3 GB, stable-ts, litellm, onnxruntime) —
se importan de forma diferida y se agrupan en grupos opcionales. El servidor funciona con la base limpia, y
las herramientas multimedia responden honestamente con PROVIDER_NOT_CONFIGURED / LOCAL_INFERENCE_FAILED.
Ejecución
./run.sh # сервер + туннель (--no-tunnel — только локально)Dependencias
La fuente de verdad es pyproject.toml (pip install -e .); los pines exactos de la base — requirements.lock;
herramientas de desarrollo — pip install -e ".[dev]"; media — pip install -e ".[media]"; inferencia
ML local — pip install -e ".[local]" (y pip install -e ".[gpu-amd]" para tarjetas AMD).
Base (obligatoria, ~50 MB)
Paquete | Propósito |
pydantic | contratos (ToolResult, ErrorDetail) |
openpyxl | trabajo con Excel |
pyyaml · jsonschema | lectura de configuraciones · validación de params según esquema |
aiohttp | transporte HTTP del servidor tras el túnel |
cryptography | firma de artefactos (S9), clave de instancia |
Media (bajo demanda, .[media])
Paquete | Propósito |
httpx | Cliente HTTP para puertas de enlace en la nube de proveedores |
litellm | Acceso unificado a modelos online (STT/TTS/IMG) |
onnxruntime · pillow | Eliminación de fondo, mejora de escala (grafo ONNX) |
ffmpeg-python | Operaciones de video |
Local (bajo demanda, .[local] — gigabytes de runtime)
Paquete | Propósito |
torch · torchaudio | Runtime de inferencia local |
stable-ts | Transcripción local (whisper) |
piper-tts · diffusers · transformers | Locución, generación de imágenes |
cloudflared — binario (no pip), se instala con install.sh.
Desarrollo
Plan de desarrollo, hallazgos y canon del spec: docs/roadmap/.
Propuestas de mejora de funciones: docs/roadmap/spec/IMPROVEMENTS.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server for Wan AI video generation
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
Guardrailed video editing MCP server: 200 FFmpeg tools, Video Receipts, Shorts repurposing.
1201
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for AI-powered image, audio, and video generation, enabling media creation directly from Claude, Cursor, and other MCP clients.1129 npmMIT
- FlicenseNot gradedqualityDmaintenanceA local MCP server that gives Claude Desktop full video editing capabilities via FFmpeg, Whisper, and yt-dlp.-
- FlicenseBqualityDmaintenanceMCP server that enables video analysis capabilities to Claude, including frame extraction, scene detection, and video metadata retrieval.8-
- AlicenseAqualityBmaintenanceAn MCP server enabling Claude Code to analyze any video (local file, URL, or Jira ticket attachment) by extracting frame images and audio transcripts, or using Gemini for native video analysis.467 PyPIMIT