Back to MCP Servers

Spaceship

Manage domains, DNS records, contacts, marketplace listings, and more via the Spaceship API

cloud-platformsapiai
By bartwaardenburg
83Updated 3 months agoTypeScriptMIT

Installation

npx -y spaceship-mcp

Configuration

{
  "mcpServers": {
    "spaceship-mcp": {
      "command": "npx",
      "args": ["-y", "spaceship-mcp"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes

spaceship-mcp

npm version License: MIT Node.js CI Coverage MCP

A community-built Model Context Protocol (MCP) server for the Spaceship API. Manage domains, DNS records, contacts, marketplace listings, and more — all through natural language via any MCP-compatible AI client.

Note: This is an unofficial, community-maintained project and is not affiliated with or endorsed by Spaceship.

Add To Your Editor

CLI one-liners — the fastest way to get started. Pick your tool:

Claude Code

claude mcp add --scope user spaceship-mcp \
  --env SPACESHIP_API_KEY=your-key \
  --env SPACESHIP_API_SECRET=your-secret \
  -- npx -y spaceship-mcp

Codex CLI (OpenAI)

codex mcp add spaceship-mcp \
  --env SPACESHIP_API_KEY=your-key \
  --env SPACESHIP_API_SECRET=your-secret \
  -- npx -y spaceship-mcp

Gemini CLI (Google)

gemini mcp add spaceship-mcp -- npx -y spaceship-mcp

Set environment variables SPACESHIP_API_KEY and SPACESHIP_API_SECRET separately via ~/.gemini/settings.json.

VS Code (Copilot)

Open the Command Palette (Cmd+Shift+P / Ctrl+Shift+P) > MCP: Add Server > select Command (stdio).

Or add to .vscode/mcp.json in your project directory:

{
  "servers": {
    "spaceship-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "spaceship-mcp"],
      "env": {
        "SPACESHIP_API_KEY": "your-key",
        "SPACESHIP_API_SECRET": "your-secret"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "spaceship-mcp": {
      "command": "npx",
      "args": ["-y", "spaceship-mcp"],
      "env": {
        "SPACESHIP_API_KEY": "your-key",
        "SPACESHIP_API_SECRET": "your-secret"
      }
    }
  }
}

Supported Clients

This MCP server works with any client that supports the Model Context Protocol, including:

ClientEasiest install
Claude CodeOne-liner: claude mcp add
Codex CLI (OpenAI)One-liner: codex mcp add
Gemini CLI (Google)One-liner: gemini mcp add
VS Code (Copilot)Command Palette: MCP: Add Server
Claude DesktopJSON config file
CursorJSON config file
WindsurfJSON config file
ClineUI settings
ZedJSON settings file
<details> <summary><strong>Claude Desktop, Cowork & other GUI clients (expand)</strong></summary>

Claude Desktop / Cowork

Cowork runs inside Claude Desktop and uses the same connected MCP servers and permissions. Configure once in Claude Desktop, then the server is available in Cowork.

Add the following to your Claude Desktop config file:

PlatformConfig file
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "spaceship-mcp": {
      "command": "npx",
      "args": ["-y", "spaceship-mcp"],
      "env": {
        "SPACESHIP_API_KEY": "your-key",
        "SPACESHIP_API_SECRET": "your-secret"
      }
    }
  }
}

Windsurf / Cline / Zed

Windsurf — add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "spaceship-mcp": {
      "command": "npx",
      "args": ["-y", "spaceship-mcp"],
      "env": {
        "SPACESHIP_API_KEY": "your-key",
        "SPACESHIP_API_SECRET": "your-secret"
      }
    }
  }
}

Cline — open Settings > MCP Servers > Edit, then add the same mcpServers block shown above.

Zed — add to your Zed settings (~/.zed/settings.json on macOS, ~/.config/zed/settings.json on Linux):

{
  "context_servers": {
    "spaceship-mcp": {
      "command": "npx",
      "args": ["-y", "spaceship-mcp"],
      "env": {
        "SPACESHIP_API_KEY": "your-key",
        "SPACESHIP_API_SECRET": "your-secret"
      }
    }
  }
}

Docker

docker run -i --rm \
  -e SPACESHIP_API_KEY=your-key \
  -e SPACESHIP_API_SECRET=your-secret \
  ghcr.io/bartwaardenburg/spaceship-mcp

Generic MCP Server Config

Use this as the baseline in any host:

  • Command: npx
  • Args: ["-y", "spaceship-mcp"]
  • Required env vars: SPACESHIP_API_KEY, SPACESHIP_API_SECRET
  • Optional env vars: SPACESHIP_CACHE_TTL, SPACESHIP_MAX_RETRIES, SPACESHIP_TOOLSETS, SPACESHIP_DYNAMIC_TOOLS (see Configuration)

Host key mapping:

HostTop-level keyNotes
VS CodeserversAdd "type": "stdio" on the server object
Claude Desktop / Cursor / Windsurf / ClinemcpServersSame command/args/env block
Zedcontext_serversSame command/args/env block
Codex CLI (TOML)mcp_serversUses TOML, shown below

Codex CLI (TOML config alternative)

If you prefer editing ~/.codex/config.toml directly:

[mcp_servers.spaceship-mcp]
command = "npx"
args = ["-y", "spaceship-mcp"]
env = { "SPACESHIP_API_KEY" = "your-key", "SPACESHIP_API_SECRET" = "your-secret" }

Other MCP Clients

For any MCP-compatible client, use this server configuration:

  • Command: npx
  • Args: ["-y", "spaceship-mcp"]
  • Environment variables: SPACESHIP_API_KEY and SPACESHIP_API_SECRET

Claude Ecosystem Notes

Claude currently has multiple MCP-related concepts that are easy to mix up:

  • Local MCP servers (Claude Desktop): defined in claude_desktop_config.json and started on your machine (docs).
  • Cowork: reuses the MCP servers connected in Claude Desktop (docs).
  • Connectors: remote MCP integrations managed in Claude (docs).
  • Cowork plugins: Claude-specific workflow packaging (instructions + tools/data integrations) (docs). Useful in Claude, but not portable as a generic MCP server config for other agent clients.

Verified against vendor docs on 2026-03-05.

Terminology

What is portable across hosts:

  • MCP server runtime settings (command, args, env)
  • Transport model (stdio command server)
  • Tool names and tool schemas exposed by this server

What is host/vendor-specific (not portable as-is):

</details>

Features

  • 48 tools across 8 categories covering the full Spaceship API
  • 13 DNS record types with dedicated, type-safe creation tools (A, AAAA, ALIAS, CAA, CNAME, HTTPS, MX, NS, PTR, SRV, SVCB, TLSA, TXT)
  • Complete domain lifecycle — register, renew, transfer, and restore domains
  • SellerHub integration — list domains for sale and generate checkout links
  • DNS alignment analysis — compare expected vs actual records to catch misconfigurations
  • WHOIS privacy and contact management with TLD-specific attribute support
  • Input and output validation via Zod schemas on every tool for safe, predictable operations
  • 5 MCP Resources for passive context loading (domain list, domain details, DNS records, contacts, SellerHub)
  • 9 MCP Prompts — 5 guided workflows and 4 with argument auto-complete
  • Resource subscriptions with polling-based change detection and automatic notifications
  • Response caching with configurable TTL and automatic invalidation on writes
  • Rate limit handling with exponential backoff and Retry-After header support
  • Toolset filtering to expose only the tool categories you need
  • Dynamic tool loading mode for agents with constrained context windows
  • Actionable error messages with context-aware recovery suggestions
  • Docker support for containerized deployment
  • 453 unit tests with near-complete coverage

Configuration

Required

VariableDescription
SPACESHIP_API_KEYYour Spaceship API key
SPACESHIP_API_SECRETYour Spaceship API secret

Generate your credentials in the Spaceship API Manager.

Optional

VariableDescriptionDefault
SPACESHIP_CACHE_TTLResponse cache lifetime in seconds. Set to 0 to disable caching.120
SPACESHIP_MAX_RETRIESMaximum retry attempts for rate-limited (429) requests with exponential backoff.3
SPACESHIP_TOOLSETSComma-separated list of tool categories to enable (see Toolset Filtering).All toolsets
SPACESHIP_DYNAMIC_TOOLSSet to true to enable dynamic tool loading mode (see Dynamic Tool Loading).false

API Key Setup

Creating Your API Key

  1. Log in to your Spaceship account
  2. Navigate to API Manager (direct link)
  3. Click New API key
  4. Give the key a descriptive name (e.g. "MCP Server")
  5. Select the scopes you need (see below)
  6. Copy both the API key and API secret — the secret is only shown once

Available Scopes

Each scope controls access to a specific part of the Spaceship API. When creating your key, enable only the scopes you need.

ScopeAccess
domains:readList domains, check availability, view domain details and settings
domains:writeModify domain settings (nameservers, auto-renew, contacts, privacy)
domains:billingRegister, renew, restore, and transfer domains (financial operations)
domains:transferTransfer lock, auth codes, and transfer status
contacts:readRead saved contact profiles and attributes
contacts:writeCreate and update contact profiles and attributes
dnsrecords:readList DNS records for your domains
dnsrecords:writeCreate, update, and delete DNS records
sellerhub:readView marketplace listings and verification records
sellerhub:writeList/delist domains for sale, update pricing, generate checkout links
asyncoperations:readPoll status of async operations (registration, renewal, transfer)

Scopes Per Feature

The table below shows which scopes are required for each group of tools.

FeatureToolsRequired scopes
DNS Records`lis

View source on GitHub