Purpose
spaceship-mcp is a community-built, unofficial Model Context Protocol (MCP) server for interfacing with the Spaceship API. It enables any MCP-compatible AI client to perform management operations such as domains, DNS, contacts, and marketplace listings through natural language.
Main Capabilities
- 48 tools, covering 8 categories, corresponding to the complete Spaceship API.
- 13 DNS record types (A, AAAA, ALIAS, CAA, CNAME, HTTPS, MX, NS, PTR, SRV, SVCB, TLSA, TXT) all have dedicated type-safe creation tools.
- Complete domain lifecycle: registration, renewal, transfer, restoration.
- SellerHub integration: list domains for sale and generate checkout links.
- DNS alignment analysis: compare expected records with actual records to discover misconfigurations.
- WHOIS privacy and contact management, supporting TLD-specific attributes.
- Every tool performs input and output validation through Zod schemas, ensuring operations are safe and predictable.
- 5 MCP Resources for passively loading context (domain list, domain details, DNS records, contacts, SellerHub).
- 9 MCP Prompts: 5 guided workflows and 4 prompts supporting parameter autocompletion.
- Resource subscriptions, polling every 30 seconds to detect changes and automatically notify.
- Response caching, with configurable TTL and automatic invalidation on writes.
- Rate limit handling, supporting exponential backoff and the Retry-After header.
- Toolset filtering, exposing only the required tool categories.
- Dynamic tool loading mode, suitable for agents with limited context windows.
- Actionable error messages, providing context-aware recovery suggestions.
- Docker support for containerized deployment.
- 453 unit tests, with near-complete coverage.
Usage
Before use, credentials must be generated in the Spaceship API Manager. Steps: log in to your Spaceship account; go to API Manager; click New API key; give the key a descriptive name (such as "MCP Server"); select the required scopes; copy the API key and API secret (the secret is shown only once).
Each scope controls access to a specific part of the Spaceship API, and only the needed scopes should be enabled when creating a key. The mapping between toolsets and required scopes is described in a table in the project. Recommended scope presets include: full access (enable all), DNS management only (read and write DNS records), read-only (browse domains and records without making changes).
General MCP server configuration:
- Command: npx
- Args: ["-y", "spaceship-mcp"]
- Required environment variables: SPACESHIP_API_KEY, SPACESHIP_API_SECRET
- Optional environment variables: SPACESHIP_CACHE_TTL, SPACESHIP_MAX_RETRIES, SPACESHIP_TOOLSETS, SPACESHIP_DYNAMIC_TOOLS
Supported clients include: Codex CLI (OpenAI), Gemini CLI (Google), VS Code (Copilot), Claude Desktop / Cowork, Windsurf / Cline / Zed, and any MCP-compatible client.
Note on the Claude ecosystem: Claude currently has multiple easily confused MCP-related concepts—local MCP servers (defined in Claude Desktop in claude_desktop_config.json, launched on the user's machine), Cowork (reuses MCP servers connected in Claude Desktop), Connectors (remote MCP integrations managed in Claude), Cowork plugins (Claude-specific workflow packaging, not general MCP server configuration).
What can be ported across hosts: MCP server runtime settings (command, args, env), transport model (stdio command server), and the tool names and tool schemas exposed by this server.
What is host/vendor-specific and cannot be directly ported: host configuration key names (servers, mcpServers, context_servers, mcp_servers), the host UX/workflow for adding servers (CLI commands, UI menus, settings paths), Anthropic Specific concepts (Claude Desktop local MCP server, Claude Connectors via remote MCP, Claude Code plugins used in Cowork workflows).
Toolset filtering: Set a comma-separated list via the SPACESHIP_TOOLSETS environment variable to reduce context window usage. When unset, all toolsets are enabled; invalid names are ignored; if all names are invalid, it falls back to enabling all toolsets.
Dynamic tool loading: For agents with limited context windows, dynamic mode replaces all 48 tools with 3 lightweight meta-tools:
- search_tools({ query: "dns" }) — discover relevant tools
- describe_tools({ tools: ["create_a_record"] }) — get the full parameter schema
- execute_tool({ tool: "create_a_record", arguments: { ... } }) — execute Resources, prompts, and completions remain available in dynamic mode.
Natural language interaction examples:
- "List all my domains"
- "Check whether example.com is available for registration"
- "Create an A record for api.example.com pointing to 203.0.113.10"
- "Set up MX records for example.com using Google Workspace"
- "Enable WHOIS privacy on example.com"
- "Check whether example.com's DNS records match expectations"
- "List the domains I have for sale on SellerHub"
- "Transfer example.com to Spaceship"
Use cases
Users and teams that need to manage Spaceship domains, DNS records, contacts, and marketplace listings in bulk or quickly via natural language with an AI client. Suitable for scenarios where you want to bring domain operations into agent workflows, or need type-safe DNS operations and DNS alignment checks.
Limitations and security
- This project is community-maintained and unofficial, with no affiliation or endorsement relationship with Spaceship.
- Requires a Spaceship account and API credentials.
- Trust model: Anyone permitted to callprompts or agents using this MCP server can perform Spaceship API operations with the configured credentials.
- Least-privilege credentials are recommended: use separate Spaceship API keys per environment/team/use case, and enable only the required scopes.
- Host-side approval is recommended for mutating tools (register_domain, create_, update_, delete_, save_, set_*, and lifecycle operations).
- Team configuration governance: Put shared MCP configuration under version control, require review for changes to command/args/env/toolset filtering, and keep secrets in a vault or host secret manager, not in plaintext repository files.
- License: MIT, see LICENSE for details.
- For project structure, support, security reporting, contribution guidelines, issue feedback, etc., see the repository files: SUPPORT.md, SECURITY.md, CONTRIBUTING.md, Issues.