# Hand your sites to an agent. Keep the publish button.

> Connect the editor you already work in and run the CMS by prompt. The agent connects repositories, reads what each client can edit, and stages changes. None of it reaches the live site.

## Why a key is safe to hand to a model.

- **There is no publish tool:** Not at any permission level, and not on either connection. Publishing commits straight to a client's live site, so there is simply nothing for a model to call. It stages the work and stops.
- **It works where you already are:** Claude Code, Cursor, Windsurf and Codex. One command finds the ones on your machine, shows you the config before it writes it, and backs up anything it touches.
- **The same guards apply:** An agent's edit is resolved against the same field map a client's edit is. A field you locked stays locked, and the model picks from that map rather than writing code.
- **Keys are scoped, and revocable:** Each key carries a preset you choose when you mint it, enforced on the server rather than in the client. A key can never do more than the person who created it.

## From your editor to a staged edit.

1. **Mint a key** Pick a preset in the dashboard. The default one makes content edits and cannot publish, so the safe choice is the one you get without thinking about it.
2. **Connect your editor** One command writes the config for the clients you have installed. Or paste the hosted address and your key into any client that accepts a header, with nothing to install at all.
3. **Ask for what you want** Connect this repository. Show me what my client can edit. Change the headline. Five tools cover the whole surface, and the agent picks between them.
4. **Review it and ship it** The agent's changes wait in the dashboard alongside every other pending edit. You look at them and publish them yourself.

## Use cases

- **Onboarding a batch of client sites:** Connecting ten repositories by hand is the same three answers, ten times. Describe the set instead and let the agent work through it.
  > “Connect every repo in this folder and tell me which ones mapped cleanly” comes back with a framework and a field count for each site, and the ones that need a source root.
- **The copy fix that arrives mid-feature:** A client emails a correction while you are deep in something else. Ask for it where you are, and it lands as a draft like any other edit rather than pulling you into a browser.
  > “Fix the pricing headline on acme” comes back with the field it matched, the wording it wrote, and any warning it raised on the way. The change waits as a draft until you publish it.
- **Checking what a client can reach:** Before you hand a site over, ask what is open, what warns, and what waits for you. The answer is the site's real field map, not your memory of how you set it up.
  > “What can my client edit on the acme homepage?” answers field by field: the wording each one holds today, and whether it is open, warns first, or waits for your review.
- **Working through the escalation queue:** The requests your clients sent to your team, listed in the editor where you would do the work anyway.
  > “What is waiting for me?” lists each request with the site it came from, the client's own words, and the reason it could not be self-served.

## FAQ

### Which AI clients does this work with?

Claude Code, Cursor, Windsurf and Codex all run it as a local server, and one command writes the config for whichever of them you have. Claude Code and Cursor also take the hosted address with your key in a header, which needs nothing installed. Both routes expose the same five tools with the same permissions. Claude.ai cannot use it yet: a hosted client has to obtain its own credential through OAuth, and that is not built.

### Can the agent publish to a client's live site?

No, and not because it is asked nicely. There is no publish tool and no revert tool to call, on either connection and at every key preset, including the full one. Publishing stays something a person does in the dashboard, where they can see what is about to go out.

### What can the agent actually change?

Content, in fields that already exist. An edit is resolved against the same manifest a client's edit is, so the model chooses a field from a validated map and never writes code. Guards apply unchanged, so a category you set to Review still waits for you.

### What happens if the key is too narrow for what I asked?

The tool answers with the reason and names the preset that would cover it, so the agent tells you what to change instead of failing quietly. Presets nest: setup connects repositories and reads, safe agent access adds draft edits, and full adds publishing outside of MCP.

---

- [All features](https://cmsbrew.com/features)
- [Connect and map](https://cmsbrew.com/features/connect-and-map)
- [Guards](https://cmsbrew.com/features/guards)
- [Team inbox](https://cmsbrew.com/features/team-inbox)
