Spaceship MCP服务器

一个社区构建的模型上下文协议(MCP)服务器,用于管理Spaceship API的域名、DNS记录、联系人、市场列表等,通过自然语言与任何兼容MCP的AI客户端交互。

  • by BartWaardenburg
  • TypeScript
  • 本地部署
  • 14 星标
  • 更新于
在 GitHub 查看 BartWaardenburg/spaceship-mcp

使用说明

mcp宇宙飞船

社区建设 模型上下文协议 (MCP)服务器 宇宙飞船 API管理域名、DNS记录、联系人、市场列表等,所有这些都可以通过任何兼容MCP的AI客户端通过自然语言完成。

注: 这是一个非官方的、由社区维护的项目,与Spaceship无关,也没有得到Spaceship的认可。

添加到编辑器

CLI单行程序——最快的入门方法。选择您的工具:

克劳德代码

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(谷歌)

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

设置环境变量 SPACESHIP_API_KEY 和 SPACESHIP_API_SECRET 单独通过 ~/.gemini/settings.json.

VS代码(副本)

打开命令选项板(Cmd+Shift+P / Ctrl+Shift+P) > MCP: Add Server >选择 命令(stdio).

或添加到 .vscode/mcp.json 在您的项目目录中:

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

光标

添加 .cursor/mcp.json (项目层面)或 ~/.cursor/mcp.json (全球):

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

支持的客户

此MCP服务器可与支持模型上下文协议的任何客户端配合使用,包括:

客户端 安装最简单
克劳德代码 一个衬垫: claude mcp add
Codex 命令行界面 (OpenAI) 单行: codex mcp add
双子星命令行工具 (谷歌) 一句话: gemini mcp add
VS Code (副驾驶) 命令面板: MCP: Add Server
克劳德桌面版 JSON配置文件
光标 JSON配置文件
帆板运动 JSON配置文件
克莱恩 UI设置
泽德 JSON设置文件
Claude Desktop, Cowork & other GUI clients (expand)

克劳德桌面/协作

Cowork在Claude Desktop内部运行,并使用相同的连接MCP服务器和权限。在Claude Desktop中配置一次,服务器就可以在Cowork中使用。

将以下内容添加到您的Claude Desktop配置文件中:

平台 配置文件
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
窗户 %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"
      }
    }
  }
}

风帆/克莱恩/泽德

帆板运动 --添加到 ~/.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"
      }
    }
  }
}

克莱恩 --打开“设置”>“MCP服务器”>“编辑”,然后添加相同的内容 mcpServers 如上图所示。

泽德 --添加到Zed设置(~/.zed/settings.json 在macOS上, ~/.config/zed/settings.json 在Linux上):

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

码头工人

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

通用MCP服务器配置

在任何主机中使用此作为基线:

  • 命令: npx
  • Args: ["-y", "spaceship-mcp"]
  • 必需的环境变量: SPACESHIP_API_KEY, SPACESHIP_API_SECRET
  • 可选环境变量: SPACESHIP_CACHE_TTL, SPACESHIP_MAX_RETRIES, SPACESHIP_TOOLSETS, SPACESHIP_DYNAMIC_TOOLS (参见 配置)

主机密钥映射:

主持人 顶级密钥 备注
VS代码 servers 添加 "type": "stdio" 在服务器对象上
克劳德桌面/光标/风帆/克莱恩 mcpServers 相同的命令/args/env块
Zed context_servers 相同的命令/args/env块
食品法典委员会CLI(TOML) mcp_servers 使用TOML,如下所示

Codex CLI(TOML配置替代)

如果你喜欢编辑 ~/.codex/config.toml 直接:

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

其他MCP客户端

对于任何兼容MCP的客户端,请使用以下服务器配置:

  • 命令: npx
  • Args: ["-y", "spaceship-mcp"]
  • 环境变量: SPACESHIP_API_KEY 和 SPACESHIP_API_SECRET

克劳德生态系统笔记

Claude目前有多个易于混淆的MCP相关概念:

  • 本地MCP服务器(克劳德桌面): 定义于 claude_desktop_config.json 然后在你的机器上开始(文档).
  • 合作: 重用Claude Desktop中连接的MCP服务器(文档).
  • 连接器: 在Claude中管理远程MCP集成(文档).
  • 协作插件: Claude特定的工作流打包(说明+工具/数据集成)(文档).在Claude中很有用,但不能作为其他代理客户端的通用MCP服务器配置进行移植。

根据供应商文件验证 2026-03-05.

术语

什么是可跨主机移植的:

  • MCP服务器运行时设置(command, args, env)
  • 运输模型(stdio 命令服务器)
  • 此服务器公开的工具名称和工具模式

