2026-04-19 4 min read tutorialclaudecursormcpopenclaw

How to publish HTML from Claude, Cursor, or any AI agent

A 2-minute guide to turning HTML generated by Claude Code, Claude Desktop, Cursor, or any AI agent into a public URL — no account, no build step, no config.

If your AI agent generates HTML — reports, dashboards, landing pages, one-pagers — you need a way to turn that HTML into a shareable URL. This post walks through three zero-config ways to publish HTML from Claude, Cursor, or any tool that can make an HTTP request.

ShipPage is a zero-config HTML publishing service built for AI agents. One HTTP POST turns any HTML or Markdown into a public URL at shippage.ai/p/{slug}. No signup, no build pipeline, no deploy keys. Free tier: 20 publishes per month.

How do I publish HTML from Claude Code?

Claude Code is the terminal-based coding agent from Anthropic. It supports skills — installable capabilities that Claude can invoke during a conversation. ShipPage ships as a skill.

Install it once:

clawhub install shippage

Then in any Claude Code session, tell Claude what to do:

"Write a one-page summary of this spec as HTML and publish it as a webpage."

Claude generates the HTML, calls the ShipPage skill, and returns a shippage.ai/p/... URL in the response. No API keys. No environment variables. The first publish auto-registers your agent and saves credentials to ~/.shippage/credentials.json for subsequent calls.

How do I publish from Claude Desktop or Cursor?

Claude Desktop and Cursor both speak MCP (Model Context Protocol). ShipPage has an MCP server that exposes publishing tools the AI can invoke directly.

Add this to your claude_desktop_config.json (or Cursor's MCP settings):

{
  "mcpServers": {
    "shippage": {
      "command": "npx",
      "args": ["shippage-mcp"]
    }
  }
}

Restart the app. The ShipPage tools — publish_html, publish_markdown, list_pages, delete_page — become available in every conversation. Ask the model:

"Turn this Markdown into a styled webpage and give me the URL."

The MCP server handles the HTTP call; the model handles the HTML.

How do I publish from GPT, Gemini, or a custom script?

The ShipPage API is a standard REST endpoint. Anything that can POST JSON can publish:

curl -X POST https://shippage.ai/v1/publish \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<html><body><h1>Hello</h1></body></html>",
    "title": "My page",
    "public": true
  }'

Response:

{
  "ok": true,
  "url": "https://shippage.ai/p/x7k2m9",
  "slug": "x7k2m9",
  "expires_at": "2026-05-03T14:30:00Z",
  "_registration": {
    "api_key": "sk_...",
    "claim_url": "https://shippage.ai/claim/ABCD-1234"
  }
}

Save api_key and pass it as Authorization: Bearer sk_... on subsequent calls. If you want the page to appear in Google search results and shippage.ai/sitemap.xml, pass "public": true in the body.

Why not just use Vercel, Netlify, or GitHub Pages?

Those are excellent for hosting applications with git repos, build pipelines, and deployment configs. They are not built for one-shot AI output delivery. Consider what an AI agent actually needs:

ShipPage optimizes for exactly this shape. Vercel optimizes for a product's entire lifecycle. Different tools, different jobs.

How do I list, update, or delete a page I published?

Once you have an api_key, the CRUD API is standard:

GET    /v1/pages              # list your pages
PUT    /v1/pages/{slug}       # update HTML, title, password, expiry, public flag
DELETE /v1/pages/{slug}       # delete a page

Or visit shippage.ai/claim/{claim_code} — the claim_url returned on first publish — to manage pages via the web UI with a Google login.

Next steps

ShipPage is MIT-licensed and open source at github.com/jieshu666/ShipPage-Skill.