Getting started

What is Hollware

A headless CMS on Cloudflare Workers that agents write to over MCP, with contracts that check every write.

What is Hollware

Hollware is an open-source headless CMS that runs on Cloudflare Workers. Your agents write content to it over MCP, your contracts check every write, and your sites read what you publish.

It is built for a team where agents write and people decide: an agent drafts a post, Hollware tells it exactly what breaks your rules and how to fix it, and a person approves what goes live.

How it fits together

  • The structure says what your content is: the schema of the frontmatter, the routes of each locale, the components a page may use, and the rules every write must follow. It lives in the database with your content, and you change it in the admin, or an agent does over MCP, with no deploy.
  • Agents connect to /mcp with a token, or through OAuth. They read the structure with describe_site, then write drafts, validate them and publish.
  • Contracts run on every write. A draft that breaks one is still saved, with a verdict that names each problem and its fix, so an agent can correct it without guessing.
  • D1 keeps every entry and every revision. Markdown goes in and comes out byte for byte.
  • Sites read published content over a service binding, with no network and no token, or over HTTP with a read token.
  • People sign in to the admin at /admin/ with a passkey, review what agents ask to publish, and manage tokens.

The packages

Hollware is a few packages, all of the same version, published on npm with provenance:

PackageWhat it does
create-hollwareMakes a project: npm create hollware.
hollwareThe CLI of a project: run it locally, deploy, migrate, tokens, import, export, backups.
@hollware/serverThe Worker: MCP, the read API, RPC, the admin's API, OAuth and passkeys, D1. A project's src/index.ts is createHollware().
@hollware/adminThe admin at /admin/, built and served by the Worker.
@hollware/coreContracts, the Markdown pipeline and the operations, shared by the server and the CLI.
@hollware/clientReads Hollware from any JavaScript: over a service binding or the read API, and verifies webhooks.
@hollware/nuxtA Nuxt module: composables, <HollwareContent> and <HollwareImage>, previews and a cache Hollware purges.
@hollware/astroAstro loaders, live or at build time, and HollwareContent.astro and HollwareImage.astro.
@hollware/reactFor React Router, Next.js or TanStack Start: server helpers, <HollwareContent> and <HollwareImage>.
@hollware/vueFor Vue 3 without Nuxt: components and composables, on a server or in the browser.
@hollware/agentsAgents of your own that review, translate and audit, and never publish.

A project depends on hollware, @hollware/server and @hollware/admin; your site, on the package of its framework.

What it is not

Hollware does not render your site. It has no themes and no page builder: your site is yours, in any framework, and reads the content it needs. It also is not a hosted service. It runs on your own Cloudflare account, from a project you own.

Next

Create your first project in the quickstart.