Your client sites, run by an agent.
Connect Claude Code, Cursor, or any MCP client and run the whole CMS by prompt. Agents stage edits. People publish.
No credit card, cancel anytime.
Connect acme/marketing-site and tell me what my client will be able to edit.
connect_site repo: acme/marketing-site
Scanning repo structure...
Detected: astro
29 editable fields mapped
Site ready: cmsbrew.com/dashboard?site=acme
https://cmsbrew.com/api/mcpWorks with Claude.ai, Claude Desktop, Claude Code, Cursor, Windsurf, Codex, OpenClaw, Hermes, and any MCP-compatible tool.
Get started
Connected in under two minutes.
Pick your tool, copy one command, and paste your first prompt.
You need an API key from Settings → API keys in your dashboard, except on Claude.ai, where the remote server signs you in.
One command detects and configures Claude Desktop, Claude Code, Cursor, or Windsurf with your API key.
Run the setup wizard
npx cmsbrew setupThen paste your first prompt
You're connected to CMS Brew. Call list_sites to see my sites, then get_manifest on one of them and tell me what a client could safely edit there.Point it at the hosted server. No key to paste, and nothing installed.
Add the server
claude mcp add --transport http cmsbrew https://cmsbrew.com/api/mcpThen paste your first prompt
You're connected to CMS Brew. Call list_sites to see my sites, then get_manifest on one of them and tell me what a client could safely edit there.Add this block to claude_desktop_config.json or ~/.cursor/mcp.json, then restart the app.
MCP configuration
{
"mcpServers": {
"cmsbrew": {
"command": "npx",
"args": ["-y", "cmsbrew", "mcp"],
"env": { "CMSBREW_TOKEN": "cmsb_your_key_here" }
}
}
}Then paste your first prompt
You're connected to CMS Brew. Call list_sites to see my sites, then get_manifest on one of them and tell me what a client could safely edit there.Works with the Codex CLI and the IDE extension.
Add the MCP server
codex mcp add cmsbrew --env CMSBREW_TOKEN=cmsb_your_key_here -- npx -y cmsbrew mcpVerify the connection
codex mcp listThen paste your first prompt
You're connected to CMS Brew. Call list_sites to see my sites, then get_manifest on one of them and tell me what a client could safely edit there.Add the address as a custom connector. It signs you in and asks how much access to give.
Remote MCP endpoint
https://cmsbrew.com/api/mcpThen paste your first prompt
You're connected to CMS Brew. Call list_sites to see my sites, then get_manifest on one of them and tell me what a client could safely edit there.Five tools. That is the whole list.
Enough for an agent to onboard a site and keep its content current. Nothing that reaches the deploy.
list_sitesEvery connected site, with status, framework, and unpublished edits.
connect_siteConnect a GitHub repository and map its editable fields.
get_manifestRead the fields a site exposes, and the guard tier on each one.
edit_contentMake a content edit in plain language. It lands as a draft.
list_escalationsRequests routed to the team because they need a developer.
An agent that edits the site and still cannot publish it.
The CLI and the MCP server reach the same API the dashboard uses. Every key carries a preset, chosen when you mint it and enforced on the server.
Setup only
Can: Connect repositories, read sites and manifests.
Cannot: Edit or publish.
Safe agent access
Can: Everything above, plus content edits that land as a draft.
Cannot: Publish to the live site.
Full access
Can: Everything above, plus publish and revert.
Cannot: Act outside the workspace it was minted for.
No publish tool. At any tier.
Publishing commits to a live production site, so it stays a decision a person makes in the dashboard. The agent stages the work and stops.
Keys cannot mint keys.
Minting is closed to every key and open only to a signed-in operator. A narrow preset is one call away from meaningless the moment that is not true.
A key never outranks its owner.
It acts as the person who created it. Remove them from the workspace and their keys stop working on the next call.
Stop being the person who updates the phone number.
Give your client the keys to the content. Keep the keys to the code.
Prefer to talk first? Book a 30-minute call