Skip to main content
MCP server CX Codex

broll — Claude Code MCP server for content creation and publishing

broll lets coding agents generate media, render videos and carousels, and prepare social posts for review. Publishing requires explicit confirmation.

Install into Claude Code · Platform CLI All methods and platforms ↓
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
Open on GitHub

What broll does

The server can create images and video using your API credentials, or use a mock provider before credentials are configured. Videos and carousel slides are rendered from plans with ffmpeg and sharp; plans can define clips, captions, sizing, and branded elements. A broll.config.json file supplies brand details for renders.

Posts go to a local outbox as reviewable drafts. Before publishing, broll checks platform constraints, and publish_post requires confirm: true; a failed check blocks the post rather than shortening its text. Local setup requires Node 20+ and ffmpeg. Video rendering will not run without ffmpeg.

What it helps with

  • generate images or video with your own API credentials
  • render a video with titles and timed captions
  • build branded slides for a carousel
  • create a draft that can be reviewed before posting
  • export a ready-to-post media bundle

Example prompts for the agent

  • Create a short video from these clips with titles and captions.
  • Make an Instagram carousel using the branding in broll.config.json.
  • Prepare a Bluesky post draft and show me what would be published.

How to install broll

Platform CLI

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

Replace <…> with your own values. 4 more environment variables are in the server README

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about broll

How do I install broll in Claude Code?

Run `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`. Replace each placeholder with the credential for a service you plan to use.

What does broll do?

broll is an MCP server for media generation, video and carousel rendering, and social post workflows. It stores a draft before publishing and requires an explicit confirmation to send it.

Can broll publish a post without confirmation?

No. publish_post requires confirm: true. If a post violates a platform constraint, publishing is blocked.

Similar MCP servers

All MCP servers for Marketing and content →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor