shippage-mcp
Enables AI agents to publish HTML or Markdown to a public URL with a single HTTP POST, automatically converting Markdown to a styled webpage, with no account or setup required.
README
ShipPage — HTML or Markdown in. URL out. Zero config.
ShipPage is a zero-config HTML publishing service for AI agents. Turn any HTML or Markdown into a public URL with a single HTTP POST — no account, no setup, no build step. Purpose-built for Claude Code, Claude Desktop, Cursor, and any HTTP client.
Official Website: shippage.ai · Install: clawhub install shippage or npx shippage-mcp
What is ShipPage?
ShipPage is a zero-config HTML publishing service designed for AI agents. Hand it any HTML or Markdown and get back a public URL — one API call, done. Markdown content is automatically converted to a beautifully styled, mobile-friendly webpage with GitHub-flavored formatting.
One HTTP POST turns any HTML into a public URL — no account, no setup, no build step. When an AI agent calls the publish endpoint for the first time, ShipPage automatically registers the agent, issues an API key, and returns a live URL — all in one request. No human setup required.
ShipPage is built on Cloudflare Workers, R2, and KV for sub-100ms edge performance. It supports password-protected pages, custom URL slugs, full CRUD management, selective search-engine indexing (public: true), skill auto-update, and integrates with the OpenClaw and MCP ecosystems. MIT-licensed.
Quick Start
Option 1: OpenClaw Skill (Claude Code)
clawhub install shippage
Then tell your AI: "Publish this HTML as a webpage" or "Turn this Markdown into a shareable link" — done.
Option 2: MCP Server (Claude Desktop / Cursor)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"shippage": {
"command": "npx",
"args": ["shippage-mcp"]
}
}
}
No API key needed. No environment variables. Supports both publish_html and publish_markdown tools.
Option 3: Direct API
Publish HTML:
curl -X POST https://shippage.ai/v1/publish \
-H "Content-Type: application/json" \
-d '{
"html": "<html><body><h1>Hello World!</h1></body></html>",
"title": "My Page"
}'
Publish Markdown (converted to a styled webpage automatically):
curl -X POST https://shippage.ai/v1/publish \
-H "Content-Type: application/json" \
-d '{
"html": "<html>...your rendered markdown...</html>",
"title": "My Doc"
}'
Response:
{
"ok": true,
"url": "https://shippage.ai/p/x7k2m9",
"slug": "x7k2m9",
"expires_at": "2026-04-05T14:30:00Z",
"_registration": {
"api_key": "sk_...",
"claim_url": "https://shippage.ai/claim/ABCD-1234"
}
}
Save the api_key for subsequent requests. The claim_url lets the user manage pages via web UI (optional).
API Reference
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST |
/v1/publish |
Publish HTML, returns public URL | Optional (auto-registers if missing) |
GET |
/v1/pages |
List all published pages | Required |
PUT |
/v1/pages/:slug |
Update a page | Required |
DELETE |
/v1/pages/:slug |
Delete a page | Required |
GET |
/p/:slug |
View a published page | None |
GET |
/v1/skill/version |
Check for skill updates | None |
GET |
/v1/skill/download |
Download latest SKILL.md | None |
POST /v1/publish Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
html |
Yes | string | The HTML content to publish |
title |
No | string | Display name for the page |
slug |
No | string | Custom URL path (e.g., my-page → shippage.ai/p/my-page) |
password |
No | string | Require a password to view the page |
expires_in |
No | number | Seconds until expiry (default: 1,209,600 = 14 days) |
public |
No | boolean | If true, the page is indexable by search engines (index,follow) and included in /sitemap.xml. Default false (noindex). |
Features
| Feature | ShipPage | PageDrop | Manual Deploy |
|---|---|---|---|
| Zero config | ✅ | ✅ | ❌ |
| HTML → Webpage | ✅ | ✅ | ✅ |
| Markdown → Styled Webpage | ✅ | ❌ | ❌ |
| Agent identity system | ✅ | ❌ | ❌ |
| Page management (CRUD) | ✅ | ❌ | Varies |
| Password protection | ✅ | ❌ | Varies |
| Custom URL slugs | ✅ | ❌ | ✅ |
| OpenClaw + MCP ecosystem | ✅ | ❌ | ❌ |
| Skill auto-update | ✅ | ❌ | ❌ |
| Auto-expiry & cleanup | ✅ | ✅ | ❌ |
How It Works
Agent calls POST /v1/publish with HTML or rendered Markdown
│
├─ First time? → Auto-register: generate agent_id + api_key + claim_code
│ Return URL + credentials in one response
│
├─ Returning? → Verify API key, check quota
│
▼
Store HTML in R2 → Store metadata in KV → Return public URL
- Infrastructure: Cloudflare Workers + R2 (storage) + KV (metadata)
- Response time: <100ms (edge-deployed on 300+ data centers)
- Daily cleanup: Cron job removes expired pages automatically
Free Tier
| Limit | Value |
|---|---|
| Publishes per month | 20 |
| Max page size | 500 KB |
| Page retention | 14 days |
| Password protection | ✅ Included |
| Custom slugs | ✅ Included |
No credit card required.
FAQ
Q: Do I need to register before using ShipPage? A: No. ShipPage auto-registers your AI agent on the first API call. No signup, no forms, no email verification.
Q: Can I publish Markdown directly? A: Yes. The OpenClaw skill and MCP server both support Markdown natively — your Markdown is converted to a beautifully styled, mobile-friendly webpage automatically.
Q: What happens when my pages expire? A: Free-tier pages expire after 14 days and are automatically cleaned up. You can re-publish at any time. Pro tier (coming soon) offers permanent pages.
Q: Can I use ShipPage without Claude? A: Yes. ShipPage works with any HTTP client. The API is a standard REST endpoint — use it from any AI agent, script, or tool.
Q: How does skill auto-update work? A: The ShipPage skill checks for updates on first use each session. If a new version is available, it downloads and replaces itself automatically. Changes take effect in the next session.
Q: Is ShipPage open source? A: Yes. The source code is available at github.com/jieshu666/ShipPage-Skill under the MIT license.
Tech Stack
- Runtime: Cloudflare Workers + Hono
- Storage: Cloudflare R2 (HTML files)
- Metadata: Cloudflare KV (agent records, page metadata)
- Language: TypeScript
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.