@shipsite/mcp
Deploy static websites
shipsite.sh
Static site hosting API for LLMs. Deploy sites with one API call. No git, no build steps, no dashboards. $0.10/site/day.
shipsite.sh lets LLM agents deploy static websites by POSTing files as JSON and receiving a live URL. Sites are served globally on a CDN edge network with HTTPS, auto-expire after 24 hours unless pinned, and cost $0.10 per site per day (prorated daily, billed monthly via Stripe). No free tier — payment is required before any deploys work.
API base URL: https://api.shipsite.sh Authentication: Bearer sk_live_… (all endpoints except account creation) IMPORTANT: API keys are shown only once when created and cannot be retrieved later. Store the key immediately. If lost, there is no recovery — you must create a new key while authenticated, or create a new account if locked out. Keys are inert (return 402) until Stripe checkout completes.
Quick start:
- POST /v1/accounts with { "email": "[email protected]" } — returns api_key + setup_url
- Open setup_url to complete Stripe checkout and activate the key
- POST /v1/sites with Authorization: Bearer sk_live_… and { "files": { "index.html": "…" } } — returns { "url": "https://site\_abc123.shipsite.sh" }
Endpoints:
- POST /v1/accounts (no auth): Create account. Body: { "email": "…" }. Returns: { "api_key": "sk_live_…", "setup_url": "https://checkout.stripe.com/…", "status": "pending" }. IMPORTANT: The api_key is shown only once — store it immediately.
- POST /v1/sites: Create a site. Body: { "files": { "path": "content" }, "name": "optional-slug", "meta": {} }. Text files as strings, binary files with "base64:" prefix. Returns: { "id": "site_…", "url": "https://….shipsite.sh", "expires_at": "…" }
- GET /v1/sites: List sites. Supports ?limit= and ?offset= pagination.
- GET /v1/sites/:id: Get site details (metadata, file list, expiry).
- PUT /v1/sites/:id: Update a site. Body accepts "files", "name", and/or "meta" (at least one required). Omitted files unchanged. Set a file to null to delete it. Set "name" to a string to add or change the vanity slug, or null to remove it.
- DELETE /v1/sites/:id: Delete a site immediately. Billing stops.
- POST /v1/sites/:id/pin: Remove auto-expiry. Site persists until deleted.
- POST /v1/sites/:id/unpin: Re-apply 24h TTL from current time.
- GET /v1/accounts/me: Get account status and active site count.
- GET /v1/accounts/me/keys: List all API keys (active and revoked) for the account.
- POST /v1/accounts/me/keys: Create a new API key. Returns the full key once — store it immediately, it cannot be retrieved later.
- POST /v1/accounts/me/keys/rotate: Atomically create a new key and revoke an old one. Body: { "revoke_key_id": "key_…" } (optional — omit to revoke the current key).
- DELETE /v1/accounts/me/keys/:id: Revoke an API key. Cannot revoke the last active key.
File encoding rules:
- Text files (.html, .css, .js, .svg, .json, .txt, .xml, .md): send as plain strings
- Binary files (.png, .jpg, .gif, .webp, .ico, .woff2, .pdf): "base64:" prefix + base64 content
Site name rules (optional "name" field on POST /v1/sites or PUT /v1/sites/:id):
- 3–63 characters, lowercase letters, numbers, and hyphens only
- Must start and end with a letter or number
- No consecutive hyphens (--)
- Globally unique — collisions return 409 with code "name_taken"
- Can be set at creation or added/changed/removed later via PUT
- Set to null in PUT to remove the name from an existing site
- Reserved names (cannot be used): api, www, app, admin, dashboard, billing, docs, help, support, status, blog, mail, smtp, ftp, cdn, assets, static, login, signup, auth, account, accounts, settings, config, setup, test, staging, dev, prod, internal
Site behavior:
- Served at https://{site_id}.shipsite.sh (or https://{name}.shipsite.sh if named)
- index.html served for / and as SPA fallback
- HTTPS on all sites, global CDN, CORS: Access-Control-Allow-Origin: *
- No injected content — sites served exactly as uploaded
- Auto-expire after 24 hours unless pinned
Limits: 1,000 active sites, 120 deploys/hour, 100 files/site, 15 MB total payload, 5 MB per file, 100,000 requests/site/day.
Error format: { "error": { "code": "…", "message": "Actionable description of what went wrong, why, and how to fix it.", "details": { … } } } Common codes: payment_required (402), rate_limited (429), validation_error (400), not_found (404).
Documentation
- API Reference: Full endpoint details, examples, and file encoding rules
- Terms of Service: Acceptable use policy, DMCA process, prohibited content
MCP Server
- @shipsite/mcp: MCP server package for Claude Code, Cursor, and Windsurf
MCP config: { "mcpServers": { "shipsite": { "command": "npx", "args": ["@shipsite/mcp"], "env": { "SHIPSITE_API_KEY": "sk_live_…" } } } }
Tools: deploy_site, list_sites, get_site, delete_site, pin_site, unpin_site, rename_site, create_account, get_account, list_keys, create_key, rotate_key, revoke_key
Optional
- Homepage: Marketing site with visual examples and pricing breakdown
- Pricing examples: 1 site/30 days = $3, 10 sites/30 days = $30, 1 site/2 hours = $0.10
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
UIAutomator2 MCP Server
Automate and control Android devices using the UIAutomator2 framework.
PackageLens MCP
Lets your coding agent (such as Claude, Cursor, Copilot, Gemini or Codex) search package registries across multiple ecosystems (npm, PyPI, RubyGems, Crates.io, Packagist, Hex) and fetch package context (README, downloads, GitHub info, usage snippets)
AppSignal MCP
Integrate with the AppSignal monitoring API to query and fetch error and performance data.
My MCP SSE Servers
A project for managing multiple MCP servers using Docker Compose, with each server as a submodule.
Phone
Control your Android phone using ADB commands. Requires ADB tools and an Android device with USB debugging enabled.
Chrome DevTools MCP Server
An MCP server for AI-assisted frontend development using Chrome DevTools. Requires Google Chrome.
Lerian MCP Server
Provides educational content, model information, and read-only API interactions for Lerian developers.
MCP Config Generator
A web tool for safely adding MCP servers to your Claude Desktop configuration.
MCP Memory Keeper
A server for persistent context management in Claude AI coding assistants, using a local SQLite database for storage.
AILint
AI-powered code quality analysis to detect best practice violations, security issues, and architectural problems in real-time.