@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
관련 서버
Alpha Vantage MCP Server
스폰서Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
ADB MCP Server
Interact with Android devices using the Android Debug Bridge (ADB).
Bio-MCP FastQC Server
Provides quality control for biological sequence data using the FastQC and MultiQC tools.
Gemini MCP Tool
A server for integrating with the Google Gemini CLI to perform AI-powered tasks.
Untun
Create secure tunnels to expose local servers to the internet using untun.
Vibe-Coder
A structured development workflow for LLM-based coding, including feature clarification, planning, phased development, and progress tracking.
refactor-mcp
Refactor code using regex-based search and replace.
MLflow MCP Server
Integrates with MLflow, enabling AI assistants to interact with experiments, runs, and registered models.
MCP Gemini CLI
A command-line interface wrapper for the Google Gemini API, enabling interaction with Gemini's Search and Chat tools.
Vega-Lite
Generate visualizations from fetched data using the VegaLite format and renderer.
mcp4gql
An MCP server that acts as a bridge, allowing MCP clients to interact with a target GraphQL API.