A side-by-side look at the Domain MCP and Shipstatic MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Domain MCP for cloud platforms work as a local process; choose Shipstatic MCP for cloud platforms as a local process. You can also run both side by side in one mcpServers block.
DYNADOT_API_KEY.SHIP_TOKEN.deployments_upload, deployments_list, deployments_get.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Cloud Platforms | Cloud Platforms |
| Quality signal | 40/100 · Fair | 65/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | Not declared |
| Pricing | BYOK (pay the provider) | Not declared |
| Required env vars | DYNADOT_API_KEY | SHIP_TOKEN |
| Verified owner | Community listing | Community listing |
| GitHub stars | 13 | 6 |
| Directory activity | 0 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | Not listed | 15 |
| Full listing | View Domain MCP | View Shipstatic MCP |
No tool names declared yet. Check the project README from the listing page.
deployments_uploadDeploy a static site instantly: free, no account or API key required. Returns the live URL, file count, and size. Without SHIP_TOKEN, the response also includes a one-time claim URL, and the site expires in 3 days unless claimed. Pass `password` to make the site private.deployments_listList all deployments with their URLs, status, labels, and password protection state. The response's `cursor` is null on the last page; pass it back as `cursor` to fetch the next.deployments_getGet deployment details including URL, status, file count, size, labels, and password protection state.deployments_setUpdate deployment labels. Replaces all existing labels.deployments_deletePermanently deletes a deployment and its files.domains_setCreate or update a custom domain. Can reserve a name (omit deployment), link it to a deployment, switch deployments, or update labels. domains_records then returns the DNS records to configure.domains_listList all domains with their URLs, linked deployment, and `status`. The response's `cursor` is null on the last page; pass it back as `cursor` to fetch the next.domains_getGet domain details including URL, linked deployment, labels, and `status`: the one word saying what the domain needs from its owner (`unverified`, `unlinked`, `live`, `paused`).domains_recordsReturns the DNS records to configure at the domain's DNS provider. Call after domains_set. Custom domains only: a ShipStatic domain has no records to configure.domains_dnsReturns the DNS provider recorded for the domain, if known (e.g. Cloudflare, Namecheap): where its DNS records are configured. Custom domains only, and only while the domain is unverified; once its DNS is right there is nothing left to locate.domains_shareReturns a shareable DNS setup URL that needs no API key, for whoever manages the domain's DNS. Custom domains only, and only while the domain is unverified; a verified domain has no setup left to share.domains_validateCheck if a domain name is valid and available before creating it. Returns the normalized form and availability.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"joachimbrindeau-domain-mcp": {
"command": "npx",
"args": [
"-y",
"domain-mcp"
],
"env": {
"DYNADOT_API_KEY": "YOUR_DYNADOT_API_KEY_HERE"
}
}
}
}
{
"mcpServers": {
"shipstatic-mcp": {
"command": "npx",
"args": [
"-y",
"@shipstatic/mcp"
],
"env": {
"SHIP_TOKEN": "YOUR_SHIP_TOKEN_HERE"
}
}
}
}