BB

bizzcms/bizzcms

API development
0 stars 0 forks Quality 58 Trend 20MIT

BizzCMS: free, open-source headless CMS for business websites. Serverless on Cloudflare Workers, D1 and R2. Pages, blog, media, REST API and MCP for AI assistants.

Overview

A modern CMS. Without the complexity. Free, open-source headless CMS for business websites, running on Cloudflare's global network. bizzcms.com · Releases · Changelog · Features · Wiki · MIT licence Most business websites need the same things: pages, a blog, images, a few people who can edit, and a site that is fast, safe and cheap to run. BizzCMS gives you exactly that, without servers to patch or a plugin jungle to maintain. - Runs on Cloudflare Workers with D1 (database) and R2 (media). No server, no PHP, no database to babysit. - Pages are served from Cloudflare's edge, close to your visitors. - The REST API is closed until you open it; apps and AI assistants connect with API keys. - Light and dark mode, one consistent design, built for editors, not developers. - MIT licensed, no licence fees, your content stays in your own Cloudflare account. bizzcms.com itself runs on BizzCMS (Cloudflare Workers, D1 and R2) since October 2026.

README

BizzCMS

A modern CMS. Without the complexity. Free, open-source headless CMS for business websites, running on Cloudflare’s global network.

bizzcms.com · Releases · Changelog · Features · Wiki · MIT licence


Why BizzCMS

Most business websites need the same things: pages, a blog, images, a few people who can edit, and a site that is fast, safe and cheap to run. BizzCMS gives you exactly that, without servers to patch or a plugin jungle to maintain.

  • Serverless by default. Runs on Cloudflare Workers with D1 (database) and R2 (media). No server, no PHP, no database to babysit.
  • Fast everywhere. Pages are served from Cloudflare’s edge, close to your visitors.
  • Private by default. The REST API is closed until you open it; apps and AI assistants connect with API keys.
  • Clean, calm admin. Light and dark mode, one consistent design, built for editors, not developers.
  • Open source. MIT licensed, no licence fees, your content stays in your own Cloudflare account.

In production: bizzcms.com itself runs on BizzCMS (Cloudflare Workers, D1 and R2) since October 2026.

A look inside

Features

The highlights are below; the full list is in docs/features.md.

Content

  • Pages with SEO title, description and share image; posts with summary and rich text (Lexical editor).
  • Featured images for posts, picked from the media library, with alt text. Used on blog lists, articles and social share cards.
  • Sponsored posts: one checkbox adds a “Sponsored” label and “Sponsored by …”, marks links to other sites rel="sponsored" automatically (as Google requires) and keeps the post out of “latest posts” teasers. See docs/posts.md.
  • Media library on R2. Drafts and publishing, with auto-save every 30 seconds while you edit.
  • Field types for every need: text, rich text, number, date, yes/no, select, media and URL slug.
  • View on Website from the editor opens the live page, not a technical preview.

People and security

  • Roles (admin, editor, author) with permissions, invitations and two-step login.
  • REST API closed by default, with API keys for apps (docs/api-access.md).
  • Known risky upstream routes are blocked (for example the unauthenticated seed-admin route).

For developers

  • Content model as code. Collections are TypeScript files; the admin forms and the REST API follow from them.
  • Modern, small stack: Hono on Cloudflare Workers, D1 (SQLite) for data, R2 for files, KV for caching, server-rendered admin with HTMX.
  • Local development with hot reload and full Cloudflare emulation, no account needed.
  • A shared admin layer: every BizzCMS site gets the same admin look, fixes and features with one npm run sync:core.

SEO, like Yoast

  • SEO panel on every page and post: focus keyphrase, Google and share previews, green/orange/red checks for SEO and readability, and an Auto-fill SEO button.
  • Title formats, sitemaps you choose part by part, robots.txt, llms.txt, an RSS feed, structured data for Google, a redirect manager and a not-found log, all built in. See docs/seo.md.

Fast and safe by default

  • Public pages are served from Cloudflare’s edge cache and replaced the moment you save; the minutes are yours to set. See docs/caching.md.
  • Visitors never see technical errors; you get an error log with the details.

Integrations

  • OpenAPI description of the REST API.
  • MCP server for AI assistants (docs/mcp.md): list and read pages, posts and categories; with write access switched on per collection (MCP › Collection write access) they can also create, update, publish and delete items, set the original publish date, and upload images to the media library (upload_media). Read-only by default.
  • Google Analytics plugin with a consent banner: nothing loads until the visitor accepts (Consent Mode v2).

Works with Lucy

Lucy is the AI assistant from the team behind BizzCMS. She works with all major AI models and connects to other tools through MCP, so she can read your BizzCMS pages and posts and use them in her answers and tasks:

  1. In the BizzCMS admin, open MCP and click Mint API Key.
  2. In Lucy, go to Connectors › Add custom.
  3. Enter a name, the remote MCP URL https://your-site.com/mcp and the API key (just sk_…, Lucy adds the Bearer prefix).
  4. Choose a model that supports tools and ask Lucy about your content.

Lucy can only read until you allow writing for a collection under MCP › Collection write access; then she can also create and update content and upload images. The same endpoint works with other MCP clients such as Claude Code, Cursor and Claude.ai connectors; the admin MCP page has ready-to-copy configs.

Run locally

Node.js 24 LTS or newer (.nvmrc included; tested with 24.21.0 on Windows):

git clone https://github.com/BizzCMS/bizzcms.git
cd bizzcms
npm ci
npm run setup
npm run dev

Open http://127.0.0.1:8787/admin. Setup creates [email protected] with a random password saved in the gitignored private/local-admin.txt. Setup is safe to repeat and never resets your account or content. Later, npm run dev is all you need.

No Cloudflare account is needed locally: D1, R2 and KV are emulated under .wrangler/, and e-mail is printed to the console instead of sent. See local development.

Hosting

BizzCMS runs serverless on Cloudflare: Workers for the app and website, D1 for the database, R2 for media and KV for caching. Your content stays in your own Cloudflare account.

Documentation

Licence and attribution

BizzCMS is available under the MIT licence.

Open-source components used by BizzCMS and their licences: third-party notices.

Made with ♥ by Ingenium

View this README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide