Skip to content

Deploy HTML straight from Claude Code

Claude Code speaks MCP over HTTP, and ship.page's endpoint is one URL. Register it once and Claude can publish anything it writes — landing pages, test reports, mockups — to a live URL before it finishes the sentence.

What this wires up

The ship.page MCP server exposes 9 tools: deploy_html for a single page, deploy_files for a whole file map, append_files to add to an existing drop, plus list, claim, restore and delete for managing what it deployed. Anonymous use works out of the box — no account, no key, no OAuth dance.

Every deploy lands on its own unguessable subdomain and is live worldwide in seconds. Claude gets the URL back as plain text and can hand it to you, paste it into a PR, or open it for a screenshot.

Connect it

Terminal — one command

claude mcp add --transport http ship-page https://ship.page/mcp

Verify with claude mcp list — it should report the server as connected. Inside a session, /mcp shows the same status.

Or commit it: .mcp.json at the project root

{
  "mcpServers": {
    "ship-page": {
      "type": "http",
      "url": "https://ship.page/mcp"
    }
  }
}

Project-scope config travels with the repo, so every teammate (and every CI agent) gets the same server. The CLI defaults to local scope; add --scope project to write this file for you.

The optional API key

Everything above works with zero account — anonymous deploys go live for 7 days and that's all you need for quick shares. Mint a free sp_ key (sign in at ship.page, dashboard → Keys) and deploys land on your account instead: drops the agent can list, restore and delete, 30-day expiry on the free plan, and named drops — stable, readable URLs that redeploy in place — on paid plans.

Pass it as a header when registering: claude mcp add --transport http ship-page https://ship.page/mcp --header "Authorization: Bearer sp_your_key" — or add "headers": { "Authorization": "Bearer sp_your_key" } to the .mcp.json entry.

Prompts to try

Prompt

Write a single-file HTML landing page for a dog-walking service and deploy it to ship.page, then give me the live URL.

Prompt

Run the Playwright suite, deploy the HTML report it generated to ship.page, and paste the link in my open PR.

Prompt

List my ship.page drops and delete every one older than a week.

Questions

Do I need an account or API key?

No. Anonymous deploys work with zero config and stay live for 7 days. A free sp_ key ties drops to your account so Claude can list, claim, restore and delete them, and raises the expiry to 30 days.

Which scope should I use: local, project or user?

Project scope (.mcp.json, committed) when the whole team should get the server. User scope when you want it in every project on your machine. Local is the CLI default and only applies to the current project.

claude mcp list shows it, but the tools don't fire — why?

Start a fresh session after adding the server; tool discovery happens at session start. Still nothing? Run /mcp inside the session to check the connection state and re-authenticate if prompted.

Ship something in the next minute

Paste the config, restart your client, and ask it to deploy a page. No account, no key, no wait — the first URL is free.