什么是特定于主机/供应商的(不可移植):

特性

  • 48工具 涵盖整个API太空船的8个类别
  • 13种DNS记录类型 使用专用的类型安全创建工具(A、AAAA、ALIAS、CAA、CNAME、HTTPS、MX、NS、PTR、SRV、SVCB、TLSA、TXT)
  • 完整的域生命周期 --注册、续订、转移和还原域
  • SellerHub集成 --列出待售域名并生成结账链接
  • DNS对齐分析 --比较预期记录与实际记录以发现配置错误
  • WHOIS隐私和联系人管理 具有TLD特定的属性支持
  • 输入和输出验证 通过每个工具上的Zod模式实现安全、可预测的操作
  • 5 MCP资源 用于被动上下文加载(域列表、域详细信息、DNS记录、联系人、SellerHub)
  • 9 MCP提示 --5个引导式工作流程和4个自动完成论证的工作流程
  • 资源订阅 具有基于轮询的更改检测和自动通知功能
  • 响应缓存 具有可配置的TTL和写入时自动失效功能
  • 费率限制处理 具有指数回退和 Retry-After 标头支持
  • 工具集过滤 仅公开所需的工具类别
  • 动态刀具加载 具有约束上下文窗口的代理模式
  • 可操作的错误消息 具有上下文感知的恢复建议
  • Docker支持 用于集装箱化部署
  • 453个单元测试 几乎完全覆盖

配置

必需的

变量 描述
SPACESHIP_API_KEY 您的太空船API密钥
SPACESHIP_API_SECRET 你的太空船API秘密

在中生成您的凭据 API太空船经理.

可选的

变量 描述 默认值
SPACESHIP_CACHE_TTL 响应缓存生存期(秒)。设置为 0 禁用缓存。 120
SPACESHIP_MAX_RETRIES 具有指数回退的速率限制(429)请求的最大重试尝试次数。 3
SPACESHIP_TOOLSETS 要启用的工具类别的逗号分隔列表(请参见 工具集筛选). 所有工具集
SPACESHIP_DYNAMIC_TOOLS 设置为 true 启用动态刀具加载模式(请参见 动态工具加载). false

API密钥设置

创建API密钥

  1. 登录到您的 宇宙飞船帐户
  2. 导航至 API经理 (直接链接)
  3. 点击 新API密钥
  4. 为密钥命名(例如“MCP服务器”)
  5. 选择您需要的范围(见下文)
  6. 复制这两个 API密钥 和 API机密 --秘密只显示一次

可用范围

每个作用域控制对API太空船特定部分的访问。创建密钥时,仅启用所需的作用域。

范围 访问
domains:read 列出域、检查可用性、查看域详细信息和设置
domains:write 修改域设置(名称服务器、自动续订、联系人、隐私)
domains:billing 注册、续订、恢复和转移域(财务操作)
domains:transfer 传输锁、身份验证码和传输状态
contacts:read 读取已保存的联系人配置文件和属性
contacts:write 创建和更新联系人配置文件和属性
dnsrecords:read 列出域的DNS记录
dnsrecords:write 创建、更新和删除DNS记录
sellerhub:read 查看市场列表和验证记录
sellerhub:write 列出/删除待售域名,更新定价,生成结账链接
asyncoperations:read 异步操作的轮询状态(注册、续订、传输)

每个功能的范围

下表显示了每组工具所需的范围。

功能 工具 必需范围
DNS记录 list_dns_records dnsrecords:read
save_dns_records, delete_dns_records,全部 create_*_record 工具 dnsrecords:read dnsrecords:write
域名信息 list_domains, get_domain, check_domain_availability domains:read
域设置 update_nameservers, set_auto_renew, set_privacy_level, set_email_protection, update_domain_contacts domains:write
域生命周期 register_domain, renew_domain, restore_domain, transfer_domain domains:billing
转移 set_transfer_lock, get_auth_code, get_transfer_status domains:transfer
联系人 get_contact, get_contact_attributes contacts:read
save_contact, save_contact_attributes contacts:write
个人NS list_personal_nameservers, get_personal_nameserver domains:read
update_personal_nameserver, delete_personal_nameserver domains:write
卖家中心 list_sellerhub_domains, get_sellerhub_domain, get_verification_records sellerhub:read
create_sellerhub_domain, update_sellerhub_domain, delete_sellerhub_domain, create_checkout_link sellerhub:write
异步操作 get_async_operation asyncoperations:read
分析 check_dns_alignment dnsrecords:read

推荐范围预设

完全访问权限 --允许所有内容不受限制地使用:

