Skip to main content
Glama
sdvsdrv8990

Video Pipeline MCP Server

by sdvsdrv8990

Video Pipeline MCP Server

MCP server for managing a video pipeline. Works with Claude AI Web via a cloudflared tunnel.

Status (2026-07): a data management layer (files, tables/Excel, channel structure, search) + firewall + transport implemented. The product video pipeline (voiceover/transcription/images/editing) — under development. Plan for reaching corporate level: docs/roadmap/. Legend below: ✅ implemented · 🟠 stub/partial · 🔲 planned.

Project structure (actual)

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/)

Tools currently (52 in tools/list): ✅ fs_* (files), table_*/json_* (tables), excel_* (workbooks), structure_* (creating channels/videos by templates), search_* (search); 🟠 tts_*/stt_*/img_*/video (media — stubs).

Related MCP server: Video MCP

Installation

./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)

Savings: the base installs without heavy libraries (torch ~3 GB, stable-ts, litellm, onnxruntime) — they are imported lazily and placed in optional groups. The server runs on a clean base, and media tools honestly respond with PROVIDER_NOT_CONFIGURED / LOCAL_INFERENCE_FAILED.

Running

./run.sh              # сервер + туннель (--no-tunnel — только локально)

Dependencies

Source of truth — pyproject.toml (pip install -e .); exact base pins — requirements.lock; dev tools — pip install -e ".[dev]"; media — pip install -e ".[media]"; local ML inference — pip install -e ".[local]" (and pip install -e ".[gpu-amd]" for AMD cards).

Base (mandatory, ~50 MB)

Package

Purpose

pydantic

contracts (ToolResult, ErrorDetail)

openpyxl

Excel work

pyyaml · jsonschema

reading configs · validating params by schema

aiohttp

HTTP transport of server behind tunnel

cryptography

artifact signing (S9), instance key

Media (on demand, .[media])

Package

Purpose

httpx

HTTP client to cloud provider gateways

litellm

unified access to online models (STT/TTS/IMG)

onnxruntime · pillow

background removal, upscale (ONNX graph)

ffmpeg-python

video operations

Local (on demand, .[local] — gigabytes of runtime)

Package

Purpose

torch · torchaudio

local inference runtime

stable-ts

local transcription (whisper)

piper-tts · diffusers · transformers

voiceover, image generation

cloudflared — binary (not pip), installed via install.sh.

Development

Development plan, findings, and spec canon: docs/roadmap/. Suggestions for improving functions: docs/roadmap/spec/IMPROVEMENTS.md.

Related MCP Connectors

Related MCP Servers