# MCP

> One URL for any MCP client: tools to publish sites and manage domains, with nothing to install and no account needed to deploy.

Source: https://docs.shipstatic.com/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](https://chatgpt.com/plugins/plugin_asdk_app_6a06f62b2f50819181136d58192063d1). 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](https://www.shipstatic.com/agents).

**Claude Code**

```bash
claude mcp add --transport http shipstatic https://mcp.shipstatic.com
```

**Cursor, Antigravity, Windsurf, n8n, Zed and anywhere else with `mcp.json`**

```json
{
  "mcpServers": {
    "shipstatic": {
      "url": "https://mcp.shipstatic.com"
    }
  }
}
```

**OpenClaw**

```bash
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`.

```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](https://docs.shipstatic.com/cli) set up with your [API Key](https://docs.shipstatic.com/api-key).

**VS Code**: install the [ShipStatic extension](https://marketplace.visualstudio.com/items?itemName=shipstatic.shipstatic). 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:

```text
✓ 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):

1. Agent calls `deployments_upload` with files
2. Response has `url` (live now) and `claim` (visit to keep)
3. Agent shows you both URLs

**Custom domain** (with an account):

1. `domains_validate` to check availability
2. `domains_set` to create or link
3. `domains_records` to get DNS records and show them to you
4. `domains_dns` to identify your DNS provider (optional)
5. `domains_verify` after you set up DNS

## Prefer to run it yourself?

The same fifteen tools also run as a local process, published as [`@shipstatic/mcp`](https://www.npmjs.com/package/@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](https://docs.shipstatic.com/cli) instead: it reads the files from disk, and the hosted endpoint only receives files sent inline.

To add the local server:

```bash
claude mcp add shipstatic -e SHIP_TOKEN=ship-your-api-key -- npx -y @shipstatic/mcp
```

Or in any `mcp.json`:

```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](https://docs.shipstatic.com/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](https://www.npmjs.com/package/@shipstatic/mcp) • [GitHub](https://github.com/shipstatic/mcp) • [MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers?search=com.shipstatic/mcp) • [Smithery](https://smithery.ai/servers/shipstatic/ship) • [Glama](https://glama.ai/mcp/servers/shipstatic/mcp)

## Agents that run shell commands

If your agent can run a terminal command, it does not need MCP at all. The [CLI](https://docs.shipstatic.com/cli) publishes with nothing installed and nothing configured:

```bash
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](https://docs.shipstatic.com/skill) is a single file that teaches any agent to use it.
