mcpField
S
Spaceship Mcp

Spaceship Mcp

本地服务
github.com/bartwaardenburg云与基础设施1434 周前更新

关于 Spaceship Mcp

Spaceship Mcp 是社区构建的 MCP 服务,用于管理 Spaceship 域名、DNS、联系人和市场列表。它向兼容的 AI 客户端提供 API 工具、资源和引导式提示词。

主要功能

  1. 01管理域名注册与设置
  2. 02创建和管理 DNS 记录
  3. 03管理联系人与隐私设置
  4. 04处理 SellerHub 列表和结账链接
  5. 05分析 DNS 配置一致性
  6. 06提供资源和引导式提示词

适用场景

  1. 01通过 AI 客户端注册或续费域名
  2. 02查看并更新 DNS 记录
  3. 03检查域名市场列表
  4. 04比较 DNS 记录与预期设置

MCP 相关

它将 Spaceship API 操作作为 MCP 工具提供,并向 MCP 兼容客户端提供资源和提示词。需要 Spaceship API 凭据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"spaceship": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"\\"
]
}
}
}
启动命令docker run -i --rm '\'

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
oci\

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

spaceship-mcp

npm version License: MIT Node.js CI Coverage MCP

由社区构建的 Model Context Protocol(MCP)服务,用于调用 Spaceship API。通过任何兼容 MCP 的 AI 客户端,以自然语言管理域名、DNS 记录、联系人、市场列表等。

注意: 这是一个非官方、由社区维护的项目,与 Spaceship 无关联,也未获其认可。

添加到编辑器

CLI 单行命令——最快的入门方式。选择你的工具:

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

通过 ~/.gemini/settings.json 分别设置环境变量 SPACESHIP_API_KEY 和 SPACESHIP_API_SECRET。

VS Code(Copilot)

