# Everything your client can touch. And everything they can't.

> CMS Brew turns the site you already built into something a non-technical client can edit by chat or right on the page. Thirteen things it does, and what each one protects.

## Capabilities

### [Chat editing](https://cmsbrew.com/features/chat-editing)

Your client says what to change in plain words, the same way they would text it to you, and can point at the element they mean. There are no fields to hunt for, no dashboard to learn, and nothing to install.

### [Inline editing](https://cmsbrew.com/features/inline-editing)

Your client clicks the words on the page and retypes them. What ships is exactly what they typed, no AI rephrasing, and every edit still passes the same guards.

### [Guards](https://cmsbrew.com/features/guards)

Set each field category to Open, Warn, Review or Locked. Structural and code fields can be tightened but never opened, so an edit is only ever a new value for a field that already exists.

### [Real-site preview](https://cmsbrew.com/features/preview)

Your deployed page loads with the pending change painted on top, so the client sees the edit on the real thing before anything ships. It works even when the site sits behind a password.

### [Publish and revert](https://cmsbrew.com/features/publish-and-revert)

Everything pending ships as one labelled commit to the branch you already deploy from. Every publish is kept with the person and the time attached, and any of them comes back out in one click.

### [Escalations](https://cmsbrew.com/features/escalations)

A request for a new page, a layout change or code is refused in the editor and held until the client sends it to you, with their own words attached. A note pinned to an element arrives with that element and its page. Out of scope is not an error.

### [Team inbox](https://cmsbrew.com/features/team-inbox)

Escalated requests arrive as tickets. Approve and publish one in a single click, or turn it into a draft pull request. Alerts reach you by email and Slack.

### [Connect and map](https://cmsbrew.com/features/connect-and-map)

Point it at a GitHub or GitLab repository you already have, on 8 frameworks or plain HTML. Every page, post and language is read into an editable list and re-read on every push, so there is no schema file to keep in sync.

### [Clients and access](https://cmsbrew.com/features/client-access)

Invite the client who owns the site at no extra cost. They sign in with Google or a six-digit code, and see only the sites you grant them. Your team gets its own roles.

### [Multilingual](https://cmsbrew.com/features/multilingual)

Each language of a page is listed on its own, so your client picks the German one and edits German. Shared details like a phone number update in every language at once.

### [Images](https://cmsbrew.com/features/images)

Drag a photo in, paste it, or pick one from the composer. It is resized, converted to WebP, stripped of EXIF data and given alt text before it lands.

### [Crawlers and AI](https://cmsbrew.com/features/crawlers-and-ai)

Your page repeats itself where people never look: a hidden summary for Google, the tags behind a link preview, and a copy for AI. One edit from your client changes all of them.

### [MCP integration](https://cmsbrew.com/features/mcp)

Point Claude Code, Cursor, Windsurf or Codex at your workspace and run the CMS by prompt: connect a repository, read what a client can edit, stage a change. There is no publish tool at any permission level, so the agent stages the work and you ship it.

---

- [Home](https://cmsbrew.com/)
- [Full product details](https://cmsbrew.com/llms-full.txt)
