Documentation
agent2web
Personal static hosting with an MCP server attached. Claude writes a page, calls one tool, and hands you back a URL. Runs on Cloudflare Workers, D1 and R2.
You: turn that into a page I can send my team
Claude: [ site_publish ] → https://a2w.example.com/s/q3-report/
Ask for a change and it republishes to the same URL, keeping the old version.
Guides
Deploying
The one-click button and the six-command terminal route, plus connecting Claude, attaching a domain, what the paid plan costs, and troubleshooting.
Testing it locally
Running the real Worker on your machine with emulated D1 and R2. No Cloudflare account needed.
What it does
| Capability | Detail |
|---|---|
| Publish over MCP | Eleven site_* tools over streamable HTTP — publish, update single files, read back, rename, roll back, delete |
| Access control | Any site can be public, password protected, or disabled, without touching its files |
| Versioning | Every publish is a new immutable version; roll back from the admin UI or a tool call |
| Owner-only publishing | A built-in OAuth 2.1 server for Claude web, plus a bearer token for Claude Code and CI |
| Three URL shapes | /s/<slug>/ always; <slug>.yourdomain.com with a wildcard record; a custom domain per site |
Before you start
Workers Paid plan required
For CPU time, not scale. Password hashing is PBKDF2 at 600,000 iterations (~130 ms) and the
Free plan caps a request at 10 ms of CPU. The numbers.
workers.dev has no wildcard subdomains
Path URLs work the moment you deploy. <slug>.yourdomain.com
needs a domain you control on Cloudflare.