# broll

broll помогает агенту создавать изображения, видео и карусели, а затем готовить посты к публикации. Подтверждение перед отправкой обязательно.

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

## Что делает

Сервер генерирует медиа через API-ключи пользователя или подставного провайдера, если ключей пока нет. Видео и карусели собираются по плану с помощью ffmpeg и sharp: можно задать кадры, титры, подписи и формат. Для фирменного оформления используется `broll.config.json`.

Посты сначала сохраняются как черновики в локальной папке outbox. Перед публикацией сервер проверяет ограничения площадки, а `publish_post` требует `confirm: true`; при ошибках проверки отправка блокируется, текст автоматически не сокращается. Для генерации нужны соответствующие API-ключи, а локальная установка требует Node 20+ и ffmpeg. Без ffmpeg рендер видео не запустится.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `OPENAI_API_KEY`, `GEMINI_API_KEY`, `BLUESKY_IDENTIFIER`, `BLUESKY_APP_PASSWORD`, `MASTODON_ACCESS_TOKEN`, `X_API_KEY`, `X_API_SECRET`, `X_ACCESS_TOKEN`, `X_ACCESS_TOKEN_SECRET` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add broll -e OPENAI_API_KEY=<OPENAI_API_KEY> -e GEMINI_API_KEY=<GEMINI_API_KEY> -e BLUESKY_APP_PASSWORD=<BLUESKY_APP_PASSWORD> -e MASTODON_ACCESS_TOKEN=<MASTODON_ACCESS_TOKEN> -e X_API_KEY=<X_API_KEY> -e X_API_SECRET=<X_API_SECRET> -e X_ACCESS_TOKEN=<X_ACCESS_TOKEN> -e X_ACCESS_TOKEN_SECRET=<X_ACCESS_TOKEN_SECRET> -- npx -y broll-mcp
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add broll --env OPENAI_API_KEY=<OPENAI_API_KEY> --env GEMINI_API_KEY=<GEMINI_API_KEY> --env BLUESKY_IDENTIFIER=<BLUESKY_IDENTIFIER> --env BLUESKY_APP_PASSWORD=<BLUESKY_APP_PASSWORD> --env MASTODON_ACCESS_TOKEN=<MASTODON_ACCESS_TOKEN> -- npx -y broll-mcp
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "broll": {
            "command": "npx",
            "args": [
                "-y",
                "broll-mcp"
            ],
            "env": {
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "GEMINI_API_KEY": "<GEMINI_API_KEY>",
                "BLUESKY_IDENTIFIER": "<BLUESKY_IDENTIFIER>",
                "BLUESKY_APP_PASSWORD": "<BLUESKY_APP_PASSWORD>",
                "MASTODON_ACCESS_TOKEN": "<MASTODON_ACCESS_TOKEN>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "broll": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "broll-mcp"
            ],
            "env": {
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "GEMINI_API_KEY": "<GEMINI_API_KEY>",
                "BLUESKY_IDENTIFIER": "<BLUESKY_IDENTIFIER>",
                "BLUESKY_APP_PASSWORD": "<BLUESKY_APP_PASSWORD>",
                "MASTODON_ACCESS_TOKEN": "<MASTODON_ACCESS_TOKEN>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e OPENAI_API_KEY=<OPENAI_API_KEY> -e GEMINI_API_KEY=<GEMINI_API_KEY> -e BLUESKY_IDENTIFIER=<BLUESKY_IDENTIFIER> -e BLUESKY_APP_PASSWORD=<BLUESKY_APP_PASSWORD> -e MASTODON_ACCESS_TOKEN=<MASTODON_ACCESS_TOKEN> broll npx -y broll-mcp
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера

## Когда брать
- сгенерировать изображение или видео через собственный API-ключ
- собрать видео с титрами и подписями по плану
- оформить карусель с цветами и логотипом бренда
- подготовить проверяемый черновик поста для публикации
- выгрузить готовый к публикации пакет файлов

## Примеры запросов агенту
- Сделай короткое видео из этих кадров с титрами и подписями.
- Создай карусель для Instagram в стиле из `broll.config.json`.
- Подготовь черновик поста для Bluesky и покажи, что будет отправлено.

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

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