打开命令面板(Cmd+Shift+P / Ctrl+Shift+P)> MCP: Add Server > 选择 Command (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

添加到 .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 服务适用于任何支持 Model Context Protocol 的客户端,包括:

客户端最简便的安装方式
Claude Code单行命令:claude mcp add
Codex CLI(OpenAI)单行命令:codex mcp add
Gemini CLI(Google)单行命令:gemini mcp add
VS Code(Copilot)命令面板:MCP: Add Server
Claude DesktopJSON 配置文件
CursorJSON 配置文件
WindsurfJSON 配置文件
ClineUI 设置
ZedJSON 设置文件
Claude Desktop、Cowork 和其他 GUI 客户端(展开)
Claude Desktop / Cowork

Cowork 在 Claude Desktop 中运行,并使用相同的已连接 MCP 服务和权限。在 Claude Desktop 中配置一次,即可在 Cowork 中使用该服务。

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

平台配置文件
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 — 添加到 ~/.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 — 打开 Settings > MCP Servers > Edit,然后添加上方所示的相同 mcpServers 代码块。

Zed — 添加到 Zed 设置中(macOS 上为 ~/.zed/settings.json,Linux 上为 ~/.config/zed/settings.json):

{
  "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
通用 MCP 服务配置

将其用作任何宿主的基准配置:

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

宿主键映射:

宿主顶层键说明
VS Codeservers在服务对象中添加 "type": "stdio"
Claude Desktop / Cursor / Windsurf / ClinemcpServers使用相同的命令/参数/环境变量代码块
Zedcontext_servers使用相同的命令/参数/环境变量代码块
Codex 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
  • 参数: ["-y", "spaceship-mcp"]
  • 环境变量: SPACESHIP_API_KEY 和 SPACESHIP_API_SECRET
Claude 生态系统说明

Claude 目前有多个与 MCP 相关的概念,很容易混淆:

  • 本地 MCP 服务(Claude Desktop): 在 claude_desktop_config.json 中定义,并在你的设备上启动(文档)。
  • Cowork: 重用连接到 Claude Desktop 的 MCP 服务(文档)。
  • 连接器: 在 Claude 中管理的远程 MCP 集成(文档)。
  • Cowork 插件: Claude 专用的工作流打包方式(指令 + 工具/数据集成)(文档)。适用于 Claude,但不能作为通用 MCP 服务配置移植到其他 Agent 客户端。

已根据供应商文档核实,日期为 2026-03-05。

术语

可在不同宿主之间移植的内容:

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

宿主/供应商特有的内容(不能直接移植):

## 功能
  • 48 个工具,分为 8 个类别,涵盖完整的 Spaceship API
  • 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 标头
  • 工具集筛选,仅公开所需的工具类别
  • 动态工具加载模式,适用于上下文窗口受限的 Agent
  • 可操作的错误消息,提供结合上下文的恢复建议
  • 支持 Docker,可进行容器化部署
  • 453 个单元测试,覆盖率接近完整

配置

必填项
变量描述
SPACESHIP_API_KEY你的 Spaceship API 密钥
SPACESHIP_API_SECRET你的 Spaceship API 密钥密文

在 Spaceship API Manager 中生成凭据。

可选项
变量描述默认值
SPACESHIP_CACHE_TTL响应缓存的有效期(秒)。设为 0 可禁用缓存。120
SPACESHIP_MAX_RETRIES对触发速率限制(429)的请求进行指数退避时的最大重试次数。3
SPACESHIP_TOOLSETS要启用的工具类别列表,以逗号分隔(参见工具集筛选)。所有工具集
SPACESHIP_DYNAMIC_TOOLS设为 true 可启用动态工具加载模式(参见动态工具加载)。false

API 密钥设置

创建 API 密钥
  1. 登录你的 Spaceship 账户
  2. 前往 API Manager(直接链接)
  3. 点击 New API key
  4. 为密钥设置一个描述性名称(例如,“MCP Server”)
  5. 选择所需的权限范围(见下文)
  6. 复制 API 密钥和 API 密钥密文——密钥密文只会显示一次
可用权限范围

每个权限范围控制对 Spaceship 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_recordsdnsrecords:read
save_dns_records、delete_dns_records、所有 create_*_record 工具dnsrecords:read dnsrecords:write
域名信息list_domains、get_domain、check_domain_availabilitydomains:read
域名设置update_nameservers、set_auto_renew、set_privacy_level、set_email_protection、update_domain_contactsdomains:write
域名生命周期register_domain、renew_domain、restore_domain、transfer_domaindomains:billing
转移set_transfer_lock、get_auth_code、get_transfer_statusdomains:transfer
联系人get_contact、get_contact_attributescontacts:read
save_contact、save_contact_attributescontacts:write
个人域名服务器list_personal_nameservers、get_personal_nameserverdomains:read
update_personal_nameserver、delete_personal_nameserverdomains:write
SellerHublist_sellerhub_domains、get_sellerhub_domain、get_verification_recordssellerhub:read
create_sellerhub_domain、update_sellerhub_domain、delete_sellerhub_domain、create_checkout_linksellerhub:write
异步操作get_async_operationasyncoperations:read
分析check_dns_alignmentdnsrecords: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 的联系人属性(例如税号)
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删除个人名称服务器
SellerHub
工具描述
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://sellerhubSellerHub 市场中的所有挂牌

支持资源订阅的客户端会在数据发生变化时收到自动通知(每 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域名管理和生命周期工具
dnsDNS 记录、记录创建工具和分析
contacts联系人和隐私管理
privacy隐私管理(与 contacts 使用相同的工具)
nameservers个人名称服务器管理
sellerhubSellerHub 市场工具
availability域名可用性检查

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

动态工具加载

对于上下文窗口受限的 Agent,动态模式会将全部 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 服务的提示词或 Agent,都可以使用已配置的凭据执行 Spaceship API 操作。
  • 最小权限凭据: 按环境/团队/用例使用独立的 Spaceship API 密钥,并仅启用所需的权限范围(参见可用权限范围)。
  • 写入操作审批: 为会修改数据的工具启用主机端审批(register_domain、create_*、update_*、delete_*、save_*、set_* 和生命周期操作)。
  • 团队配置治理: 将共享的 MCP 配置纳入版本控制;对命令、参数、环境变量和工具集筛选的变更要求审核;将机密信息保存在保险库或主机的密钥管理器中(不要存放在纯文本仓库文件中)。

使用示例

连接后,你可以使用自然语言与 Spaceship API 交互:

  • “列出我的所有域名”
  • “检查 example.com 是否可以注册”
  • “为 api.example.com 创建一条指向 203.0.113.10 的 A 记录”
  • “为 example.com 设置使用 Google Workspace 的 MX 记录”
  • “为 example.com 启用 WHOIS 隐私保护”
  • “检查 example.com 的 DNS 记录是否符合预期”
  • “列出我在 SellerHub 上出售的域名”
  • “将 example.com 转移到 Spaceship”

社区

开发

# 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

要求

  • Node.js >= 20
  • 拥有 Spaceship 账户和 API 凭据

许可证

MIT - 详情请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。