このMCPでできること
Deploys single-page or multi-file static websites to live URLs and manages hosted site drops.
ツール
入力スキーマ
{'type': 'object', 'required': ['slug', 'files'], 'properties': {'slug': {'type': 'string', 'description': 'The drop slug (the subdomain part of its ${domain} URL).'}, 'files': {'type': 'object', 'description': "Map of relative paths (e.g. 'index.html', 'css/app.css') to either a string, or { encoding: 'base64', content } for binary files.", 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'object', 'required': ['encoding', 'content'], 'properties': {'content': {'type': 'string'}, 'encoding': {'type': 'string', 'const': 'base64'}}}, {'type': 'object', 'required': ['content'], 'properties': {'content': {'type': 'string'}}}]}}}}
出力スキーマ
{'type': 'object', 'required': ['slug', 'url', 'files', 'total_files', 'expires_at'], 'properties': {'url': {'type': 'string'}, 'plan': {'type': 'string'}, 'slug': {'type': 'string'}, 'files': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Paths added by this call'}, 'expires_at': {'type': ['string', 'null'], 'description': 'ISO timestamp, or null when the drop never expires'}, 'total_files': {'type': 'integer', 'description': 'Total files on the drop after the append'}}}
入力スキーマ
{'type': 'object', 'required': ['slug', 'claim_token'], 'properties': {'slug': {'type': 'string', 'description': 'The drop slug (the subdomain part of its ${domain} URL).'}, 'claim_token': {'type': 'string', 'description': 'The one-time spc_... token returned at deploy time.'}}}
出力スキーマ
{'type': 'object', 'required': ['slug', 'claimed', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'claimed': {'type': 'boolean'}, 'restored': {'type': 'boolean', 'description': 'True when the drop had already expired and was revived by the claim'}, 'expires_at': {'type': ['string', 'null'], 'description': "ISO timestamp after the claim's lifetime extension, or null"}}}
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'The drop slug (the subdomain part of its ${domain} URL).'}}}
出力スキーマ
{'type': 'object', 'required': ['deleted'], 'properties': {'deleted': {'type': 'string', 'description': 'Slug of the deleted drop'}}}
入力スキーマ
{'type': 'object', 'required': ['files'], 'properties': {'ttl': {'type': 'integer', 'description': 'Lifetime in seconds (min 60). Anonymous: max 2592000 (30 days), default 30 days. Signed-in free: max 7776000 (90 days), default 90 days. Paid: any value, omit for no expiry.'}, 'name': {'type': 'string', 'description': 'Stable name for a redeployable drop (1-41 chars of [a-z0-9-]). Requires an active subscription; Team accounts serve it on their vanity subdomain.'}, 'agent': {'type': 'string', 'maxLength': 64, 'description': "Name of the AI agent or app publishing this drop, e.g. 'chatgpt', 'claude', 'cursor'. AI agents: always set this."}, 'email': {'type': 'string', 'description': 'Contact email for an anonymous deploy: the one-time claim link is mailed to it, so the drop stays recoverable even if the claim_token from the response is lost. Pass it whenever the deploy is for a human. Ignored for authenticated deploys (those are owned already).'}, 'files': {'type': 'object', 'description': "Map of relative paths (e.g. 'index.html', 'css/app.css') to either a string, or { encoding: 'base64', content } for binary files.", 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'object', 'required': ['encoding', 'content'], 'properties': {'content': {'type': 'string'}, 'encoding': {'type': 'string', 'const': 'base64'}}}, {'type': 'object', 'required': ['content'], 'properties': {'content': {'type': 'string'}}}]}}, 'password': {'type': 'string', 'maxLength': 128, 'minLength': 8, 'writeOnly': True, 'description': 'Shared password: 8-128 Unicode characters, at most 512 UTF-8 bytes. Requires active paid Pro/Team. Sent privately, never in the URL or response. Omit on a live named redeploy to preserve protection. Recreating an expired or purged name is a new drop: send the password again.'}}}
出力スキーマ
{'type': 'object', 'required': ['slug', 'url', 'files', 'plan', 'expires_at', 'password_protected'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'plan': {'type': 'string'}, 'slug': {'type': 'string', 'description': 'Drop slug; the site is live at https://<slug>.ship.place/'}, 'files': {'type': 'array', 'items': {'type': 'string'}}, 'replaced': {'type': 'boolean', 'description': 'Present with named deploys; true when an existing drop was replaced'}, 'expires_at': {'type': ['string', 'null'], 'description': 'ISO timestamp, or null when the drop never expires'}, 'claim_token': {'type': 'string', 'description': 'One-time claim token (spc_...), present only on anonymous deploys and shown once. Anyone holding it can attach the drop to an account via claim_drop.'}, 'password_protected': {'type': 'boolean'}}}
入力スキーマ
{'type': 'object', 'required': ['html'], 'properties': {'ttl': {'type': 'integer', 'description': 'Lifetime in seconds (min 60). Anonymous: max 2592000 (30 days), default 30 days. Signed-in free: max 7776000 (90 days), default 90 days. Paid: any value, omit for no expiry.'}, 'html': {'type': 'string', 'description': 'The full HTML document to publish.'}, 'name': {'type': 'string', 'description': 'Stable name for a redeployable drop (1-41 chars of [a-z0-9-]). Requires an active subscription; Team accounts serve it on their vanity subdomain.'}, 'agent': {'type': 'string', 'maxLength': 64, 'description': "Name of the AI agent or app publishing this drop, e.g. 'chatgpt', 'claude', 'cursor'. AI agents: always set this."}, 'email': {'type': 'string', 'description': 'Contact email for an anonymous deploy: the one-time claim link is mailed to it, so the drop stays recoverable even if the claim_token from the response is lost. Pass it whenever the deploy is for a human. Ignored for authenticated deploys (those are owned already).'}, 'password': {'type': 'string', 'maxLength': 128, 'minLength': 8, 'writeOnly': True, 'description': 'Shared password: 8-128 Unicode characters, at most 512 UTF-8 bytes. Requires active paid Pro/Team. Sent privately, never in the URL or response. Omit on a live named redeploy to preserve protection. Recreating an expired or purged name is a new drop: send the password again.'}}}
出力スキーマ
{'type': 'object', 'required': ['slug', 'url', 'files', 'plan', 'expires_at', 'password_protected'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'plan': {'type': 'string'}, 'slug': {'type': 'string', 'description': 'Drop slug; the site is live at https://<slug>.ship.place/'}, 'files': {'type': 'array', 'items': {'type': 'string'}}, 'replaced': {'type': 'boolean', 'description': 'Present with named deploys; true when an existing drop was replaced'}, 'expires_at': {'type': ['string', 'null'], 'description': 'ISO timestamp, or null when the drop never expires'}, 'claim_token': {'type': 'string', 'description': 'One-time claim token (spc_...), present only on anonymous deploys and shown once. Anyone holding it can attach the drop to an account via claim_drop.'}, 'password_protected': {'type': 'boolean'}}}
入力スキーマ
{'type': 'object', 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['accountId', 'plan', 'activeSubscription'], 'properties': {'plan': {'type': 'string', 'description': 'free | pro | team'}, 'cancelAt': {'type': ['string', 'null']}, 'accountId': {'type': 'string'}, 'portalAvailable': {'type': 'boolean'}, 'currentPeriodEnd': {'type': ['string', 'null']}, 'activeSubscription': {'type': 'boolean'}}}
入力スキーマ
{'type': 'object', 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['plans'], 'properties': {'plans': {'type': 'object', 'description': 'Plan matrix: anonymous, pro, team'}, 'account': {'type': 'object', 'required': ['accountId', 'plan', 'activeSubscription'], 'properties': {'plan': {'type': 'string', 'description': 'free | pro | team'}, 'cancelAt': {'type': ['string', 'null']}, 'accountId': {'type': 'string'}, 'portalAvailable': {'type': 'boolean'}, 'currentPeriodEnd': {'type': ['string', 'null']}, 'activeSubscription': {'type': 'boolean'}}, 'description': 'Present when an sp_ API key was supplied'}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max drops to return (1-500, default 100).'}, 'offset': {'type': 'integer', 'description': 'Number of drops to skip (default 0).'}}}
出力スキーマ
{'type': 'object', 'required': ['total', 'drops'], 'properties': {'drops': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'url', 'password_protected'], 'properties': {'url': {'type': 'string'}, 'name': {'type': ['string', 'null']}, 'slug': {'type': 'string'}, 'created_at': {'type': 'string'}, 'expires_at': {'type': ['string', 'null']}, 'file_count': {'type': 'integer'}, 'updated_at': {'type': 'string'}, 'redeploy_count': {'type': 'integer'}, 'password_protected': {'type': 'boolean'}}}}, 'total': {'type': 'integer'}}}
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'The drop slug (the subdomain part of its URL).'}}}
出力スキーマ
{'type': 'object', 'required': ['slug', 'password_protected'], 'properties': {'slug': {'type': 'string'}, 'password_protected': {'type': 'boolean'}}}
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'The drop slug (the subdomain part of its ${domain} URL).'}}}
出力スキーマ
{'type': 'object', 'required': ['slug', 'restored', 'expires_at', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'restored': {'type': 'boolean', 'description': 'False when the drop was not expired and nothing changed'}, 'expires_at': {'type': ['string', 'null'], 'description': 'ISO timestamp after the restore, or null when the drop never expires'}}}
入力スキーマ
{'type': 'object', 'required': ['slug', 'password'], 'properties': {'slug': {'type': 'string', 'description': 'The drop slug (the subdomain part of its URL).'}, 'password': {'type': 'string', 'maxLength': 128, 'minLength': 8, 'writeOnly': True, 'description': 'Shared password: 8-128 Unicode characters, at most 512 UTF-8 bytes. Requires active paid Pro/Team. Sent privately, never in the URL or response. Omit on a live named redeploy to preserve protection. Recreating an expired or purged name is a new drop: send the password again.'}}}
出力スキーマ
{'type': 'object', 'required': ['slug', 'password_protected'], 'properties': {'slug': {'type': 'string'}, 'password_protected': {'type': 'boolean'}}}
最近のツール変更
類似のMCPサーバー
shiply
Publishes and manages web applications with SQL databases, serverless functions, domains, email tests, client intake, contracts, …
Fine Structure
Builds and hosts full-stack applications from prompts and supports agent communication through WhatsApp and email.
mcp
Provisions and manages cloud instances, networks, storage, databases, backups, VPNs, application deployments, and autocoding-agen…
EchoRelay
Manages a hosted API relay runtime, including projects, endpoints, credentials, publishing, keys, delivery logs, and dead-letter …
Supero
Builds, validates, publishes, tests, and deploys multi-tenant applications with schemas, CRUD operations, external data connector…
Replicate
Provides access to Replicate models, versions, collections, hardware, predictions, and deployments for running and managing hoste…
Relin
Configures webhook sources and destinations, monitors delivery health, investigates failures, manages retries, and replays events.
Scalix Cloud
Provides managed databases, SQL tools, container builds, persistent Linux machines, domains, scheduled functions, storage, and pr…