{
  "markdown": "# ShipPage — HTML or Markdown in. URL out. Zero config.\n\n[![npm version](https://img.shields.io/npm/v/shippage-mcp)](https://www.npmjs.com/package/shippage-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n> **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.\n\n**Official Website: [shippage.ai](https://shippage.ai)** · **Install:** `clawhub install shippage` or `npx shippage-mcp`\n\n[English](#) | [中文](./README.zh-CN.md)\n\n---\n\n## What is ShipPage?\n\n**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.\n\n**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.\n\n**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.\n\n## Quick Start\n\n### Option 1: OpenClaw Skill (Claude Code)\n\n```bash\nclawhub install shippage\n```\n\nThen tell your AI: *\"Publish this HTML as a webpage\"* or *\"Turn this Markdown into a shareable link\"* — done.\n\n### Option 2: MCP Server (Claude Desktop / Cursor)\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"shippage\": {\n      \"command\": \"npx\",\n      \"args\": [\"shippage-mcp\"]\n    }\n  }\n}\n```\n\nNo API key needed. No environment variables. Supports both `publish_html` and `publish_markdown` tools.\n\n### Option 3: Direct API\n\n**Publish HTML:**\n\n```bash\ncurl -X POST https://shippage.ai/v1/publish \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"html\": \"<html><body><h1>Hello World!</h1></body></html>\",\n    \"title\": \"My Page\"\n  }'\n```\n\n**Publish Markdown** (converted to a styled webpage automatically):\n\n```bash\ncurl -X POST https://shippage.ai/v1/publish \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"html\": \"<html>...your rendered markdown...</html>\",\n    \"title\": \"My Doc\"\n  }'\n```\n\nResponse:\n\n```json\n{\n  \"ok\": true,\n  \"url\": \"https://shippage.ai/p/x7k2m9\",\n  \"slug\": \"x7k2m9\",\n  \"expires_at\": \"2026-04-05T14:30:00Z\",\n  \"_registration\": {\n    \"api_key\": \"sk_...\",\n    \"claim_url\": \"https://shippage.ai/claim/ABCD-1234\"\n  }\n}\n```\n\nSave the `api_key` for subsequent requests. The `claim_url` lets the user manage pages via web UI (optional).\n\n## API Reference\n\n| Method | Endpoint | Description | Auth |\n|--------|----------|-------------|------|\n| `POST` | `/v1/publish` | Publish HTML, returns public URL | Optional (auto-registers if missing) |\n| `GET` | `/v1/pages` | List all published pages | Required |\n| `PUT` | `/v1/pages/:slug` | Update a page | Required |\n| `DELETE` | `/v1/pages/:slug` | Delete a page | Required |\n| `GET` | `/p/:slug` | View a published page | None |\n| `GET` | `/v1/skill/version` | Check for skill updates | None |\n| `GET` | `/v1/skill/download` | Download latest SKILL.md | None |\n\n### POST /v1/publish Parameters\n\n| Parameter | Required | Type | Description |\n|-----------|----------|------|-------------|\n| `html` | Yes | string | The HTML content to publish |\n| `title` | No | string | Display name for the page |\n| `slug` | No | string | Custom URL path (e.g., `my-page` → `shippage.ai/p/my-page`) |\n| `password` | No | string | Require a password to view the page |\n| `expires_in` | No | number | Seconds until expiry (default: 1,209,600 = 14 days) |\n| `public` | No | boolean | If `true`, the page is indexable by search engines (index,follow) and included in `/sitemap.xml`. Default `false` (noindex). |\n\n## Features\n\n| Feature | ShipPage | PageDrop | Manual Deploy |\n|---------|----------|----------|---------------|\n| Zero config | ✅ | ✅ | ❌ |\n| HTML → Webpage | ✅ | ✅ | ✅ |\n| Markdown → Styled Webpage | ✅ | ❌ | ❌ |\n| Agent identity system | ✅ | ❌ | ❌ |\n| Page management (CRUD) | ✅ | ❌ | Varies |\n| Password protection | ✅ | ❌ | Varies |\n| Custom URL slugs | ✅ | ❌ | ✅ |\n| OpenClaw + MCP ecosystem | ✅ | ❌ | ❌ |\n| Skill auto-update | ✅ | ❌ | ❌ |\n| Auto-expiry & cleanup | ✅ | ✅ | ❌ |\n\n## How It Works\n\n```\nAgent calls POST /v1/publish with HTML or rendered Markdown\n    │\n    ├─ First time? → Auto-register: generate agent_id + api_key + claim_code\n    │                Return URL + credentials in one response\n    │\n    ├─ Returning? → Verify API key, check quota\n    │\n    ▼\nStore HTML in R2 → Store metadata in KV → Return public URL\n```\n\n- **Infrastructure**: Cloudflare Workers + R2 (storage) + KV (metadata)\n- **Response time**: <100ms (edge-deployed on 300+ data centers)\n- **Daily cleanup**: Cron job removes expired pages automatically\n\n## Free Tier\n\n| Limit | Value |\n|-------|-------|\n| Publishes per month | 20 |\n| Max page size | 500 KB |\n| Page retention | 14 days |\n| Password protection | ✅ Included |\n| Custom slugs | ✅ Included |\n\nNo credit card required.\n\n## FAQ\n\n**Q: Do I need to register before using ShipPage?**\nA: No. ShipPage auto-registers your AI agent on the first API call. No signup, no forms, no email verification.\n\n**Q: Can I publish Markdown directly?**\nA: Yes. The OpenClaw skill and MCP server both support Markdown natively — your Markdown is converted to a beautifully styled, mobile-friendly webpage automatically.\n\n**Q: What happens when my pages expire?**\nA: 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.\n\n**Q: Can I use ShipPage without Claude?**\nA: Yes. ShipPage works with any HTTP client. The API is a standard REST endpoint — use it from any AI agent, script, or tool.\n\n**Q: How does skill auto-update work?**\nA: 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.\n\n**Q: Is ShipPage open source?**\nA: Yes. The source code is available at [github.com/jieshu666/ShipPage-Skill](https://github.com/jieshu666/ShipPage-Skill) under the MIT license.\n\n## Tech Stack\n\n- **Runtime**: [Cloudflare Workers](https://workers.cloudflare.com/) + [Hono](https://hono.dev/)\n- **Storage**: [Cloudflare R2](https://www.cloudflare.com/r2/) (HTML files)\n- **Metadata**: [Cloudflare KV](https://www.cloudflare.com/kv/) (agent records, page metadata)\n- **Language**: TypeScript\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request.\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 7035,
  "sha": "03eb7dea3c7964026ab0f3004ddab354ec287e6d36006550a540627d90db48d0",
  "repo_slug": "jieshu666/shippage-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_jieshu666_shippage_86be582a/readme"
}