Broll

io.github.luke-fairbanks由 GitHub 帳號 luke-fairbanks 發布v0.1.1更新於 Oct 24, 2026

Content studio MCP for coding agents: BYO keys, deterministic video rendering, draft-first posting

概覽

AI 產生的概覽

一個本機內容工作室 MCP,讓編碼助理用自帶金鑰生成圖片與影片、以程式碼算繪品牌輪播圖和影片,並起草社群平台貼文。

可以做什麼
Broll 為助理提供工具,用你自己的服務商金鑰生成圖片與影片,匯入並檢查媒體素材,並透過 ffmpeg 與 sharp 從宣告式計畫確定性地算繪影片與品牌輪播圖。它可以擷取一格畫面供視覺檢查,在本機寄件匣中建立經過驗證的貼文草稿,列出草稿並發布。發布需要明確的確認旗標,並在內容離開本機前依平台規則進行驗證。
適用情境
當編碼助理需要真正製作行銷或社群媒體素材與貼文,而不只是做規劃時使用;也適合想要可重現、由程式碼驅動的算繪,而不是按額度計費的排程工具的情境。適合已經擁有自己的 OpenAI 或 Gemini 金鑰、並希望對發布內容保持草稿優先控制的開發者。
執行需求
以 npm 套件(broll-mcp)透過 stdio 在本機執行,需要 Node 20+ 以及已安裝的 ffmpeg。選用環境變數用於啟用功能:OPENAI_API_KEY 用於圖片生成,GEMINI_API_KEY 用於圖片與影片,BLUESKY_IDENTIFIER 與 BLUESKY_APP_PASSWORD 用於 Bluesky 發布,MASTODON_ACCESS_TOKEN 用於 Mastodon,X_API_KEY、X_API_SECRET、X_ACCESS_TOKEN、X_ACCESS_TOKEN_SECRET 用於 X。沒有任何金鑰時也可使用內建的模擬供應器。
安裝前請注意
即時發布會把內容傳送到第三方平台,並需要上述平台憑證;X 發布被說明為需要已儲值的 API 額度。生成的媒體會傳送給你所提供金鑰對應的服務商。發布受 confirm: true 與磁碟上的草稿檔案所限制,但擁有該工具的助理只要設定該旗標仍可能發布,因此在同意發布前請先審閱草稿。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Broll,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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_KEY directly. 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_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.

Install

Requires Node 20+ and ffmpeg (brew install ffmpeg).

bash
cd brollnpm install && npm run build

Register with Claude Code (or use the checked-in .mcp.json when working inside this repo):

bash
claude mcp add broll -- node /path/to/broll/dist/index.js

Optional environment:

VariablePurpose
OPENAI_API_KEYgpt-image-1 image generation
GEMINI_API_KEYImagen images + Veo video generation
BLUESKY_IDENTIFIER / BLUESKY_APP_PASSWORDlive 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_SECRETlive X posting (free API tier works)
BROLL_HOMEworkspace location (default ~/.broll)
BROLL_FFMPEG / BROLL_FFPROBEexplicit 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

ToolWhat it does
broll_statusWorkspace, ffmpeg, provider + platform readiness. Call first.
generate_image / generate_videoBYO-key generation → workspace assets (mock fallback when keyless)
import_asset / list_assets / probe_assetBring in and inspect media
render_videoDeclarative 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_carouselBranded slide sets (the Instagram/LinkedIn format): kicker, headline, body, accent bar, page numbers, watermark — layout is 100% code
extract_framePull a PNG frame so the agent can visually QA its own render
create_post_draftText + media + platforms → validated, reviewable draft in the outbox
list_drafts / publish_postInspect the outbox; publish with explicit confirm: true

Try it

bash
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/.

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

  1. Nothing is published without a draft file on disk first.
  2. publish_post hard-requires confirm: true — agents are instructed to obtain the user's explicit go-ahead.
  3. Constraint violations block publishing; they never auto-truncate your text.
  4. 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-mcp distribution

Development

bash
npm test          # unit + integration (real ffmpeg)npm run typechecknpm run smoke     # end-to-end artifact check

MIT.

來源:README.md,提交 a5b8a67

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分