Server data from the Official MCP Registry
Content studio MCP for coding agents: BYO keys, deterministic video rendering, draft-first posting
Content studio MCP for coding agents: BYO keys, deterministic video rendering, draft-first posting
Valid MCP server (2 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
7 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: OPENAI_API_KEY
Environment variable: GEMINI_API_KEY
Environment variable: BLUESKY_IDENTIFIER
Environment variable: BLUESKY_APP_PASSWORD
Environment variable: MASTODON_ACCESS_TOKEN
Environment variable: X_API_KEY
Environment variable: X_API_SECRET
Environment variable: X_ACCESS_TOKEN
Environment variable: X_ACCESS_TOKEN_SECRET
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-luke-fairbanks-broll": {
"env": {
"X_API_KEY": "your-x-api-key-here",
"X_API_SECRET": "your-x-api-secret-here",
"GEMINI_API_KEY": "your-gemini-api-key-here",
"OPENAI_API_KEY": "your-openai-api-key-here",
"X_ACCESS_TOKEN": "your-x-access-token-here",
"BLUESKY_IDENTIFIER": "your-bluesky-identifier-here",
"BLUESKY_APP_PASSWORD": "your-bluesky-app-password-here",
"MASTODON_ACCESS_TOKEN": "your-mastodon-access-token-here",
"X_ACCESS_TOKEN_SECRET": "your-x-access-token-secret-here"
},
"args": [
"-y",
"broll-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
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.
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:
OPENAI_API_KEY / GEMINI_API_KEY directly. broll never proxies your inference or resells credits. A built-in mock provider keeps every workflow runnable before you add any keys.publish_post requires confirm: true, validates per-platform rules (char limits, media counts, file sizes) before anything leaves the machine, and reports per-platform results. The export platform always works: it writes a ready-to-post bundle.Requires Node 20+ and ffmpeg (brew install ffmpeg).
cd broll
npm install && npm run build
Register 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.js
Optional environment:
| Variable | Purpose |
|---|---|
OPENAI_API_KEY | gpt-image-1 image generation |
GEMINI_API_KEY | Imagen images + Veo video generation |
BLUESKY_IDENTIFIER / BLUESKY_APP_PASSWORD | live Bluesky posting (use an app password) |
MASTODON_ACCESS_TOKEN (+ optional MASTODON_INSTANCE) | live Mastodon posting — no app review, any instance |
X_API_KEY / X_API_SECRET / X_ACCESS_TOKEN / X_ACCESS_TOKEN_SECRET | live X posting (free API tier works) |
BROLL_HOME | workspace location (default ~/.broll) |
BROLL_FFMPEG / BROLL_FFPROBE | 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.
| Tool | What it does |
|---|---|
broll_status | Workspace, ffmpeg, provider + platform readiness. Call first. |
generate_image / generate_video | BYO-key generation → workspace assets (mock fallback when keyless) |
import_asset / list_assets / probe_asset | Bring in and inspect media |
render_video | 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 |
render_carousel | Branded slide sets (the Instagram/LinkedIn format): kicker, headline, body, accent bar, page numbers, watermark — layout is 100% code |
extract_frame | Pull a PNG frame so the agent can visually QA its own render |
create_post_draft | Text + media + platforms → validated, reviewable draft in the outbox |
list_drafts / publish_post | Inspect the outbox; publish with explicit confirm: true |
npm run smoke
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/.
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.
publish_post hard-requires confirm: true — agents are instructed to obtain the user's explicit go-ahead.Early but real: 96 tests including real-ffmpeg integration renders and a full MCP round trip.
npx broll-mcp distributionnpm test # unit + integration (real ffmpeg)
npm run typecheck
npm run smoke # end-to-end artifact check
MIT.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.