BrightBean Studio
Free, no-tier social media manager for agencies, with an in-repo MCP app, API, and agent skill.
BrightBean Studio is a Django social media management platform: multi-workspace teams, composer with per-platform overrides, calendar and queues, approval workflows with a client portal, unified inbox, analytics, and media library across Facebook, Instagram, LinkedIn, TikTok, YouTube, Pinterest, Threads, Bluesky, Google Business Profile, Mastodon, and DEV.to. Every feature is free, hosted or self-hosted. The repo ships apps/mcp and apps/api, and the site says agents draft and schedule posts with a single API key.
Alternative to Buffer, Hootsuite, Later
- I run social for many clients and want approvals and a client portal without paying per workspace
- I want a free hosted scheduler my agent can post through today, with the option to self-host later
- AGPL-3.0
- INTELLIGENCE_INTERNAL_URL and STUDIO_SHARED_SECRET point at a separate intelligence service; check whether self-hosters get sentiment analysis without it
- Bring your own developer credentials for every platform; Meta and TikTok apps need review
- 2FA is on the roadmap, not shipped
- MCP tool list was not read; Reach for approvals, inbox, analytics, and media is unverified
Last activity Aug 13, 2026. Fit: adaptable 2, operable 2.
Editions
Free · Free open source
- HostedOpen the hosted app
- Clone
git clone https://github.com/brightbeanxyz/brightbean-studio - ImageContainer
- DeployDeploy
Adaptable: what is yours to change
Make it yours
Config only30 things to edit
Copy .env.example: SECRET_KEY, ENCRYPTION_KEY_SALT, ALLOWED_HOSTS, APP_URL, DATABASE_URL, STORAGE_BACKEND with S3_* for object storage, EMAIL_* for mail, then a PLATFORM_* app ID and secret per network you connect. app.json, render.yaml, and railway.toml carry the one-click deploys; Caddyfile fronts Docker. Branding per workspace is set in-app. Approval stages are configured in the UI, not files.
- Env vars
SECRET_KEYENCRYPTION_KEY_SALTDEBUGALLOWED_HOSTSAPP_URLDATABASE_URLSTORAGE_BACKENDS3_BUCKET_NAMEEMAIL_BACKEND_TYPEEMAIL_HOSTDEFAULT_FROM_EMAILGOOGLE_AUTH_CLIENT_IDPLATFORM_FACEBOOK_APP_IDPLATFORM_INSTAGRAM_APP_IDPLATFORM_THREADS_APP_IDPLATFORM_LINKEDIN_PERSONAL_CLIENT_IDPLATFORM_LINKEDIN_COMPANY_CLIENT_IDPLATFORM_TIKTOK_CLIENT_KEYPLATFORM_GOOGLE_CLIENT_IDPLATFORM_PINTEREST_APP_IDUNSPLASH_ACCESS_KEYINTELLIGENCE_INTERNAL_URLSTUDIO_BASE_URL- Config files
.envdocker-compose.ymldocker-compose.prod.ymlapp.jsonrender.yamlrailway.tomlCaddyfile- Prompt files
- none
- Accounts you need
- developer app on each network (Meta, TikTok, Google, LinkedIn, Pinterest)Google (optional SSO)S3-compatible storage (optional)
Source
- github.com/brightbeanxyz/brightbean-studio
- AGPL-3.0 license
- Last commit Aug 13, 2026
- 2,253 stars
Operable: what an agent can drive
Interface
OfficialMCP serverpublished by the builderremote or local
How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.
Reach
Partial coverage. 4 of 10 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Draft and schedule posts | Reachable | brightbean.xyz/studio: agents draft and schedule posts through installed skills with a single API key |
| Publish to Instagram | Reachable | Instagram in the supported platforms table; scheduling reaches any connected channel |
| Publish to TikTok | Reachable | TikTok in the supported platforms table (publish and insights) |
| Publish to YouTube | Reachable | YouTube in the supported platforms table |
| Move posts through approval stages | Undetermined | triage claimed approve; tools live in apps/mcp/handlers.py, not read |
| Reply from the unified inbox | Undetermined | inbox app exists; MCP coverage not verified |
| Read analytics | Undetermined | analytics app exists; MCP coverage not verified |
| Browse the media library | Undetermined | media_library app exists; MCP coverage not verified |
| Client approves through a magic-link portal | Not reachable | passwordless human flow by design |
| Plan on the idea Kanban board | Undetermined | not verified |
Code stack
- Languages
- PythonJavaScript
- Frameworks
- Django 5
- Package manager
- pip
- Database
- PostgreSQL (DATABASE_URL)
- Hosting target
- DockerHeroku one-clickRender one-clickRailway one-clickbrightbean.xyz hosted
- Built
- Unknown (recorded, never ranked)
Model stack
- Providers
- BrightBean intelligence service (INTELLIGENCE_INTERNAL_URL)
- Models
- none
- Keys you need
- none
- Prompts live in
- none
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: Django web app, Docker or one-click deploy, free hosted version | 95% |
| executionModel | scheduler is deterministic; inbox sentiment analysis and apps/intelligence plus INTELLIGENCE_* env vars point at a model service | 50% |
| operability | apps/mcp (protocol.py, transport.py, handlers.py, tools.py) and apps/api in the Builder's repo; site: agents draft and schedule with an API key | 80% |
| effort | .env.example names 50+ variables; app.json, render.yaml, railway.toml, docker-compose | 90% |
| editions | README and site: every feature free, hosted or self-hosted, no paid tier | 90% |
| active | pushedAt 2026-08-13; Show HN 2026-04-13 with 190 points | – |
| provenance | 2026 launch with .claude directory in repo; no authorship statement | 40% |
| reach | 50% |
Open questions
- Read apps/mcp/handlers.py to enumerate tools and settle the null Reach items; operable fit rises to 3 if approvals, inbox, and analytics are covered
- Is the intelligence service open, and does self-hosting work without it?
- Where is the brightbean-studio-agent skill published?
Sources
- github.com/brightbeanxyz/brightbean-studio sourcing:content-publishing:community
- brightbean.xyz/studio/ analysis:content-publishing
- news.ycombinator.com/item?id=47749674 sourcing:content-publishing:community