The draft-only agent control plane for multi-site content operations.
Give agents useful authority through MCP. Keep people in control of review, approval, and CMS delivery.
Website · Self-host · MCP guide · Release plan · AGPL-3.0-only
Self-hosted
Bring your own AI
Site-scoped access
Never publishes live
BlogFactory keeps the operating context around AI-assisted content work in one place: source evidence, drafts, revisions, SEO metadata, review, preflight, delivery destination, and a sanitized operation record.
source evidence
→ agent work or caller-authored draft
→ revision + SEO metadata
→ human review + preflight
→ selected CMS destination as a draft
Agents do the work through MCP. The web app is where operators see what needs attention, resolve blockers, review the current version, and approve a CMS handoff. The server-enforced authority ceiling is intentionally narrow: no live publishing, deletes, credential access, arbitrary providers, or admin tools through MCP.
Connect Search Console context, distinguish complete from preliminary data, rank work, plan it by date, and create a draft only when an operator is ready. Observation windows are shown as correlated signals, never as ranking guarantees.
Each connection is site-scoped. Clients discover the active catalog from the server, while provider credentials stay outside the agent conversation. The Review Card brings current revision context, warnings, destination selection, and explicit draft confirmation into compatible MCP clients.
Product captures from blogfactory.io. Values belong to the captured workspace; the tool catalog is discovered live.
| Operate | Grow | Control | Deliver |
|---|---|---|---|
| Sources, content inventory, revisions, review queue, runs, and image workflows | Search Console diagnostics, optimization, growth plans, indexing, and internal links | Site-scoped access, MCP connections, integrations, brand voice, settings, usage, and audit history | Preflight, explicit destination selection, optimistic locking, idempotent CMS draft delivery |
Self-host BlogFactory for free. BlogFactory Cloud is coming soon; pricing, subscriptions, checkout, and hosted public account creation are not implemented. Read the release plan for the distribution roadmap.
Explore both projects in the Free & Open Source Tools hub.
| Project | Use it when |
|---|---|
| Ghost Publisher MCP | You need a local, Ghost-specific MCP server for drafts, diagnostics, scheduling, and separately approved publishing. Overview and install |
| Source-Backed Blog Writer | You need a portable Agent Skill for researching, drafting, refreshing, or auditing evidence-backed articles. Overview and install |
Both projects work independently. They can supply or deliver content around BlogFactory, but they do not broaden BlogFactory's server-enforced draft-only authority.
BlogFactory uses npm workspaces: a React/Vite web app and a Hono/TypeScript API, backed by PostgreSQL and S3-compatible storage.
git clone https://github.com/BlogFactoryHQ/blogfactory.git
cd blogfactory
npm install
cp .env.example .env
npm run db:migrate
npm run devThe web app runs on http://localhost:8080 and the API on http://localhost:3000. Add only the credentials required for the flow you are testing; never point PostgreSQL integration tests at a shared production database.
git clone https://github.com/BlogFactoryHQ/blogfactory.git
cd blogfactory
cp .env.self-host.example .env
# Fill every required value and set ADMIN_EMAILS.
docker compose build --pull api web
docker compose up -dThe verified topology includes the web app, API, PostgreSQL, MinIO, migrations, persistent volumes, and the bounded scheduler. Follow the full self-hosting guide before exposing an instance to the internet.
operators ── <instance-origin> ─────┐
├─ shared tenant-scoped services ─ PostgreSQL + S3-compatible storage
agents ───── <instance-origin>/mcp ─┘ └─ CMS drafts / Search Console / configured AI providers
Web and MCP are transports over the same services. Queue classification, revision rules, review preflight, Search Console reads, permissions, and CMS draft delivery are not duplicated in the UI or agent tools.
| Surface | Purpose |
|---|---|
| Marketing | Open-source product overview and Cloud launch updates |
| Authenticated app | Operations, review, growth, settings, and audit |
https://blogfactory.io/mcp |
Streamable HTTP agent work layer |
/.well-known/oauth-protected-resource |
MCP protected-resource discovery |
- Architecture and service ownership
- MCP, OAuth, tool catalog, and Review Card
- Operations, deployment, and production acceptance
- Self-hosting with Docker Compose
- Release plan and Cloud boundaries
- Documentation index
- Contributing
npm run typecheck
npm run lint --workspace=web
npm run test --workspace=web
npm run test:server
npm run build
git diff --checkDatabase, tenancy, ledger, and shared control-plane changes also require npm run test:postgres against a disposable database.
BlogFactory is licensed under AGPL-3.0-only.



