Introducing MCP Server Integration

Model it. Publish it.
Fetch it from anywhere.

An AI-native headless CMS you run entirely through a REST API — define content types, publish entries, and read them back with a handful of calls, no dashboard clicking required. Already have a codebase? Point the CLI at it and let it detect the schema instead.

npx @acecms/cli scan ./my-site
POST /content-types
{
"name": "Blog Post",
"slug": "blog-post",
"fields": [
{ "name": "title", "type": "TEXT" },
{ "name": "body", "type": "RICH_TEXT" },
{ "name": "coverImage", "type": "MEDIA" }
]
}
Content Type Created
TEXT
title
Required
RICH_TEXT
body
Required
MEDIA
coverImage
Spring Boot 3.3·Postgres 16·React 19·MIT Licensed·Self-hostable

Howitworks

Three steps from an empty project to a published entry your site can read.

01

Model your content

POST a project, then POST a content type with the fields an entry needs — title, body, cover image, whatever fits. Nothing is detected: you're telling the API directly what a blog post looks like, and it's live as a schema immediately.

Already have a codebase? Scan it instead
zsh
$ curl -X POST .../content-types -d '{"name":"Blog Post","fields":[...]}'
Authenticating...
Content type "blog-post" created
3 fields live: title, body, coverImage
02

Write and publish

Create a draft entry and publish it — from the dashboard, a script hitting the same endpoints, or an AI coding agent through MCP. All three call the identical create/publish API underneath.

Dashboard
Title
Q3 Launch Recap
Body
This quarter we shipped...
Claude Code, via MCP
"Create a blog post about our Q3 launch"
create_contentai_generate_entrypublish_content
Published — no dashboard required
03

Your site reads it back

A public, CDN-cached endpoint serves published entries as JSON — the collection, or one entry by slug. Whatever renders your site fetches from here at build or request time, no SDK required.

GET /content/solomonarchibong/blog-post/hello-world200 · cached
{
"title": "Hello, World",
"body": "...",
"coverImage": "https://cdn.../hero.jpg",
"publishedDate": "2026-08-19"
}
Whatever renders your site fetches this directly — no SDK required

Plus everything else a production site needs

Commerce, security, and localization, without a separate service to integrate.

Digital Commerce

Native support for selling digital products or subscriptions powered by a seamless Stripe integration.

Enterprise Security

Dynamic CORS origin restrictions, strict rate limiting, and granular role-based permissions (RBAC) out of the box.

Localization

Full translation and locale-variant support out of the box — manage every language from the same content type.

Scheduled Publishing

Set a publish date and walk away — entries go live automatically, no one has to be online when it happens.

Adifferentstartingpoint

Most headless CMS platforms make you choose between a walled-garden dashboard and a bolted-on API. This one is API-first end to end — and can read the site you already built instead of modeling by hand, if you'd rather.

AceCMSTraditional CMS
Schema authoringDefined via API/dashboard, or detected from your JSXHand-modeled per field
First content type liveMinutesHours to days
AI coding agents (MCP)
Self-host, MIT licensed
Git-native content sync
0

MCP tools exposed to AI agents

0

content sync modes — Git, files, webhook, edge

MIT

licensed and fully self-hostable

Commonquestions

Yes. The Community edition is self-hosted on your own Postgres instance — there's no vendor lock-in, and the entire codebase is MIT licensed.

Stop writing CMS integration code.

Model a content type, publish an entry, and fetch it back — all through the API. Free to start, self-hostable, MIT licensed.