# Oh My Cassette

MCP-сервер для монтажа видео через диалог с агентом: готовит файлы локально, собирает черновики в облаке Cassette и сохраняет результат на диск.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 117
- Автор: Cassette-Editor
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/Cassette-Editor/oh-my-cassette
- Обновлён: 2026-10-22
- HTML: https://affpapa.org/nevibecode/mcp/oh-my-cassette

## Что делает

Сервер работает локально по протоколу stdio и передаёт команды удалённой службе Cassette по HTTP. Набор инструментов агент получает напрямую от облачного бэкенда. Поэтому описание функций и схема работы обновляются на стороне сервиса без переустановки локального пакета.

Локальные ролики перед отправкой нарезаются и транскодируются утилитой `ffmpeg`. Передача файлов идёт параллельно в четыре потока, а прерванный импорт продолжается с места остановки при повторном вызове. Готовые ролики сохраняются на рабочей машине в каталог `cassette-exports/`. Созданные проекты живут на сервере три дня простоя: любое новое действие продлевает этот таймер.

Без установленных `uv` и `ffmpeg` импортировать видеоряд на рабочей машине не выйдет. Перед началом работы также понадобится пройти авторизацию командой `uvx oh-my-cassette==0.5.1 login`.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `CASSETTE_MCP_URL`, `CASSETTE_AUTH_TOKEN`, `CASSETTE_FFMPEG` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env CASSETTE_MCP_URL=<CASSETTE_MCP_URL> --env CASSETTE_AUTH_TOKEN=<CASSETTE_AUTH_TOKEN> --env CASSETTE_FFMPEG=<CASSETTE_FFMPEG> --transport stdio oh-my-cassette -- uvx oh-my-cassette
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from oh-my-cassette <команда>

### Codex

**Командой платформы**
```bash
codex mcp add oh-my-cassette --env CASSETTE_MCP_URL=<CASSETTE_MCP_URL> --env CASSETTE_AUTH_TOKEN=<CASSETTE_AUTH_TOKEN> --env CASSETTE_FFMPEG=<CASSETTE_FFMPEG> -- uvx oh-my-cassette
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from oh-my-cassette <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "oh-my-cassette": {
            "command": "uvx",
            "args": [
                "oh-my-cassette"
            ],
            "env": {
                "CASSETTE_MCP_URL": "<CASSETTE_MCP_URL>",
                "CASSETTE_AUTH_TOKEN": "<CASSETTE_AUTH_TOKEN>",
                "CASSETTE_FFMPEG": "<CASSETTE_FFMPEG>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from oh-my-cassette <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "oh-my-cassette": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "oh-my-cassette"
            ],
            "env": {
                "CASSETTE_MCP_URL": "<CASSETTE_MCP_URL>",
                "CASSETTE_AUTH_TOKEN": "<CASSETTE_AUTH_TOKEN>",
                "CASSETTE_FFMPEG": "<CASSETTE_FFMPEG>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from oh-my-cassette <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e CASSETTE_MCP_URL=<CASSETTE_MCP_URL> -e CASSETTE_AUTH_TOKEN=<CASSETTE_AUTH_TOKEN> -e CASSETTE_FFMPEG=<CASSETTE_FFMPEG> oh-my-cassette uvx oh-my-cassette
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from oh-my-cassette <команда>

## Когда брать
- собрать видеоролик из набора исходников по текстовому брифу
- транскодировать и загрузить локальные файлы через `ffmpeg`
- скорректировать таймлайн и порядок сцен через реплики в чате
- экспортировать готовый MP4-файл в локальную папку `cassette-exports/`

## Примеры запросов агенту
- Создай новый проект в Cassette, импортируй файлы из ./footage и смонтируй 30-секундный ролик с титрами в начале
- Слишком затянуто: оставь только два лучших плана и поставь кадр с верблюдом сразу после шаров
- Экспортируй текущую версию видео в папку cassette-exports/

## Похожие
- [labelhead-artist-momentum](https://affpapa.org/nevibecode/mcp/labelhead-artist-momentum.md) — MCP-сервер · ★ 107423
- [openshorts](https://affpapa.org/nevibecode/mcp/openshorts.md) — MCP-сервер · ★ 7049
- [OpenScreen](https://affpapa.org/nevibecode/mcp/openscreen.md) — MCP-сервер · ★ 4863
- [Usertour MCP Server](https://affpapa.org/nevibecode/mcp/usertour-mcp-server.md) — MCP-сервер · ★ 2326
- [Appllama](https://affpapa.org/nevibecode/mcp/appllama.md) — MCP-сервер · ★ 3046
- [obsei](https://affpapa.org/nevibecode/mcp/obsei.md) — MCP-сервер · ★ 1441

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
