mcpField
H
htmlbook

htmlbook

Remote
htmlbook.ioFiles & Storage1Updated 19w ago

About htmlbook

htmlbook is a hosted publishing service and MCP server for coding agents, turning generated HTML or Markdown into shareable links. Documents are private by default, with themed reading views, version history, and multiple access modes.

Key features

  1. 01Publish HTML and Markdown documents
  2. 02Apply reading themes for different devices
  3. 03Keep versions of edits and publications
  4. 04Set public, password, or private access
  5. 05Search, organize, and restore documents

Use cases

  1. 01Share an agent-generated report or dashboard
  2. 02Publish meeting notes as an accessible link
  3. 03Review or restore an earlier document version
  4. 04Protect a document with a password or private link

MCP support

The MCP server provides tools for publishing, retrieving, searching, organizing, access control, and version restoration. MCP clients connect over Streamable HTTP using a Bearer key or OAuth 2.1.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://htmlbook.io/api/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

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 login

Claude 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-dashboard

Prose (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/a1b2c3

That's the whole loop: generate → publish → share.


What you can publish

FormatWhenWhat htmlbook does
MarkdownProse: reports, plans, notes, specsKeeps the .md as the source of truth, renders a themed reader view (TOC, tables, callouts, task lists), stays downloadable + editable as Markdown
hb-doc HTMLRich docs: dashboards, KPIs, inline SVG chartsA <article class="hb-doc"> fragment styled only with hb-* classes + --hb-* tokens — the reader supplies the stylesheet and re-themes it (paper / sepia / dark, width, font size)
BundleA self-contained page with its own CSS/JSStored 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 .md is 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.

ToolPurpose
publishShelve a document (HTML or Markdown) to a hosted URL; new version if it exists
guideGet the authoring contract (hb-doc classes, tokens, components) before composing HTML by hand
listBrowse your library, optionally filtered by project
getFetch a document's metadata + current body (for markdown, the .md source)
searchFull-text search across everything you've shelved (recall before re-deriving)
organizeSet title / tags / path, move between projects, rename
set_accessMake a document public, password-protected, or private
citeGet a shareable deep-link to a specific section (heading) of a document
restoreRoll a document back to an earlier version
deleteMove a document to the trash

Supported clients

ClientAuth
Claude CodeAPI key over MCP, or browser login; also REST
CursorAPI key over MCP
Codex CLIAPI key over MCP; also REST
claude.aiOAuth (custom connector)
Claude DesktopOAuth (custom connector)
Any MCP clientStreamable HTTP + Bearer key or OAuth 2.1

Documentation


Made by Streamize. Documentation is MIT-licensed; htmlbook itself is a hosted service at htmlbook.io.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.