What AI-native Means
Designing a CMS for agents, not just humans.
“AI-native” is now firmly in the marketing-jargon graveyard, alongside “cloud-native” and “AI-powered”. So when we use it for Squilla, here's what we actually mean.
Agents are users, not integrations
The standard model for AI in a CMS is integration: you bolt a writer-assistant button onto a richtext editor, or you generate alt text via a sidecar API call. Squilla flips this. The CMS is built so that an autonomous agent can be the primary operator, with the same surface humans use — the CoreAPI, the MCP server, the events, the capability scopes. There's no separate “AI mode”.
What that looks like in practice
An agent connected to Squilla via MCP can:
- Register a new node type (“a recipe has a hero, a prep_time, and an ingredients repeater”)
- Seed a hundred recipes with structured fields and rich-text bodies
- Wire up navigation, set site settings, install and activate an extension
- Preview rendered HTML before publishing
- Iterate on a content block's template + test_data, smoke-render it, then attach it to a page
None of those operations require filesystem access, shell access, or human approval per call. They require capability scopes, which the agent's bearer token declares up-front.
Why MCP, not REST
MCP gives us three things a REST API doesn't:
- Self-describing tools. Every tool has a typed schema. The agent doesn't need a separate documentation pass.
- The
core.guidemeta-tool. One call returns a goal→tool decision tree plus a live snapshot of the CMS (active theme, node counts, recent nodes). It replaces the agent's first ten discovery calls. - Resource URIs. The MCP server exposes
squilla://guidelines/themesand similar URIs, so an agent can pull authoring conventions before it starts writing.
Constraints on the agent
Capability scopes are enforced server-side. You can issue a token that can read but not write, or one that can manage content but not activate extensions. The guard has no override; an unscoped call returns an error. AI-native means the agent is a first-class citizen, not that it has root.