
Broll
io.github.luke-fairbanksPublished by GitHub account luke-fairbanksv0.1.1Updated Oct 24, 2026
Content studio MCP for coding agents: BYO keys, deterministic video rendering, draft-first posting
Overview
A local content studio MCP that lets a coding agent generate images and video, render branded carousels and videos from code, and draft posts for social…
- What you can do
- Broll gives an assistant tools to generate images and video with your own provider keys, import and probe media assets, and render deterministic videos and branded carousels from declarative plans using ffmpeg and sharp. It can extract a frame for visual QA, create validated post drafts in a local outbox, list drafts, and publish them. Publishing requires an explicit confirm flag and validates per-platform rules before anything leaves the machine.
- When to use it
- Use it when a coding agent needs to produce marketing or social media assets and posts rather than just plan them, and when you want reproducible, code-driven rendering instead of a credit-metered scheduler. It suits developers who already have their own OpenAI or Gemini keys and want draft-first control over what gets posted.
- Requirements
- Runs locally as an npm package (broll-mcp) over stdio, requiring Node 20+ and ffmpeg installed on the machine. Optional environment variables enable features: OPENAI_API_KEY for image generation, GEMINI_API_KEY for images and video, BLUESKY_IDENTIFIER and BLUESKY_APP_PASSWORD for Bluesky posting, MASTODON_ACCESS_TOKEN for Mastodon, and X_API_KEY, X_API_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET for X. A mock provider works without any keys.
Installation
In SourceWeft
- Open Broll in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
broll
The content studio MCP for coding agents. broll gives Claude Code, Codex, and any MCP client real hands for content work: generate media with your own API keys, render videos and carousels deterministically with code, and publish through a draft-first outbox.
The model plans. Code renders. Nothing posts without confirmation.
Why
Every developer running a coding agent hits the same wall: the agent can write the marketing plan, but it can't make the carousel, cut the video, or post it. Existing tools are credit-metered schedulers built for social media managers. broll is built for developers:
- BYO keys, no markup. Image/video generation uses your
OPENAI_API_KEY/GEMINI_API_KEYdirectly. broll never proxies your inference or resells credits. A built-in mock provider keeps every workflow runnable before you add any keys. - Deterministic rendering. Videos and slides are compiled from declarative plans into exact ffmpeg/sharp invocations. Same plan + same inputs = same output. When AI output drifts, the fix is code — so layout, fonts, captions, and branding live in code.
- Draft-first publishing. Posts are reviewable JSON files in an outbox.
publish_postrequiresconfirm: true, validates per-platform rules (char limits, media counts, file sizes) before anything leaves the machine, and reports per-platform results. Theexportplatform always works: it writes a ready-to-post bundle.
Install
Requires Node 20+ and ffmpeg (brew install ffmpeg).
Register with Claude Code (or use the checked-in .mcp.json when working inside this repo):
Optional environment:
Brand kit: drop a broll.config.json next to where the server runs (see this repo's for an example) — name, handle, colors, font, logo. Every render picks it up automatically.
Tools
Try it
drives the real server through a real MCP client: generates a background, renders a 3-slide carousel and a 9:16 teaser video with captions, extracts a QA frame, then drafts and "publishes" an export bundle — all into ./.broll/.
broll cloud (waitlist)
The local server you're looking at stays MIT and free. broll cloud adds the parts a local server can't do well: the app-review-walled platforms (Instagram, LinkedIn, TikTok) through broll's own approved credentials, schedules that run while your laptop is closed, and a swipe-to-approve inbox on your phone. ~$29/mo when it ships.
Join the waitlist → 👍 issue #1 — subscribers get the launch note; comments set the platform build order.
Safety model
- Nothing is published without a draft file on disk first.
publish_posthard-requiresconfirm: true— agents are instructed to obtain the user's explicit go-ahead.- Constraint violations block publishing; they never auto-truncate your text.
- Keys are read from your environment and sent only to their own vendor's API.
Status & roadmap
Early but real: 96 tests including real-ffmpeg integration renders and a full MCP round trip.
- Bluesky video upload
- X chunked video upload
- LinkedIn adapter (needs app review)
- Mastodon adapter
- YouTube Shorts via user OAuth
- Ken Burns / crossfade transitions
- Word-level caption timing from transcripts
-
npx broll-mcpdistribution
Development
MIT.
Source: README.md at commit a5b8a67
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts