FIG 0.1 - HEADLESS CMS + COMMERCE

Content and a store your agent can run.

Any MCP client edits pages, products and orders.Read-only or read-write: you choose, the server enforces it.Your own Next.js, Astro or Remix app renders it.

@cmssy/next · Hosted MCP · No card needed
agent sessionlive
  1. MCPAgent
    update_block_content
  2. BLOCK · HEROcmssy
    heading · text
  3. LOCALE FANcmssy
    one field, every language
    enpldefres
  4. PUBLISHAgent
    publish_page · hmac
  5. YOUR FRONTENDYour app
    import { blocks }
    export default
    createCmssyPage(...);
REVALIDATED
1
DEPLOYS
0
  • Next.js
  • Astro
  • Remix
  • GraphQL
  • MCP
  • Claude
  • Cursor
  • Vercel
  • TypeScript
FIG 1.0 - DEVELOPER SURFACE

Three ways in. One content model.

Fetch typed content and render blocks you own. Same content over the SDK, GraphQL, or the MCP server.

// app/[[...path]]/page.tsx — you own this file
import { createCmssyPage } from "@cmssy/next/server";
import { blocks } from "@/cmssy/blocks";
import { cmssy } from "@/cmssy.config";

export default createCmssyPage(cmssy, blocks);
renders
GET /                 200 · static
  hero
  code-tabs
  ai-differentiator
  features
  pricing
  faq
revalidate            ISR + webhook
FIG 2.0 - THE DIFFERENTIATOR

AI that edits your content. Never code you paste.

Connect Claude, Cursor or any other MCP client to cmssy's MCP server and it works inside your workspace - creating pages, writing copy, and translating. It edits structured content directly, so nothing lands in your repo unreviewed.

  • One tool layer - pages, media, forms, orders, refunds: the same tools as the in-app assistant.
  • Content-only writes - the AI never touches your frontend code.
  • Versioned & reversible - every publish has version history and rollback.
Read the MCP docs →
claude · cmssy mcp
Add a pricing section in German to the home page.
Done. I created a pricing block, added German copy, and published.
✓ add_block_to_page· pricing✓ update_block_content· locale de✓ publish_page· /
No redeploy · content-only change
FIG 2.1
FIG 3.0 - ONE PLATFORM, TWO AUDIENCES

Business teams manage content. Developers own the frontend.

Nobody steps on anybody. One content model, two ways to work.

FOR CONTENT TEAMS

Visual editor, live preview

Marketers and editors change content and see exactly what ships. No tickets, no redeploys, no touching code.

FIG 3.1
FOR DEVELOPERS

You own the frontend

cmssy never hosts your site. Render published content in your own Next.js app with the SDK and deploy it anywhere.

import { CmssyPage } from "@cmssy/next";

const page = await cmssy.pages.get({ slug });
return <CmssyPage page={page} />;
FIG 3.2
FIG 4.0 - BUILT IN, NOT BOLTED ON

Everything a CMS should do - and things most don’t

Revisions, commerce, permissions, webhooks. In the core, not in a plugin marketplace.

Version history

Every publish is versioned. Roll back any page to a previous state.

Version history & rollback

Native commerce

Products, carts, orders, discounts, order pipelines and inventory.

Real commerce, not a plugin

Forms & submissions

Build forms and manage submissions right in your workspace.

15 field types

Webhooks & typed API

React to content changes and query everything over GraphQL.

Typed public API

Roles & permissions

Custom roles so the right people touch the right content.

50+ granular permissions

Multilingual by default

Every field is per-language out of the box, delivered automatically.

Every field localized
FIG 5.0 - HOW WE COMPARE

An honest look

Where we match them, and where we don't. No trash-talk.

cmssyContentfulSanityStoryblokPayload
Official MCP serverYesYesYesYesPlugin
You own & host the frontendAlwaysYesYesYesYes
Built-in commerceNativeAdd-on—Add-onPlugin
Agent runs orders & refunds over MCPBuilt-in———Via plugins

Comparison reflects standard plans as of 2026. Competitor capabilities vary by tier.

FIG 6.0 - PRICING

Simple pricing, start free

One free project, forever. Upgrade for more workspaces, uncapped orders and higher limits.

Hobby

Your first project, on us. No expiration, no catch.

$0forever free
  • 1 workspace
  • 25 pages
  • Cart and checkout, 20 orders/mo
  • AI assistant & MCP, your own key
  • 1 GB media storage
  • Headless content API
Get Started Free
MOST POPULAR

Pro

Room for several projects and sales without an order cap.

$24.17/mo, billed annually ($290/year)
  • 5 workspaces, 5 seats
  • Unlimited pages and store orders
  • 30 GB storage · 2M API requests/mo
  • +1 workspace or seat, $5/mo each
  • Priority support
Start Pro Trial

Enterprise

Ten times the workspaces and seats of Pro, with SSO, at a fixed price.

$249.17/mo, billed annually ($2,990/year)
  • 50 workspaces, 50 seats
  • 250 GB storage · 20M API requests/mo
  • SSO & advanced auth
  • Upgrade from Pro any time
Get Enterprise

Pro comes with a 14-day free trial - no card needed. Prices exclude VAT, which is added at checkout where it applies.

FIG 7.0 - FAQ

Frequently asked questions

Quick answers to the things people actually ask us.

A headless CMS with a visual editor. You manage structured, multilingual content and edit it visually - or with AI - while your developers render it in their own Next.js app via our SDK. Cmssy stores and delivers the content; you own the frontend.

Cmssy ships an MCP server. Connect Claude and it creates pages, adds blocks, writes copy, and translates - directly in your workspace. AI edits your content; it never generates code you have to deploy.

No - Cmssy is headless. You build and deploy your site (typically a Next.js app on Vercel) and it pulls published content from Cmssy. Your domain is whatever you point at your own deploy.

Typed, reusable content sections - heroes, feature grids, FAQs - that your developers define once with our SDK. Editors then fill them with content visually, and every field is multilingual.

Yes. You get a real workspace to model content, edit visually, and connect your frontend - enough to run an actual site. No time limit.

Built in. Each block holds content per language, and the right version is delivered to your frontend automatically.

Yes. A block field can bind to a model with fields.relation - either every record of the model or specific ones an editor picks. The SDK resolves them server-side in one batched read, so your component receives full records, never ids. This FAQ section is powered by exactly that.
Free to start

Your content, your frontend, live

Spin up a workspace, model your content, and connect your site. Free to start - no credit card.