domains:read  domains:write  domains:billing  domains:transfer
contacts:read  contacts:write
dnsrecords:read  dnsrecords:write
sellerhub:read  sellerhub:write
asyncoperations:read

仅DNS管理 --只需读取/写入DNS记录:

dnsrecords:read  dnsrecords:write

只读 --浏览域和记录而不进行更改:

domains:read  contacts:read  dnsrecords:read  sellerhub:read  asyncoperations:read

可用工具

DNS记录

工具 说明
list_dns_records 列出带分页的域的所有DNS记录
save_dns_records 保存(追加)DNS记录--替换具有相同名称和类型的记录
delete_dns_records 按名称和类型删除DNS记录

特定类型的记录创建

每种DNS记录类型都有一个具有类型安全参数和验证的专用工具。

工具 说明
create_a_record 创建A记录(IPv4地址)
create_aaaa_record 创建AAAA记录(IPv6地址)
create_alias_record 创建ALIAS记录(CNAME在区域顶点变平)
create_caa_record 创建CAA记录(证书颁发机构授权)
create_cname_record 创建CNAME记录(规范名称)
create_https_record 创建HTTPS记录(兼容SVCB)
create_mx_record 创建MX记录(邮件交换)
create_ns_record 创建NS记录(名称服务器委派)
create_ptr_record 创建PTR记录(反向DNS)
create_srv_record 创建SRV记录(服务定位器)
create_svcb_record 创建SVCB记录(一般服务绑定)
create_tlsa_record 创建TLSA记录(DANE/TLS证书关联)
create_txt_record 创建TXT记录(文本数据)

域管理

工具 说明
list_domains 按页码列出帐户中的所有域
get_domain 获取详细的域信息
check_domain_availability 一次检查最多20个域的可用性
update_nameservers 更新域的名称服务器
set_auto_renew 切换域的自动续订
set_transfer_lock 切换域的传输锁定
get_auth_code 获取传输认证/EPP代码

域生命周期

工具 说明
register_domain 注册新域(金融操作,异步)
renew_domain 续订域名注册(财务操作,异步)
restore_domain 从赎回宽限期恢复域(金融操作,异步)
transfer_domain 将域名转移到Spaceship(财务操作,异步)
get_transfer_status 检查域转移的状态
get_async_operation 通过异步操作的操作ID轮询其状态

联系人和隐私

工具 说明
save_contact 创建或更新可重复使用的联系人配置文件
get_contact 按ID检索已保存的联系人
save_contact_attributes 保存TLD特定的联系人属性(例如税务ID)
get_contact_attributes 检索所有存储的联系人属性
update_domain_contacts 更新域联系人(注册人、管理员、技术人员、账单)
set_privacy_level 设置WHOIS隐私级别(高或公开)
set_email_protection 在WHOIS中切换联系人表单显示

个人名称服务器

工具 说明
list_personal_nameservers 列出域的虚荣/粘合名称服务器
get_personal_nameserver 按主机名获取个人名称服务器的详细信息
update_personal_nameserver 创建或更新个人名称服务器(粘合记录)
delete_personal_nameserver 删除个人名称服务器

卖家中心

工具 说明
list_sellerhub_domains 列出市场上待售的域名
create_sellerhub_domain 列出待售域名及其定价
get_sellerhub_domain 获取房源详情
update_sellerhub_domain 更新列表显示名称、描述和定价
delete_sellerhub_domain 从市场中删除列表
create_checkout_link 为列表生成立即购买结账链接
get_verification_records 获取列表的DNS验证记录

分析

工具 说明
check_dns_alignment 比较预期与实际的DNS记录,以检测丢失或意外的条目

MCP资源

资源提供被动上下文,客户端可以在不调用工具的情况下加载。

资源 URI 描述
域名列表 spaceship://domains 帐户中的所有域
域名详细信息 spaceship://domains/{domain} 特定域的详细信息
DNS记录 spaceship://domains/{domain}/dns 特定域的DNS记录
域联系人 spaceship://domains/{domain}/contacts 域的联系人分配
SellerHub列表 spaceship://sellerhub 所有SellerHub市场列表

支持资源订阅的客户端将在数据更改时收到自动通知(每30秒轮询一次)。

MCP提示

提示提供了指导性的工作流程,客户端可以将其显示为斜线命令或快速操作。

引导式工作流程

提示 描述
setup-domain 注册并配置新域(可用性检查、注册、DNS、隐私)
audit-domain 现有域的健康检查(状态、DNS、隐私、自动续订、联系人)
setup-email 为Google Workspace、Microsoft 365、Fastmail或自定义提供商配置电子邮件DNS记录
migrate-dns 将DNS记录迁移到Spaceship的分步指南
list-for-sale 在SellerHub市场上列出带有定价和结账链接的域名

