Skip to main content
Glama
README.md
# Shippage CLI

Publish HTML, Markdown, text files, ZIP bundles, and static folders into Shippage from AI agents or scripts.

Website: https://shippage.app

## Install

```bash
npm i -g @vantienkhai/shippage-cli
```

## Authenticate

Run browser login once:

```bash
shippage login
```

The CLI opens Shippage in your browser, asks you to confirm a short code, then
saves a long-lived API key to `~/.config/shippage/config.json`. Environment
variables still override the saved config:

```bash
export SHIPPAGE_API_URL="https://shippage.app"
export SHIPPAGE_TOKEN="<your spg_ API key>"
```

## Commands

```bash
shippage login
shippage publish ./out/article.html --title "AI Search Glossary" --slug ai-search-glossary --visibility public
shippage publish ./out/article.html --upload-assets --title "Article with assets"
shippage publish ./dist --title "Static site" --slug static-site --visibility public
shippage asset upload ./public/hero.png ./public/demo.mp4
shippage mcp
shippage bulk "out/**/*.html" --visibility unlisted
shippage list
shippage share abc123 --visibility private --private-token
shippage domain add docs.example.com
shippage domain verify docs.example.com
```

For anonymous publishing, omit `SHIPPAGE_TOKEN`. Anonymous pages are ownerless until a later claim flow is added.

Visibility controls search behavior automatically: `public` pages are indexable; `unlisted` and `private` pages are `noindex`.

Folder publishing requires an `index.html` at the folder root. The CLI zips the folder and Shippage serves relative assets from the published URL.

For existing HTML that references local images, videos, fonts, scripts, or stylesheets, use `--upload-assets`. The CLI uploads local `src`/`href` files first, rewrites those URLs in memory, then publishes the rewritten HTML without editing your local file.

## MCP

Run Shippage as an MCP server for Claude Code, Cursor, Windsurf, Codex, or any MCP-compatible agent:

```json
{
  "mcpServers": {
    "shippage": {
      "command": "shippage",
      "args": ["mcp"],
      "env": {
        "SHIPPAGE_API_URL": "https://shippage.app"
      }
    }
  }
}
```

Authenticate once with `shippage login`, or pass `SHIPPAGE_TOKEN` in the MCP environment. Available tools:

- `publish_page` — publish HTML/Markdown/text/ZIP files or static folders.
- `upload_asset` — upload image/video/font/script/style assets and return public URLs.
- `list_pages` — list pages owned by the configured token.
- `update_page` — change visibility, private token, slug, or custom domain.
- `delete_page` — delete an owned page.