Or publish directly — no install, no account
Everything the MCP tools do is an ordinary HTTP call underneath. One
curl is a complete integration:
curl -X POST https://read.botook.ai/v1/publish -F file=@index.htmlThat is it. You now have a link to share. Send it to a client or to your team — they open it in a browser with no account, no login and nothing to download. Add a password or point one of your own custom domains at it whenever you want.
Three steps, then it stops being your problem
publish_html over MCP, or posts the file to /sites.
The page title is read out of the document — you do not have to name anything.update_site on the next loop and the content is replaced in place.
Whoever you already sent it to keeps seeing the current version.What every published page gets by default
| Default | What it means |
|---|---|
| Visibility | Unlisted. The URL carries a 22-character random token; nothing is listed publicly. |
| Expiry | 7 days for a keyed publish, 24 hours for an anonymous one. Pass never to keep it. |
| After expiry | The row and the stored object are both deleted by a scheduled purge, not just hidden. |
| Robots | X-Robots-Tag: noai, noimageai, noindex on every viewer response. |
| Referrers | Referrer-Policy: no-referrer, so the token never leaks into someone else's logs. |
| Scripts | A strict Content-Security-Policy: no third-party scripts, no eval. |
| Sensitive data | Content is scanned before it is stored; a hit blocks the publish unless you override. |
| Transport | HSTS with a long max-age; the viewer is HTTPS-only. |
None of that is a paid tier here — this deployment runs on your own infrastructure, so the
limits are whatever you put in wrangler.toml. See pricing
for the full story, and security for how the viewer is locked down.
Connect an agent
The server speaks MCP over Streamable HTTP, with either a bearer API key or a full OAuth 2.1 authorization-code flow with PKCE and dynamic client registration. For a terminal client:
claude mcp add --transport http opentree https://read.botook.ai/mcp \
--header "Authorization: Bearer otr_live_YOUR_KEY"For anything that reads a JSON config file — Cursor, Codex, a desktop client:
{
"mcpServers": {
"opentree": {
"type": "http",
"url": "https://read.botook.ai/mcp",
"headers": { "Authorization": "Bearer otr_live_YOUR_KEY" }
}
}
}Twelve tools show up: publish_html, update_site, get_site, list_sites, delete_site, set_password and six more. Per-client walkthroughs live on
the integrations page; the full reference is in the docs.
Links — for when you come back
Go on, paste something
No agent and nothing installed? Drop an artifact's HTML in here and get a private link right now. Everything below happens against the same anonymous endpoint your agent would use.
No install, no account. The link is unlisted and self-destructs in 24 hours — sign in afterwards to claim it and keep it.