使用说明
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命令服务器) - 此服务器公开的工具名称和工具模式
什么是特定于主机/供应商的(不可移植):
- 主机配置密钥名称(
servers,mcpServers,context_servers,mcp_servers) - 主机UX/添加服务器的工作流(CLI命令、UI菜单、设置路径)
- 人类特有的概念,如 Claude Desktop本地MCP服务器, Claude连接器通过远程MCP,以及 Claude代码插件 用于联合工作流程
特性
- 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密钥
- 登录到您的 宇宙飞船帐户
- 导航至 API经理 (直接链接)
- 点击 新API密钥
- 为密钥命名(例如“MCP服务器”)
- 选择您需要的范围(见下文)
- 复制这两个 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工具 |
工作流程:
search_tools({ query: "dns" })--发现相关工具describe_tools({ tools: ["create_a_record"] })--获取完整的参数模式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
需求
- Node.js>=20
- A. 宇宙飞船 具有API凭据的帐户
许可证
麻省理工学院-见 许可证 了解详情。