@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
Code Graph RAG MCP
Code Rag with Graph - local only installation
Safe File MCP
A test server demonstrating all features of the MCP protocol, including prompts, tools, resources, and sampling.
FastAPI MCP Server
A MCP server implementation using the FastAPI framework, configurable via environment variables.
AI Agent Playwright
An AI agent for the Playwright MCP server, enabling automated web testing and interaction.
Gemini MCP
An MCP server that orchestrates Google Gemini and Claude Code models via the OpenRouter API.
Docker Hub README MCP Server
Search for Docker images and retrieve their READMEs and metadata from Docker Hub.
MCP Options Order Flow Server
A high-performance MCP server for comprehensive options order flow analysis.
MCP Bridge
A proxy server that enables existing REST APIs to be used as Model Context Protocol (MCP) servers.
YAPI MCP Server
An MCP server for accessing YAPI interface details, configured via environment variables.
QA Sphere
Integration with QA Sphere test management system, enabling LLMs to discover, summarize, and interact with test cases directly from AI-powered IDEs