htmlship
v0.3.6
Published
Host and share HTML pages from LLMs and coding agents in one line. CLI + MCP server.
Maintainers
Readme
htmlship
CLI + MCP server for HTMLShip — host and share HTML pages from LLMs and coding agents in one line.
# Publish an HTML file
npx htmlship publish report.html
# Password-protect a page
npx htmlship publish report.html --password "demo-pass"
# Inspect / update / delete using the saved owner key
npx htmlship get <slug>
npx htmlship update <slug> updated.html
npx htmlship delete <slug>
npx htmlship list-mineDeploy built apps
deploy builds a frontend project locally and ships the compiled output. Single-page apps (Vite, CRA, …) are inlined into one self-contained page; multi-file sites (Next.js — auto-detected — Astro, Docusaurus, …) are hosted as a file tree at view.htmlship.com/{slug}/.
npx htmlship deploy ./my-app # SPA -> one inlined page
npx htmlship deploy ./my-next-app # Next.js -> multi-file site (auto-detected)
npx htmlship deploy ./my-app --site --out dist # force multi-file hosting (Astro, etc.)
npx htmlship deploy ./my-app --single-file # force single-file inlining
npx htmlship deploy ./my-app --password "demo-pass" # password-protect the deploy
npx htmlship deploy --dry-run # build, but don't publish
npx htmlship deploy --build-cmd "vite build" --out distThe build always runs locally on your machine (npm/pnpm/yarn/bun, auto-detected) — never on the server. Either way the result renders in its own isolated, opaque origin (no cookies, no same-origin access, no network egress, no eval) via a sandboxed CSP; single-file pages are capped at 10 MB, multi-file sites at 50 MB.
For Next.js the CLI builds a static export based at the slug path automatically (no next.config edits — JS, .mjs, and .ts configs are all handled) as long as the app is statically exportable (no middleware/SSR). For other frameworks, --site ships any static build; set your framework's base path to /__htmlship_base__ so assets resolve under /{slug}/. The same flow is available to agents through the deploy_project MCP tool.
MCP server
htmlship mcp starts a stdio MCP server with four tools: publish_html (with optional password), deploy_project (build a local project and publish the compiled app), fetch_html, update_html.
Claude Desktop / Claude Code / Cursor
{
"mcpServers": {
"htmlship": {
"command": "npx",
"args": ["-y", "htmlship", "mcp"]
}
}
}That's the whole install. Restart your MCP client and ask the agent to publish HTML.
Configuration
HTMLSHIP_API_URL— API base URL (defaulthttps://api.htmlship.com)HTMLSHIP_KEYS_DIR— directory for the owner-key store (default~/.htmlship)
The owner-key store at ~/.htmlship/keys.json is format-compatible with the Python CLI. You can publish from one and update/delete from the other.
License
MIT
