npm shippage-mcpstdioMITupdated 14d ago
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.
What can you do with ShipPage?
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
Install
Add ShipPage to your client. Pick the one you use.
claude mcp add shippage-mcp -- npx -y shippage-mcpcodex mcp add shippage-mcp -- npx -y shippage-mcpamp mcp add shippage-mcp -- npx -y shippage-mcp{
"mcpServers": {
"shippage-mcp": {
"command": "npx",
"args": [
"-y",
"shippage-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"shippage-mcp": {
"command": "npx",
"args": [
"-y",
"shippage-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"shippage-mcp","command":"npx","args":["-y","shippage-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"shippage-mcp": {
"command": "npx",
"args": [
"-y",
"shippage-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"shippage-mcp": {
"command": "npx",
"args": [
"-y",
"shippage-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"shippage-mcp": {
"command": "npx",
"args": [
"-y",
"shippage-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"shippage-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"shippage-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"shippage-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"shippage-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y shippage-mcpRun `goose configure`, choose **Add Extension β Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 7 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Version history
| Versions | Published |
|---|---|
| 1.2.1Latest | Jul 6, 2026 |