关于 IONOS CLOUD MCP Server
IONOS CLOUD MCP Server 将 IONOS CLOUD 基础设施接入 MCP 客户端,供运维和开发人员检查及审计云资源。默认提供只读操作,写入需显式启用,并支持多种工具加载模式。
主要功能
- 01覆盖 7 类 IONOS CLOUD 产品
- 02默认只读,写入可选启用
- 03创建和删除操作需两阶段确认
- 04支持 stdio 与 Streamable HTTP
- 05提供 eager、lazy、dynamic 加载模式
适用场景
- 01盘点计算、Kubernetes 和对象存储资源
- 02查看 DNS、证书与账单信息
- 03在 CI 流程中审计云基础设施
MCP 相关
该 MCP 服务向兼容客户端提供 IONOS CLOUD 资源查询及可选写入工具。可通过 stdio 或 Streamable HTTP 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e IONOS_TOKEN -e IONOS_S3_ACCESS_KEY -e IONOS_S3_SECRET_KEY -e IONOS_MCP_LOAD_MODE -e IONOS_MCP_TOOL_SCOPE ghcr.io/ionos-cloud/ionoscloud-mcp:1.1.2IONOS_TOKEN密钥IONOS CLOUD API token (required for all products except Object Storage)IONOS_S3_ACCESS_KEY密钥S3 access key for IONOS Object StorageIONOS_S3_SECRET_KEY密钥S3 secret key for IONOS Object StorageIONOS_MCP_LOAD_MODETool registration strategy (the --load-mode flag overrides this). 'eager' (default): register all tools at startup. 'lazy': defer Compute and Object Storage behind 'ionos_load_compute_tools' / 'ionos_load_objectstorage_tools' sentinel tools (requires MCP client support for notifications/tools/list_changed). 'dynamic' (alias 'search'): expose only the ionos_search_tools / ionos_describe_tools / ionos_call_tool meta-tools and browse the full catalog through them — for clients with hard tool caps and no tool search of their own (Cursor, Windsurf).IONOS_MCP_TOOL_SCOPEOpt in to write operations. Unset (default) leaves the server read-only: only list_/get_/head_ tools are registered. 'write' additionally registers create_/update_ tools and the non-disruptive actions (start_, resume_, attach_, assign_); 'destructive' also registers delete_ and the disruptive actions (stop_, reboot_, suspend_, upgrade_, restore_, detach_, recreate_, import_) and implies 'write'. Comma-separated, case-insensitive, hierarchical; unrecognised values stay read-only. WARNING: enabling this lets an AI model provision, modify and delete billable resources in a live IONOS CLOUD account. Every create and delete requires a two-phase confirmation, but that cannot stop a client configured to approve tool calls automatically. Leave unset unless writes are needed.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/ionos-cloud/ionoscloud-mcp:1.1.2stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
IONOS CLOUD MCP 服务
一个默认只读的 Model Context Protocol(MCP)服务,可将你的 IONOS CLOUD 账户连接到任何兼容 MCP 的 AI 助手或自主 AI Agent:Claude Desktop、Cursor、VS Code(GitHub Copilot)、Windsurf、Cline、Continue、OpenCode 等 5 款以上产品。覆盖 7 款 IONOS CLOUD 产品的 118 个只读工具——通过自然语言提示词或程序化 Agent 工作流,列出、检查并审计你的基础设施。Compute(服务器、卷、网络、负载均衡)、Managed Kubernetes(集群、节点池、节点)、DNS(区域、记录、反向记录、DNSSEC)和 Certificate Manager(证书、自动证书、提供商)的写入操作均需明确选择启用,并会创建实际计费的资源——请参阅写入操作。
由 IONOS Cloud 团队构建并维护。该服务可作为本地二进制文件运行于你的工作站、CI 运行器或容器内。IONOS CLOUD API 调用通过 HTTPS 直接发送至 IONOS;数据传输路径中不会经过第三方 AI 提供商。
**兼容性:**MCP 规范 2024-11-05 · 构建需 Go 1.25+ · OCI 镜像支持 linux/amd64 和 linux/arm64。
📚 完整产品文档、各客户端设置指南、常见问题解答和教程:docs.ionos.com/cloud/ai/mcp-server
60 秒快速开始(macOS 或 Linux,通过 Homebrew):
brew install ionos-cloud/ionos-cloud/ionoscloud-mcp
有关其他安装方式(Docker、预构建二进制文件、go install、源代码),请参阅安装。
为什么选择 • 注册目录 • 产品 • 安装 • 配置 • 工具加载 • 传输 • 写入操作 • 演示 • 开发 • 相关项目 • 更新日志
为什么选择
- 默认只读,写入操作需明确选择启用——开箱即用时,所有工具均为检查操作(
list_*、get_*、head_*),因此可安全连接生产账户,也可部署到 CI 运行器上,在无人值守的 Agent 工作流中使用。只有设置IONOS_MCP_TOOL_SCOPE后,写入工具(create_*、update_*、delete_*)才会注册;即便如此,每次创建和删除都需要两阶段确认(预览 → 一次性令牌 → 执行)。请参阅写入操作。 - 本地二进制文件,无代理——IONOS CLOUD API 调用从你的计算机直接发送至 IONOS Cloud。数据传输路径中不会经过第三方 AI 供应商。
- 支持欧盟主权部署——将该服务与 IONOS CLOUD AI Model Hub 配合使用,API 调用和大模型推理都将在 IONOS 位于德国的数据中心内完成。请参阅完全主权 AI 工作流指南。
- 开源——Apache 2.0。你可以阅读源代码、审计运行行为、参与贡献或创建分支。
注册表与目录
此服务已发布到多个 MCP 注册表和 IDE 市场:
| 注册表 | 链接 |
|---|---|
| Official MCP Registry | io.github.ionos-cloud/ionoscloud-mcp |
| Smithery | ionos-cloud/ionoscloud-mcp |
| mcp.so | ionos-cloud-mcp-server |
| Glama | ionoscloud-mcp |
| Cursor | ionoscloud-mcp |
| mcpservers.org | ionoscloud-mcp |
| PulseMCP | ionoscloud |
| MCPMarket | ionos-cloud |
| punkpeye/awesome-mcp-servers | ionos-cloud/ionoscloud-mcp |
支持的产品
读取工具命名为 list_*、get_* 和 head_*;选择启用的写入工具包括 create_*、update_*、delete_*,以及 start_* 和 attach_* 等领域动词。在默认的 eager 模式下,所有工具都会在启动时注册;lazy 模式会通过加载器工具延迟加载 Compute 和 Object Storage;dynamic 模式仅向工具数量受到严格限制的客户端提供三个搜索/描述/调用元工具。请参阅工具加载模式。
| 产品 | 工具 | 功能 |
|---|---|---|
| Compute Engine | 50 + 70 个写入工具 | 数据中心、服务器、卷、NIC、LAN、防火墙规则、IP 块、负载均衡器(基础/网络/应用)、NAT 网关、安全组、私有交叉连接、快照、映像、模板、位置、请求、合同 |
| Kubernetes | 8 + 8 个写入工具 | 集群、节点池、节点、可用版本 |
| Object Storage | 23 | 存储桶、存储桶配置(CORS、加密、生命周期、策略、公共访问阻止、复制、标记、版本控制、Object Lock)、对象、访问密钥、区域 |
| DNS | 14 + 16 个写入工具 | 区域、区域文件(+ BIND 导入)、记录、反向记录、辅助区域(+ 区域传输)、DNSSEC、配额 |
| Billing | 15 | 配置文件、发票、EVN(预配间隔)、流量、用量、利用率、产品价格目录、FOCUS v1.3 规范 |
| Certificate Manager | 6 + 8 个写入工具 | 证书、自动证书、提供商 |
| Activity Log | 2 | 合同、事件 |
118 个只读工具,以及适用于 Compute Engine、Kubernetes、DNS 和 Certificate Manager 的 102 个选择启用的写入工具——请参阅写入操作。有关各工具的输入/输出架构,请参阅各产品文档或 docs.ionos.com 上的完整工具参考。
安装
选择适合你工作流的方式。
Homebrew(macOS、Linux)——推荐
brew install ionos-cloud/ionos-cloud/ionoscloud-mcp
Docker(linux/amd64、linux/arm64)
docker pull ghcr.io/ionos-cloud/ionoscloud-mcp:latest
使用 MCP stdio 传输方式运行(默认):
docker run -i --rm \
-e IONOS_TOKEN="$IONOS_TOKEN" \
ghcr.io/ionos-cloud/ionoscloud-mcp
或通过 HTTP 运行(请参阅Wire 传输方式):
docker run --rm -p 8080:8080 \
-e IONOS_TOKEN="$IONOS_TOKEN" \
ghcr.io/ionos-cloud/ionoscloud-mcp --transport http --http-addr :8080
Smithery
npx -y @smithery/cli install @ionos-cloud/ionoscloud-mcp --client claude-desktop
支持的 --client 值:claude-desktop、claude-code、cursor、vscode、windsurf、cline、continue、gemini-cli、kiro 等。当前列表请参阅 Smithery 页面。
预构建二进制文件
从最新发行版下载适用于你操作系统/架构的存档。Linux、macOS 和 Windows 均提供 amd64 和 arm64 版本。
go install
go install github.com/ionos-cloud/ionoscloud-mcp@latest
从源代码构建
git clone https://github.com/ionos-cloud/ionoscloud-mcp.git
cd ionoscloud-mcp
make build
配置
你需要一个 IONOS CLOUD 账户和 API 凭据。
# Required: API token for control-plane APIs (Compute, DNS, Billing, Certificate Manager, Object Storage management)
export IONOS_TOKEN="your-api-token"
# Optional: only required if you use Object Storage data-plane tools
# (listing objects, reading bucket configuration, checking access keys).
export IONOS_S3_ACCESS_KEY="your-s3-access-key"
export IONOS_S3_SECRET_KEY="your-s3-secret-key"
# Optional: opt in to write operations (default: read-only). Values are hierarchical,
# so a single level suffices: "write" allows create/update; "destructive" also allows
# delete (it implies "write"). See "Write operations".
# export IONOS_MCP_TOOL_SCOPE="write"
在 IONOS CLOUD DCD 的 Management → Token Management 下生成令牌。Object Storage 凭据在 Storage & Backup → IONOS CLOUD Object Storage → Key management 下创建。
如需了解最小权限令牌范围设置,请参阅 docs.ionos.com 上的身份验证。
与 MCP 客户端集成(手动)
将服务添加到 AI 客户端的 MCP 配置中:
{
"mcpServers": {
"ionoscloud": {
"command": "/path/to/ionoscloud-mcp",
"env": {
"IONOS_TOKEN": "your-api-token",
"IONOS_S3_ACCESS_KEY": "your-s3-access-key",
"IONOS_S3_SECRET_KEY": "your-s3-secret-key"
}
}
}
}
只有计划使用 Object Storage 工具时,才需要 Object Storage 凭据。
12 个受支持 AI 客户端的专属设置指南:连接到 AI 客户端,位于 docs.ionos.com。
工具加载模式
加载模式决定如何公开工具。使用 --load-mode 标志或 IONOS_MCP_LOAD_MODE 环境变量进行设置;如果两者都设置,以标志为准,否则默认值为 eager。解析时不区分大小写。
-
eager(默认):启动时注册所有工具。推荐用于 Claude Code(它会在客户端通过 ToolSearch 延迟加载完整架构,只需为名称支付约 1–3k 个令牌),也是忽略notifications/tools/list_changed的客户端(Claude Desktop、claude.ai connectors、Claude in Chrome、Smithery scanner)唯一可用的模式。 -
lazy:仅在需要时注册 Compute 和 Object Storage。启动时会显示两个哨兵工具(ionos_load_compute_tools、ionos_load_objectstorage_tools);调用任一工具都会注册完整的产品工具集并发出notifications/tools/list_changed。仅当 MCP 客户端支持该通知,且不具备客户端侧架构延迟加载功能时使用此模式;否则eager模式更省资源。 -
dynamic(别名:search):服务只公开 三个 元工具——ionos_search_tools、ionos_describe_tools和ionos_call_tool——模型在运行时通过这些工具发现并调用完整目录。实际工具列表不会改变,因此与lazy不同,此模式不需要支持notifications/tools/list_changed。适用于工具数量有硬性上限且不提供自身工具搜索功能的客户端(例如,Cursor 的约 40 个工具上限、Windsurf 的 100 个工具上限)。代价是:模型必须依次执行search→describe→call,而不能直接看到工具,因此会产生额外往返;所以 Claude Code 应优先使用eager。
服务启动时会将生效的模式及其来源(标志 / 环境变量 / 默认值)记录到 stderr,例如 load mode: dynamic (source: --load-mode flag)。
{
"mcpServers": {
"ionoscloud": {
"command": "/path/to/ionoscloud-mcp",
"args": ["--load-mode", "dynamic"],
"env": {
"IONOS_TOKEN": "your-api-token"
}
}
}
}
**工具数量限制:**Windsurf 将已连接 MCP 服务的工具总数上限设为 100;Cursor 则将所有服务的工具总数上限设为约 40。使用默认的 eager 模式时,该服务会超过这两个上限。在 Windsurf 上,lazy 可将启动时公开的工具数量控制在上限内;在 Cursor(或任何自身不具备工具搜索功能、且有数量上限的客户端)上,使用 dynamic 仅公开三个工具。更多信息请参阅选择性工具加载。
传输方式
服务默认使用 stdio,这是所有会启动子进程的 MCP 客户端(Claude Desktop、Claude Code、Cursor、Windsurf 等)所需的模式。对于远程或联网部署(例如,将服务集中运行并让多个客户端连接到它),请使用 --transport http 或 IONOS_MCP_TRANSPORT=http 切换到 Streamable HTTP 传输;如果两者都设置,则以标志为准。
./ionoscloud-mcp --transport http --http-addr :8080
--transport <stdio|http>(或IONOS_MCP_TRANSPORT)— 选择传输方式。无法识别的值会回退到stdio,并显示警告。--http-addr <addr>(或IONOS_MCP_HTTP_ADDR)— HTTP 传输的监听地址。默认值为127.0.0.1:8080(仅限本地);使用:8080可监听所有网络接口。stdio 模式下会忽略此设置。
服务启动时会将实际使用的传输方式及其来源记录到 stderr,例如 transport: http (source: --transport flag)。
在 HTTP 模式下,将 MCP 客户端指向 http://<host>:<port>/,将其作为 Streamable HTTP 服务使用。HTTP 端点本身不内置 TLS 或身份验证——如果需要从受信任网络之外访问,请将其置于反向代理(例如 nginx、Caddy)之后。无论使用哪种传输方式,IONOS_TOKEN 和其他 IONOS CLOUD 凭据仍会用于验证服务自身对 IONOS API 的调用。
写入操作
除非主动启用,否则服务为只读。 除非设置 IONOS_MCP_TOOL_SCOPE 环境变量,否则不会注册写入工具,也不会在 tools/list 中显示这些工具。此门控适用于所有加载模式,包括 dynamic 调度器——不存在绕过方式。
权限范围是一个以逗号分隔的分层能力集合(始终启用 read):
IONOS_MCP_TOOL_SCOPE | 启用的功能 |
|---|---|
未设置 / read(默认) | 只读(list_*、get_*、head_*) |
write | 上述功能 + create_*、update_*,以及不会造成中断的操作 start_、resume_、attach_、assign_ |
destructive | 上述功能 + delete_*,以及会造成中断的操作 stop_、reboot_、suspend_、upgrade_、restore_、detach_、recreate_、import_(隐含 write) |
无法识别的值会回退为只读,实际生效的权限范围会在服务启动时记录到 stderr。由于权限级别是分层的,只需设置一个值即可——单独设置 destructive 已包含 write 和 read;无需逐一列出(不过也接受 read,write 这类以逗号分隔的列表)。
可写入内容
| 区域 | 资源 |
|---|---|
| 计算 | 数据中心、服务器(+ 启动/停止/重启/挂起/恢复/升级)、卷(+ 创建快照和恢复、挂载/卸载)、NIC、LAN |
| 网络 | IP 块(预留、重命名和释放)、安全组 + 规则、防火墙规则、私有交叉连接 |
| 负载均衡 | 经典型、网络型和应用型负载均衡器 + 转发规则、目标组、NAT 网关 + 规则 |
| 镜像 | 快照和镜像更新/删除 |
| Kubernetes | 集群、节点池(扩缩容、升级、自动扩缩容、LAN、标签、注释、污点)、单个节点(重建、删除) |
| DNS | 主区域(+ 导入 BIND 区域文件)、记录、辅助区域(+ 区域传送)、反向记录、启用/停用 DNSSEC |
| Certificate Manager | 自动证书、ACME 提供商、证书重命名/删除——重命名只会更改名称,其余内容不可变。有意不提供证书材料上传功能:这需要将私钥作为工具参数传递。 |
总计 102 个工具。默认只读范围下,服务会公开 118 个工具;启用 write 后为 181 个,启用 destructive 后为 220 个。读取操作不受影响,始终可用。
两阶段确认。 每个 create_* 和 delete_* 操作,以及具有破坏性的操作(stop_、reboot_、suspend_、upgrade_、restore_、detach_、recreate_),还有 DNS 区域文件导入,都需要经过确认。首次调用不会执行任何变更:它会返回预览——对于删除操作,预览会概述将被销毁的内容及其影响范围——以及一个一次性 confirmation_token(有效期 5 分钟,并绑定到确切的目标和操作)。只有第二次调用携带该令牌时才会执行操作。这样可以让人类参与决策,并将 Agent 限制为每次调用只能操作一个资源。可逆的单字段更改(update_*、start_、attach_、assign_)只需一次调用。
注释。 写入工具带有 MCP 注释(readOnlyHint、destructiveHint、idempotentHint),客户端可以据此构建自己的审批体验——但始终由服务端执行强制检查。请注意,操作类别取决于具体操作,而不是 HTTP 动词:stop_server 是具有破坏性的 POST,而 import_dns_zone_file 是会替换区域内所有记录的 PUT。
⚠️ 写入操作会创建真实资源,并产生真实费用
启用
IONOS_MCP_TOOL_SCOPE后,AI 模型便可以在你正在使用的 IONOS CLOUD 账户中预配会计费的基础设施。 每次创建都会立即产生一个真实资源,并记入真实账单。即使没有任何内容在使用,某些资源也会产生费用——例如预留的 IP 块、快照,或服务器删除后留下的卷。删除同样会产生真实后果:没有快照就无法恢复已销毁的数据,被释放的 IP 地址也无法再次申请。
AI 模型会决定何时以及以多频繁地调用这些工具。 它可能误解你的意图、比预期更频繁地重试,或选择比你设想更大的资源。两阶段确认旨在让人类参与其中,但无法阻止配置为自动批准工具调用的客户端——在这种情况下,模型可以自行完成两个阶段。
你须对通过这些工具在账户中创建、修改或删除的一切内容,以及由此产生的费用负责。 IONOS 不会控制模型如何选择调用这些工具,也不对由此产生的任何费用、数据丢失或服务中断负责。
降低风险:除非需要写入操作,否则让服务保持只读;无需删除时授予
write而不是destructive权限;要求客户端手动审批工具调用;在返回确认令牌前先阅读预览;尝试时优先使用非生产账户。
在 MCP 客户端配置中启用写入操作,例如:
{
"mcpServers": {
"ionoscloud": {
"command": "/path/to/ionoscloud-mcp",
"env": {
"IONOS_TOKEN": "your-api-token",
"IONOS_MCP_TOOL_SCOPE": "destructive"
}
}
}
}
演示
在 Claude Desktop 或任何其他受支持的客户端中配置服务后,试试以下提示词之一。这些提示词涵盖了多步骤检查工作流:用脚本编写起来很繁琐,但用自然语言表达却很轻松:
- 成本审计: “审计我的 IONOS CLOUD 账户,找出本月成本最高的 5 个资源,并提出提高成本效益的建议。”
- 安全检查: “列出所有公共访问阻止功能已关闭或策略设为公开的存储桶,并标记任何看起来并非有意为之的情况。”
- 审计跟踪: “显示过去 30 天内我的合约上所有失败的 API 请求,并按用户分组。”
- 遗忘的资源: “查找所有数据中心中未挂载的卷、未使用的 IP 地址块和已停止的服务器。”
- DNS 健全性检查: “列出我账户中的所有区域,并标记任何未启用 DNSSEC 的区域,或记录指向我已不再拥有的 IP 的区域。”
- 证书到期时间: “我账户中哪些证书将在未来 60 天内到期?”
- 流量峰值调查: “我的上一张账单比平时高——显示上一个计费周期的每日流量和利用率,并告诉我发生了哪些变化。”
- 入门导览: “带我了解 IONOS CLOUD 上正在运行的内容——数据中心、服务器、存储、DNS——就像在向新队友介绍一样。”
每个提示词都会串联多个 list_* 和 get_* 调用,并生成一份摘要,你可以将其粘贴到工单、仪表板或文档中。端到端操作指南:
开发
在本地测试 MCP 协议
你可以使用 stdin/stdout 测试服务的 MCP 协议实现:
# Initialize and list tools
{
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}'
echo '{"jsonrpc":"2.0","method":"notifications/initialized"}'
echo '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
sleep 1
} | ./ionoscloud-mcp
# Call a tool (requires a valid IONOS_TOKEN)
{
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}'
echo '{"jsonrpc":"2.0","method":"notifications/initialized"}'
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_datacenters","arguments":{}}}'
sleep 1
} | ./ionoscloud-mcp
从源代码构建
make build
# or
go build -o ionoscloud-mcp .
不带参数运行 make 可查看可用目标。
相关项目
- IONOS CLOUD MCP Server 产品文档 — 完整的产品文档
- IONOS CLOUD AI Model Hub — 在德国托管的开放权重 LLM;与此服务配合使用,可构建完全由欧盟主权掌控的 AI 闭环
- IONOS CLOUD Documentation MCP — 免费的公共 MCP 服务,为 AI 助手提供 IONOS 文档站点
贡献
欢迎提交问题和拉取请求。有关开发环境设置、代码风格和测试说明,请参阅 CONTRIBUTING.md。如有问题或需要讨论,请使用 GitHub Discussions。
安全
如果你认为自己发现了安全漏洞,请不要公开提交问题。请通过 GitHub 的私密漏洞报告或发送邮件至 [email protected] 私下报告。完整政策:SECURITY.md。
更新日志
各版本的重要变更记录在 CHANGELOG.md 中。有关每个标签发布的制品(Linux/macOS/Windows 二进制文件、多架构 OCI 镜像),请参阅 GitHub Releases 页面。
API 文档
有关 IONOS CLOUD API 的更多信息:
许可证
Apache License 2.0 — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。