Let Clients Update Their Site Through Claude or Codex
An optional, secured MCP endpoint lets a client's AI assistant draft text and upload images for review, using your database when you have one and a git branch when you do not.

Clients want to say “update the pricing page and add this photo” to their AI assistant and have it handled. Giving that assistant a login to the dashboard is the wrong answer. The AstroWEBTheme client content MCP is the safer one: a narrow endpoint on the site itself that can draft content and upload images, and cannot publish.
What the client’s assistant can do
- read the pages in the collections you choose
- write drafts from plain Markdown
- upload images, with alt text required
- ask a person to review a draft
What stays with you
Publishing. A draft only goes live when an admin publishes it in the dashboard, or when you merge the pull request it opens. The assistant has no publish tool, cannot edit a live page in place, and cannot reach the dashboard.
Database or git, automatically
When a Cloudflare D1 database is bound, drafts and images go to D1 and R2 like the rest of the live content system. When there is no database, the same tools commit to a content/... branch through the GitHub API and open a pull request. The client’s experience is identical either way.
Built for hostile input
Tokens are expiring, scoped and stored only as hashes. Content is accepted as plain Markdown only, because MDX can execute code at build time. Images are identified by their bytes, not their file names, and SVG is refused. Everything the assistant reads is labelled as data, every call is rate-limited and audited, and the endpoint is off until you turn it on.
Set it up
The MCP documentation covers enabling the endpoint, creating client tokens, connecting Claude, Claude Code and Codex, and the full security model. A separate developer-side server for theme updates is planned; see Staying Current: Updates and Long-Term Support.