broll
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@brollRender a 9:16 video with captions and music"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: WhisperCUT
Install
Requires Node 20+ and ffmpeg (brew install ffmpeg).
cd broll
npm install && npm run buildRegister with Claude Code (or use the checked-in .mcp.json when working inside this repo):
claude mcp add broll -- node /path/to/broll/dist/index.jsOptional environment:
Variable | Purpose |
| gpt-image-1 image generation |
| Imagen images + Veo video generation |
| live Bluesky posting (use an app password) |
| live Mastodon posting — no app review, any instance |
| live X posting (free API tier works) |
| workspace location (default |
| explicit binary paths |
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
Tool | What it does |
| Workspace, ffmpeg, provider + platform readiness. Call first. |
| BYO-key generation → workspace assets (mock fallback when keyless) |
| Bring in and inspect media |
| Declarative RenderPlan → mp4: clips (video/image/color), trims, cover/contain fits, burned-in titles + timed captions, music bed, 9:16 / 1:1 / 4:5 / 16:9 |
| Branded slide sets (the Instagram/LinkedIn format): kicker, headline, body, accent bar, page numbers, watermark — layout is 100% code |
| Pull a PNG frame so the agent can visually QA its own render |
| Text + media + platforms → validated, reviewable draft in the outbox |
| Inspect the outbox; publish with explicit |
Try it
npm run smokedrives 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
npm test # unit + integration (real ffmpeg)
npm run typecheck
npm run smoke # end-to-end artifact checkMIT.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceOpen-source MCP server that turns any CMS backend into an AI-agent-ready content management system. It provides tools for content CRUD, idea management, and publication tracking, with safety features requiring human approval for publishing.MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that automates short-form video production for TikTok, Instagram Reels, and YouTube Shorts, using AI agents and behavioral science to generate production-ready videos from a topic and vibe.
- FlicenseNot gradedqualityAmaintenanceMCP server for AI content generation, enabling agents to learn a voice, generate content ideas, write scripts, and produce multi-platform content deterministically.
- AlicenseNot gradedqualityCmaintenanceA hosted MCP server that lets AI agents generate content, upload media, create drafts, schedule posts, and publish to TikTok, Instagram, Facebook, and YouTube.MIT
Related MCP Connectors
Generate on-brand images from your AI agent: design, edit, and render templates over MCP.
MCP server for Wan AI video generation
MCP server for Luma Dream Machine AI video generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/luke-fairbanks/broll'
If you have feedback or need assistance with the MCP directory API, please join our Discord server