Your agent ships.
One command, or one URL. Either way your agent can publish a website in its next message. Free, with no signup and no API key.
Paste this to your agent
Publish my site with ShipStatic. It's free and needs no account. Run: npx -y @shipstatic/ship ./dist Show me both URLs it returns: the live site and the claim link. Agent docs: https://www.shipstatic.com/llms.txt
If it can run a command
npx -y @shipstatic/ship ./dist
Nothing to install and nothing to configure, on your side or theirs. This is what most agents reach for.
If it speaks MCP
https://mcp.shipstatic.com
Add the URL to your client once and your agent gets fifteen native tools, no shell required.
Works with any agent that can run a command, and with
Nothing was installed and nothing was configured before that. An agent with a shell can do this today; an MCP client calls deployments_upload and gets the same two URLs back.
What you can ask
"Ship the dist folder."
"Publish my Vite build to a live URL."
"Deploy and password-protect with preview2026."
"Re-publish with the new files."
"Ship it to a temporary URL I can send to my client."
"Tag this deployment v1.2 and publish it."
Connect an account, which your client offers the first time you ask for something that needs one, and your agent can also list deployments, link custom domains, switch live versions, and look up DNS records: "Connect www.example.com to the latest deployment" or "Show me the DNS records I need to set up."
How it works
01. Publish
Agent uploads files. Site is live instantly at a unique URL. Free, with no account and no API key.
02. Claim
The response includes a claim URL, and a good agent always shows it to you. It is the only way the site outlives 3 days, and nothing can recover it afterwards.
03. Keep
Claimed sites are permanent. Unclaimed deployments expire after 3 days. Connect an account and they never expire at all.
Run one command
If your agent can run a shell command, there is nothing to set up on either side. npx fetches the CLI on first use and publishes whatever folder you point it at.
npx -y @shipstatic/ship ./dist
Four things worth telling your agent:
- Keep the
-y. Without itnpxstops at an install prompt, and a non-interactive runtime waits there forever. - Point it at built output, so
./dist,./buildor./out, never a project root. Build first if the project needs it. - Add
--jsonto read the result. It prints machine-readable output on success and on failure; branch onerrorandstatus, never on the message text. - Always show both URLs. The live one, and the claim link. That link is the only thing that keeps the site past 3 days.
Or add one URL
If your agent has no shell, or you would rather it had native tools than a command to remember: same URL, every client. Drop it into your MCP config and your agent picks it up on the next session.
Claude Code
claude mcp add --transport http shipstatic https://mcp.shipstatic.com
Cursor, Antigravity, Windsurf, n8n, Zed, anywhere with mcp.json
{
"mcpServers": {
"shipstatic": {
"url": "https://mcp.shipstatic.com"
}
}
}
Claude Desktop, Claude.ai web: add a custom connector pointing at https://mcp.shipstatic.com.
VS Code: install the ShipStatic extension. The MCP server is built in.
Publishing needs no account
Straight away
Add the URL and your agent can publish. No signup, no API key, nothing to approve. Every site comes back with a live link to share and a claim link to keep it. Unclaimed sites stay up for 3 days.
Once you connect an account
Ask for something that needs one, like "list my deployments", and your client offers to sign you in. Approve once and all fifteen tools answer: your deployments, your custom domains, and sites that never expire.
Connecting is optional and reversible. You can disconnect from the same place in your client at any time, and publishing without an account keeps working exactly as it did.
Prefer to run it yourself?
The same fifteen tools also run as a local process. Reach for it when your agent needs to publish a folder on your own machine, since the URL above takes files inline and has no path to read from. It also helps when you would rather configure a free API key once than sign in, or when your client does not speak OAuth yet.
claude mcp add shipstatic -e SHIP_TOKEN=ship-your-api-key -- npx -y @shipstatic/mcp
SHIP_TOKEN takes your API key. It is one credential with two names: the console mints it as an API key, and every setting that carries it is called the token.
MCP docs · npm · GitHub · MCP Registry
More ways in
Every one of these publishes with no account and returns the same live URL and claim link. Choose by what your agent can already do.
Skill
If you want the agent to learn the whole workflow. One markdown file that teaches domains and rollbacks too, not just the first publish.
curl --create-dirs -so .claude/skills/ship/SKILL.md https://www.shipstatic.com/SKILL.md
SDK
If you are building the agent yourself. Same package as the CLI, typed. new Ship().deploy('./dist')
n8n
If your agent lives in an n8n workflow. A native node your AI Agent can call as a tool, covering publishing plus domains, with no credentials needed to start.
n8n-nodes-shipstatic
Machine-readable documentation
llms.txt: platform summary with links
llms-full.txt: complete documentation in a single file
SKILL.md: agent skill instructions
.well-known/mcp.json: MCP server discovery