Search / page.ship/ship-page
ship.page
R0· no sign-inDeploy HTML from any agent: POST markup, get a live URL. Static hosting API with MCP tools.
v1.0.0 · active · repository · website · descriptor JSON · versions
Search / page.ship/ship-page
R0· no sign-inDeploy HTML from any agent: POST markup, get a live URL. Static hosting API with MCP tools.
v1.0.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"ship-page": {
"type": "http",
"url": "https://ship.page/mcp"
}
}
}claude mcp add --transport http ship-page https://ship.page/mcp[mcp_servers.ship-page]
url = "https://ship.page/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ship-page": {
"type": "remote",
"url": "https://ship.page/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"ship-page": {
"type": "http",
"url": "https://ship.page/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=ship-page&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vc2hpcC5wYWdlL21jcCJ9"
}{
"servers": {
"ship-page": {
"type": "http",
"url": "https://ship.page/mcp"
}
}
}{
"mcpServers": {
"ship-page": {
"httpUrl": "https://ship.page/mcp"
}
}
}extensions:
"ship-page":
enabled: true
name: "ship-page"
type: streamable_http
uri: "https://ship.page/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltools/list carries no ttlMs, so clients re-fetch itauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations11 of 11 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 2,193 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes9 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagedeploy_fileschangedoutput schemadeploy_htmlchangedoutput schemaappend_fileschangeddescriptionAdd files to a drop owned by the authenticated account (requires an sp_ API key and an active subscription): up to 900 files per call, 10,000 per drop total, and existing paths are overwritten. The drop keeps its current expiry and password protection.
Add files to a drop owned by the authenticated account (requires an sp_ API key and an active subscription): up to 10,000 files per drop in total, and existing paths are overwritten. The drop keeps its current expiry and password protection.
deploy_fileschangeddescriptionDeploy a map of path -> content as a multi-file site (must include index.html to serve at the root). Anonymous: up to 100 files per request, 30-day expiry (90 days once signed in). Pro ($4/mo): up to 900 files, custom or no TTL, named drops.
Deploy a map of path -> content as a multi-file site (must include index.html to serve at the root). Anonymous: up to 100 files per request, 30-day expiry (90 days once signed in). Pro ($4/mo): up to 10,000 files, custom or no TTL, named drops.
restore_dropchangeddescriptionBring back an expired drop owned by the authenticated account while its files are still retained (requires an sp_ API key). Free accounts restore up to 30 days past expiry and the drop comes back at the 90-day lifetime; paid plans restore up to 90 days past expiry and the drop never expires again.
Bring back an expired drop owned by the authenticated account while its files are still retained (requires an sp_ API key), up to 90 days past expiry. Free accounts get the drop back at the 90-day lifetime; on a paid plan the restored drop never expires again.
deploy_fileschangedoutput schemadeploy_htmlchangeddescription, output schemaDeploy one HTML document and get back a live, unguessable https://<slug>.shipped.run/ URL. Anonymous: 10 deploys/min per IP, 10MB body cap, 30-day expiry. Pro ($4/mo): custom or no TTL, named drops.
Deploy one HTML document and get back a live, unguessable https://<slug>.ship.place/ URL. Anonymous: 10 deploys/min per IP, 10MB body cap, 30-day expiry. Pro ($4/mo): custom or no TTL, named drops.
deploy_fileschangedinput schemadeploy_htmlchangedinput schemaFull history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +dns-namespace +website +reachable +uptime-96% ~updated-62d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://ship.page/mcp streamable-http | none | yes | 96% | 519 ms | 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26 | 2026-10-19 |
append_filesdestructive | Add files to a drop owned by the authenticated account (requires an sp_ API key and an active subscription): up to 10,000 files per drop in total, and existing paths are overwritten. The drop keeps its current expiry and password protection. |
claim_dropdestructive | Attach an anonymously deployed drop to the authenticated account using its one-time claim token (spc_..., returned once by deploy_html/deploy_files). Claiming extends the drop to the free-account lifetime (90 days) and can revive an offline drop during its 30-day private recovery window. Claimed drops become listable, deletable, and — on paid plans — redeployable via named drops. Requires an sp_ API key. |
delete_dropdestructive | Permanently delete a drop owned by the authenticated account (requires an sp_ API key). The URL stops serving immediately and cannot be recovered. |
deploy_filesdestructive | Deploy a map of path -> content as a multi-file site (must include index.html to serve at the root). Anonymous: up to 100 files per request, 30-day expiry (90 days once signed in). Pro ($4/mo): up to 10,000 files, custom or no TTL, named drops. |
deploy_htmldestructive | Deploy one HTML document and get back a live, unguessable https://<slug>.ship.place/ URL. Anonymous: 10 deploys/min per IP, 10MB body cap, 30-day expiry. Pro ($4/mo): custom or no TTL, named drops. |
get_account | Show the authenticated account's plan, subscription status and usage (requires an sp_ API key). Anonymous callers should use get_limits for the static free-tier limits. |
get_limits | Show the ship.page plan matrix (anonymous free tier vs Pro $4/mo vs Team $19/mo) and, when an sp_ API key is present, the caller's current account/plan status. |
list_drops | List drops owned by the authenticated account (requires an sp_ API key; anonymous drops are not listable). Returns slug, url, name, file counts, expiry and password_protected, newest first. |
remove_drop_passworddestructive | Remove password protection from a drop you own, making it readable by anyone with its URL. Requires an sp_ API key; works even after your paid subscription lapses. |
restore_drop | Bring back an expired drop owned by the authenticated account while its files are still retained (requires an sp_ API key), up to 90 days past expiry. Free accounts get the drop back at the 90-day lifetime; on a paid plan the restored drop never expires again. |
set_drop_passworddestructive | Set or rotate the shared password on a drop you own. Requires an sp_ API key and active paid Pro/Team; unavailable billing returns an error, not a public drop. Visitors unlock in their browser. Never put the password in a URL. |
Schemas: list_tools.
{
"name": "page.ship/ship-page",
"icons": [
{
"src": "https://ship.page/favicon.png",
"mimeType": "image/png"
}
],
"title": "ship.page",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://ship.page/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"repository": {
"url": "https://github.com/bitgate/ship.page",
"source": "github"
},
"websiteUrl": "https://ship.page",
"description": "Deploy HTML from any agent: POST markup, get a live URL. Static hosting API with MCP tools."
}