MCP
One URL. Your agent ships.
https://mcp.shipstatic.com
Drop that URL into any MCP client. Your agent can publish a static site in its next message. Free, no install, no signup, no API key. You get a live URL and a claim link. Open the claim link to keep the site; without it, the site stays up for 3 days.
Connect an account and the same URL answers with the rest: your list of sites, names and custom domains, and sites that never expire. Connecting is optional, and publishing without an account keeps working exactly as it does today.
Add it to your client
ChatGPT: add the ShipStatic plugin from its page in ChatGPT. There is nothing to paste.
Claude (desktop and web): open Settings, then Connectors, and add a custom connector with https://mcp.shipstatic.com.
Step by step for both: shipstatic.com/agents.
Claude Code
claude mcp add --transport http shipstatic https://mcp.shipstatic.com
Cursor, Antigravity, Windsurf, n8n, Zed and anywhere else with mcp.json
{
"mcpServers": {
"shipstatic": {
"url": "https://mcp.shipstatic.com"
}
}
}
OpenClaw
openclaw mcp add shipstatic --url https://mcp.shipstatic.com --transport streamable-http --auth oauth
Publishing works straight away. To connect your account later, run openclaw mcp login shipstatic.
Hermes: add this to ~/.hermes/config.yaml.
mcp_servers:
shipstatic:
url: https://mcp.shipstatic.com
Hermes connects with no account, so publishing works straight away. To keep sites in your account, publish with the CLI set up with your API Key.
VS Code: install the ShipStatic extension. The server is built in, with no config at all.
That's it. Your agent can ship.
What you can ask
Say any of these to your agent. No account needed:
"Publish this with ShipStatic."
"Publish this with ShipStatic's built-in password protection."
"Publish the new version with ShipStatic."
Saying "built-in" matters: your agent then uses ShipStatic's own password protection and does not write one itself.
Your agent calls deployments_upload and shows you:
✓ Live: https://happy-cat-abc1234.shipstatic.com
Visit https://my.shipstatic.com/claim/... within 3 days to keep this deployment permanently.
Once you claim it, the deployment is yours and never expires.
Connect an account
Nothing to configure. Ask your agent for something that needs an account, like "show me my ShipStatic sites", and your client will offer to sign you in. Approve the permissions once and the whole toolset is available:
"Show me my ShipStatic sites."
"Give my site the name yourproject."
"Point www.yourname.com at my ShipStatic site."
"Show me the DNS records I need to set up."
"Point my domain at the previous version."
Connected deployments never expire, and you can pass a ttl when you want one that cleans itself up.
You can disconnect at any time from the same place in your client. Access is scoped and expires; it never includes creating API keys or deleting your account.
Tools
Fifteen tools, the same whichever way you connect. What changes is not which tools exist, but which ones answer.
Publishing, no account needed
| Tool | Description |
|---|---|
deployments_upload |
Publish files as a new deployment (supports password) |
Deployments, with an account
| Tool | Description |
|---|---|
deployments_list |
List all deployments |
deployments_get |
Show deployment details by hostname |
deployments_set |
Update deployment labels |
deployments_delete |
Delete a deployment permanently |
Domains, with an account
| Tool | Description |
|---|---|
domains_set |
Create a domain, link to deployment, or update labels |
domains_list |
List all domains |
domains_get |
Show domain details |
domains_records |
Get required DNS records for a domain |
domains_dns |
Look up the DNS provider for a domain (e.g. Cloudflare, Namecheap) |
domains_share |
Get a shareable DNS setup link: anyone with it can view the records without an API key |
domains_validate |
Check if a domain name is valid and available |
domains_verify |
Trigger DNS verification after records are set |
domains_delete |
Delete a domain permanently |
Account, with an account
| Tool | Description |
|---|---|
whoami |
Show current account info |
Typical workflows
Publish with no account (nothing to set up):
- Agent calls
deployments_uploadwith files - Response has
url(live now) andclaim(visit to keep) - Agent shows you both URLs
Custom domain (with an account):
domains_validateto check availabilitydomains_setto create or linkdomains_recordsto get DNS records and show them to youdomains_dnsto identify your DNS provider (optional)domains_verifyafter you set up DNS
Prefer to run it yourself?
The same fifteen tools also run as a local process, published as @shipstatic/mcp on npm. Use it when you would rather set a key once than sign in, or when your client does not speak OAuth yet. To publish a folder on your own machine, your agent uses the CLI instead: it reads the files from disk, and the hosted endpoint only receives files sent inline.
To add the local server:
claude mcp add shipstatic -e SHIP_TOKEN=ship-your-api-key -- npx -y @shipstatic/mcp
Or in any mcp.json:
{
"mcpServers": {
"shipstatic": {
"command": "npx",
"args": ["-y", "@shipstatic/mcp"],
"env": {
"SHIP_TOKEN": "ship-your-api-key"
}
}
}
}
SHIP_TOKEN is optional and takes a free API Key. Without it, deploys are public with a claim link and expire in 3 days. With it, they go to your account and never expire: the same two states connecting gives you on the hosted endpoint.
NPM • GitHub • MCP Registry • Smithery • Glama
Agents that run shell commands
If your agent can run a terminal command, it does not need MCP at all. The CLI publishes with nothing installed and nothing configured:
npx @shipstatic/ship ./dist
Same platform, same publish with no account, same claim link. Many agents use this first because there is no client configuration to add. The Skill is a single file that teaches any agent to use it.