htmlbook
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@htmlbookpublish this Q3 dashboard as a public document"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
htmlbook
Publish AI-generated HTML and Markdown to a hosted, shareable URL. htmlbook is
an MCP server and REST API that takes a document
your coding agent just generated โ an HTML report, a data dashboard, a spec, meeting
notes, an interactive page โ and turns it into a clean link you can open on your
phone or send to someone, instead of leaving it as a local .html file buried in a
project folder.
Push from Claude Code, Cursor, Codex, or claude.ai. htmlbook stores the document, re-themes it for comfortable reading on any device (paper / sepia / dark), keeps every edit as a version, and gives each document one share link with three modes โ public (anyone, no login), password-protected (anyone with the password, no login), or a private secret link only you and your workspace can open.
Share the output as a link, not a file. When an agent makes HTML, the awkward part is everything after: getting it off your laptop, onto your phone, in front of someone else. htmlbook is the shelf that part lives on.
๐ Website: https://htmlbook.io
๐ MCP endpoint:
https://htmlbook.io/api/mcp๐ก REST publish:
POST https://htmlbook.io/api/docs๐ฌ Community: Discord
Quickstart
1. Connect your agent
Get an API key at https://htmlbook.io โ Settings, then add the MCP server.
Claude Code (browser login, no key needed):
claude mcp add --transport http htmlbook https://htmlbook.io/api/mcp
# then run `claude` and approve the htmlbook loginClaude Code (with an API key):
claude mcp add --transport http htmlbook https://htmlbook.io/api/mcp \
--header "Authorization: Bearer $HTMLBOOK_API_KEY"Cursor โ ~/.cursor/mcp.json:
{
"mcpServers": {
"htmlbook": {
"url": "https://htmlbook.io/api/mcp",
"headers": { "Authorization": "Bearer hb_live_REPLACE_WITH_YOUR_KEY" }
}
}
}Codex CLI โ ~/.codex/config.toml:
[mcp_servers.htmlbook]
url = "https://htmlbook.io/api/mcp"
bearer_token_env_var = "HTMLBOOK_API_KEY"claude.ai / Claude Desktop โ add a custom connector with URL
https://htmlbook.io/api/mcp (OAuth โ no key to paste).
See docs/getting-started.md for every client.
2. Publish a document
Just ask your agent. With the MCP server connected, it calls the publish tool:
You: Write up the Q3 numbers as a dashboard and put it on htmlbook.
Agent: htmlbook โ publish
โ shelved (hbdoc) ยท acme/q3-dashboard ยท v1 ยท read: https://htmlbook.io/app/p/acme/q3-dashboardProse (a report, a plan, notes) is easiest as Markdown โ htmlbook keeps the .md
as the source of truth and renders a themed reader view from it:
{
"tool": "publish",
"project": "acme",
"markdown": "# Q3 Review\n\nRevenue is up 8% QoQ...\n\n## Highlights\n- ..."
}3. Share it
Documents are private by default. Make one public to get a link anyone can open:
Agent: htmlbook โ set_access (visibility: public)
โ acme/q3-dashboard is now public ยท https://htmlbook.io/d/a1b2c3That's the whole loop: generate โ publish โ share.
Related MCP server: drop
What you can publish
Format | When | What htmlbook does |
Markdown | Prose: reports, plans, notes, specs | Keeps the |
hb-doc HTML | Rich docs: dashboards, KPIs, inline SVG charts | A |
Bundle | A self-contained page with its own CSS/JS | Stored verbatim and rendered in a sandboxed iframe โ your scripts run, your styling is preserved. Can be multi-file (index.html + sub-pages + assets, โค10MB) for a small static site with working relative links |
The format is auto-detected at publish. You never have to declare it โ push Markdown, push an hb-doc fragment, or push a full standalone HTML page and htmlbook routes it.
See docs/publishing.md and docs/hb-doc-contract.md.
Why htmlbook
Off your laptop. An agent's HTML output is stuck on the machine that made it. htmlbook gets it onto your phone and into a shareable link.
Readable everywhere. Because an hb-doc carries no CSS of its own, the reader themes it โ the same document looks right on a phone in the dark and a desktop in daylight.
Versioned. Every publish and every in-reader edit is a new immutable version. The History panel shows who changed what; any version restores.
Markdown stays Markdown. A Markdown push is not lossily converted to HTML โ the original
.mdis the source of truth and round-trips on download.Private by default. Nothing is public until you flip it. Three share modes: public (anyone), password-protected (anyone with the password, no login โ changing it revokes prior access), or a secret link session-gated to your workspace.
Token-cheap. Push a large document as a file over the REST API so its bytes never pass back through your agent's context. See docs/rest-api.md.
The MCP tools
The htmlbook MCP server exposes 10 tools. Full reference: docs/mcp-tools.md.
Tool | Purpose |
| Shelve a document (HTML or Markdown) to a hosted URL; new version if it exists |
| Get the authoring contract (hb-doc classes, tokens, components) before composing HTML by hand |
| Browse your library, optionally filtered by project |
| Fetch a document's metadata + current body (for markdown, the |
| Full-text search across everything you've shelved (recall before re-deriving) |
| Set title / tags / path, move between projects, rename |
| Make a document public, password-protected, or private |
| Get a shareable deep-link to a specific section (heading) of a document |
| Roll a document back to an earlier version |
| Move a document to the trash |
Supported clients
Client | Auth |
Claude Code | API key over MCP, or browser login; also REST |
Cursor | API key over MCP |
Codex CLI | API key over MCP; also REST |
claude.ai | OAuth (custom connector) |
Claude Desktop | OAuth (custom connector) |
Any MCP client | Streamable HTTP + Bearer key or OAuth 2.1 |
Documentation
Getting started โ connect every client, get a key
Publishing โ the three formats, the
publishtool, examplesMarkdown โ source of truth, frontmatter, folder sync
The hb-doc contract โ classes, tokens, components
Sharing & access โ public, password, secret links, workspaces
MCP tools reference โ all 10 tools with example calls
REST API โ
POST /api/docs, token-cheap file pushesexamples/ โ a report, a dashboard, a folder-sync setup
Made by Streamize. Documentation is MIT-licensed; htmlbook itself is a hosted service at htmlbook.io.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Streamize-llc/htmlbook'
If you have feedback or need assistance with the MCP directory API, please join our Discord server