Home / Guides / Publish HTML from Claude Code

Guide

How to publish HTML from Claude Code

Claude Code just built you a page — a report, a dashboard, a landing page. The old ending to that story is a file in your working directory. The better ending is a live URL, produced by Claude itself, in the same conversation. Two minutes of setup makes that permanent.

Claude Code setup page

One command, one sign-in

Add htmldrop's hosted MCP server to Claude Code:

claude mcp add --transport http htmldrop https://htmldrop.app/mcp

That's the whole install. The first time Claude tries to publish, your browser opens an OAuth sign-in — approve it once and you're done. There is no API key to create, copy, or paste into a config file; the server uses the standard MCP authorization flow, so Claude Code handles tokens (and refreshes them) itself. If you don't have an account yet, the sign-in page creates one for free.

Then just ask

From then on, publishing is conversation, not workflow:

Claude calls htmldrop_publish (or htmldrop_list / htmldrop_delete) and hands back a live slug.htmldrop.app URL. The page serves immediately — share it in Slack, drop it in a ticket, open it on your phone.

Where this beats a deploy pipeline

For the class of pages Claude generates — one-file reports, prototypes, visualizations, internal docs — a real deploy pipeline is overkill: repo, commit, build, environment, DNS. htmldrop treats the page as what it is, a hosted artifact: no build step, unguessable URL, not indexed by search engines unless you opt in, password-protectable from $5/mo, and updatable in place (re-publish and the URL stays stable, with version history on paid plans). When a prototype graduates into a product, move it to a real pipeline — nothing about a drop locks you in.

CI and headless use

Scripts and CI jobs can't do a browser sign-in — that's what API tokens are for. Create one at dashboard → API tokens and either run the local server (npx -y @htmldrop.app/mcp with HTMLDROP_API_TOKEN) or hit the REST API directly with one curl. Same account, same drops, same URLs.

Your next "publish this" is one sentence away.

Add the server, sign in once, and Claude ships pages for you from then on.

Set up Claude Code

FAQ

Do I need an API key to publish from Claude Code?

Not for the remote server. https://htmldrop.app/mcp signs you in with OAuth in the browser the first time Claude tries to publish. API tokens (hsk_live_…) exist for the local stdio server and CI, where a browser sign-in isn't possible.

What can Claude publish?

HTML documents and Markdown (rendered to a clean page server-side). Anything self-contained runs as-is — inline JS, canvas, p5.js, Three.js, CDN libraries. Claude can also list your existing drops and delete ones you're done with.

Where does the page go and how long does it live?

Pages are served at a slug.htmldrop.app URL under your account. Free accounts keep 3 drops at 10 MB each; paid plans from $5/mo make drops permanent, add password protection and version history, and custom domains from $10/mo.

Does this work in Claude Desktop, Cursor, or Cline too?

Yes — any MCP client that supports remote streamable-HTTP servers can add https://htmldrop.app/mcp and get the same OAuth sign-in and publish tools. See the setup pages for Claude Desktop, Cursor, and Cline.