Edge-native · Agent-ready

The headless CMS your coding agent drives

Lumenpages CMS runs on Cloudflare Workers with D1 and R2. Describe what you want — your agent builds the pages. You ship globally in milliseconds.

$ npm install -g lumenpages-cms
$ lumenpages-cms create my-site
✓ worker + D1 + R2 ready — http://localhost:8787

$ opencode "build me a landing page"
✓ hero, features, and CTA created — rendered in 38 ms
100+edge locations
0servers to manage
1command to deploy
<50msglobal TTFB

Powering sites for teams like

TechFlow BrightLab InnovateHub Northwind Vertex Labs OpenArray
Why Lumen

A small engine with serious capabilities

Everything a production site needs — templates, storage, forms, image handling — in a single Worker that starts instantly.

Edge-native rendering

Every page renders server-side on Cloudflare Workers in 100+ locations. No origin server, no cold starts, no cache-invalidation headaches.

MCP built in

Connect opencode, Claude Code, or any MCP client. Your agent creates pages, components, and forms while you watch — no dashboard required.

Composable templates

Pages, layouts, and components with props, loops, and conditionals. A tiny engine that renders pure HTML — zero hydration, zero JS tax.

D1 + R2 storage

Content lives in SQLite at the edge; media sits in R2 with signed URLs and on-the-fly image transforms cached for a year.

Forms & webhooks

AJAX forms with honeypot and Turnstile/reCAPTCHA support, transactional email, and webhooks to push content events anywhere.

Guarded by default

Signed admin JWTs gate the CMS and MCP. SQL is sandboxed to data statements, media URLs are signed, secrets never leave the Worker.

MCP native

Content management, conversational

Lumen ships with a built-in MCP server. Connect opencode, Claude Code, or any MCP client, then manage pages, components, forms, and tables by describing them.

  • Agents create pages, layouts, components, and forms directly
  • Custom tables for structured content like posts or products
  • Signed JWT auth — nothing is exposed without a token
See how it works
# connect any MCP client
opencode mcp add lumenpages-cms \
  --url https://cms.lumenpages.com/mcp \
  --header "Authorization=Bearer <token>"

# then just ask
▸ "Add a blog with posts and tags"
✓ table __posts created
✓ /blog and /blog/:slug are live

From zero to deployed in three steps

1

Scaffold in seconds

lumenpages-cms create sets up the Worker, D1, R2, and an admin token. Local-first — no Cloudflare account needed to start.

2

Hand the keys to your agent

Connect any MCP client and describe pages in plain language. The agent does the CRUD; you review the diff in the browser.

3

Deploy to the edge

One command provisions remote D1 and R2, uploads secrets, and puts your site in front of the whole planet.

Developers ship faster with Lumen

I described the site in one prompt and had a working landing page before my coffee cooled. MCP-driven content is the workflow I didn't know I needed.
Sarah Chen CTO, TechFlow
We replaced a 40-plugin WordPress install. TTFB dropped from 800ms to 40ms and our templates are just... HTML. It feels suspiciously simple.
Marcus Webb Head of Engineering, BrightLab
The component model keeps everything consistent. Our agents build on the same design system marketing approved — nobody touches a deploy button.
Priya Sharma Product Lead, InnovateHub

Questions, answered

What exactly is Lumenpages CMS?
A lightweight headless CMS that runs as a single Cloudflare Worker. Content is stored in D1 (SQLite at the edge), media in R2, and pages are rendered server-side from templates. It's designed to be driven by coding agents over MCP as easily as by humans.
Do I need to write code to build a site?
Not yourself, no. Connect an MCP client like opencode or Claude Code and describe what you want — 'a landing page with three feature sections' — and your agent creates the pages and components. You can also edit templates directly; they're just HTML with a small expression syntax.
Where does my content live?
In your own D1 database and R2 bucket, in your own Cloudflare account. There's no Lumen-hosted backend between you and your data. Images are transformed on the fly at the edge and cached for a year.
Can I self-host or use my own domain?
Yes — Lumen is self-hosted by design. `lumenpages-cms deploy` provisions everything in your Cloudflare account, and you can attach any custom domain with automatic SSL.
What's the best way to get started?
Run `lumenpages-cms create`, connect your coding agent over MCP with the admin token it generates, and ask for a home page. You'll have a running site in minutes — then iterate by describing changes.