自动完成提示

这些提示支持域名和常用值的参数自动补全:

提示 描述
domain-lookup 使用域名自动补全功能查找域名详细信息
dns-records 列出具有域和记录类型自动完成的DNS记录
set-privacy 通过域和级别自动完成设置WHOIS隐私
update-nameservers 使用域和提供程序自动完成更新名称服务器

工具集筛选

通过仅启用所需的工具类别来减少上下文窗口的使用。设置 SPACESHIP_TOOLSETS 将环境变量转换为逗号分隔的列表:

SPACESHIP_TOOLSETS=dns,domains
工具集 包含的工具
domains 域管理和生命周期工具
dns DNS记录、记录创建者和分析
contacts 联系人和隐私管理
privacy 隐私管理(与 contacts)
nameservers 个人名称服务器管理
sellerhub SellerHub市场工具
availability 域可用性检查

如果未设置,则启用所有工具集。无效名称将被忽略;如果所有名称都无效,则启用所有工具集作为回退。

动态工具加载

对于具有受限上下文窗口的代理,动态模式将所有48个工具替换为3个轻量级元工具:

SPACESHIP_DYNAMIC_TOOLS=true
元工具 描述
search_tools 按关键字搜索可用工具,以发现可用工具
describe_tools 在执行之前,获取一个或多个工具的完整参数模式
execute_tool 按名称和参数执行任何Spaceship工具

工作流程:

  1. search_tools({ query: "dns" }) --发现相关工具
  2. describe_tools({ tools: ["create_a_record"] }) --获取完整的参数模式
  3. execute_tool({ tool: "create_a_record", arguments: { ... } }) --执行

资源、提示和完成在动态模式下仍然可用。

安全说明

  • 信任模型: 允许调用此MCP服务器的任何提示或代理都可以使用配置的凭据执行Spaceship API操作。
  • 最低权限凭据: 每个环境/团队/用例使用单独的Spaceship API密钥,并仅启用所需的范围(请参见 可用范围).
  • 书面行动批准: 为变异工具启用主机端审批(register_domain, create_*, update_*, delete_*, save_*, set_*和生命周期操作)。
  • 团队配置治理: 将共享MCP配置保留在版本控制中,要求检查命令/args/env/toolset过滤的更改,并将机密保存在vault或主机机密管理器中(而不是纯文本仓库文件中)。

示例用法

连接后,您可以使用自然语言与太空船API进行交互:

  • “列出我的所有域名”
  • “检查example.com是否可用于注册”
  • “为api.example.com创建指向203.0.113.10的A记录”
  • “为example.com设置MX记录以使用谷歌工作区”
  • “在example.com上启用WHOIS隐私”
  • “检查example.com的DNS记录是否符合我的期望”
  • “在SellerHub上列出我的待售域名”
  • “将example.com转移到宇宙飞船”

社区

发展

# Install dependencies
pnpm install

# Run in development mode
pnpm dev

# Build for production
pnpm build

# Run tests
pnpm test

# Type check
pnpm typecheck

项目结构

src/
  index.ts                    # Entry point (stdio transport)
  server.ts                   # MCP server setup, toolset filtering, feature registration
  spaceship-client.ts         # Spaceship API HTTP client with caching and retry
  cache.ts                    # TTL-based in-memory response cache
  schemas.ts                  # Shared Zod validation schemas
  output-schemas.ts           # Zod output schemas for all 48 tools
  types.ts                    # TypeScript interfaces
  tool-result.ts              # Error formatting with recovery suggestions
  resources.ts                # MCP Resources (5 resources)
  resource-subscriptions.ts   # Polling-based resource change notifications
  prompts.ts                  # MCP Prompts (5 guided workflows)
  completions.ts              # MCP Prompts with argument auto-complete (4 prompts)
  dynamic-tools.ts            # Dynamic tool loading meta-tools
  dns-utils.ts                # DNS record formatting utilities
  update-checker.ts           # NPM update notifications
  tools/
    dns-records.ts            # List, save, delete DNS records
    dns-record-creators.ts    # 13 type-specific DNS record creation tools
    domain-management.ts      # Domain listing, settings, nameservers
    domain-lifecycle.ts       # Registration, renewal, transfer, restore
    contacts-privacy.ts       # Contact profiles and WHOIS privacy
    personal-nameservers.ts   # Vanity/glue nameserver management
    sellerhub.ts              # Marketplace listing and checkout tools
    analysis.ts               # DNS alignment analysis

需求

许可证

麻省理工学院-见 许可证 了解详情。