IONOS Cloud
БесплатноНе проверенManage IONOS Cloud infrastructure — compute, DNS, storage, billing, and certificates — via MCP.
Описание
Manage IONOS Cloud infrastructure — compute, DNS, storage, billing, and certificates — via MCP.
README
A read-only-by-default Model Context Protocol (MCP) server that connects your IONOS CLOUD account to any MCP-compatible AI assistant or autonomous AI agent: Claude Desktop, Cursor, VS Code (GitHub Copilot), Windsurf, Cline, Continue, OpenCode, and 5+ others. 118 read-only tools across 7 IONOS CLOUD products — list, inspect, and audit your infrastructure through natural-language prompts or programmatic agentic loops. Write operations across Compute (servers, volumes, networking, load balancing) are strictly opt-in and create real, billable resources — see Write operations.
Built and maintained by the IONOS Cloud team. The server runs as a local binary on your workstation, a CI runner, or inside a container. IONOS CLOUD API calls go directly to IONOS over HTTPS; no third-party AI provider sits in the data path.
Compatibility: MCP spec 2024-11-05 · Go 1.25+ for builds · OCI images for linux/amd64 and linux/arm64.
📚 Full product documentation, per-client setup guides, FAQ, and tutorials: docs.ionos.com/cloud/ai/mcp-server
Get started in 60 seconds (macOS or Linux, via Homebrew):
brew install ionos-cloud/ionos-cloud/ionoscloud-mcp
For other install paths (Docker, pre-built binary, go install, source), see Installation.
Why • Registries • Products • Install • Config • Tool loading • Transport • Write ops • Demo • Dev • Related • Changelog
Why
- Read-only by default, writes strictly opt-in — out of the box every tool is an inspection operation (
list_*,get_*,head_*), so it's safe to connect to production accounts and to deploy inside unattended agent loops on CI runners. Write tools (create_*,update_*,delete_*) register only when you setIONOS_MCP_TOOL_SCOPE, and even then every create and delete requires a two-phase confirmation (preview → one-time token → execute). See Write operations. - Local binary, no proxy — IONOS CLOUD API calls go directly from your machine to IONOS Cloud. No third-party AI vendor in the data path.
- EU-sovereign option — pair the server with the IONOS CLOUD AI Model Hub and both the API calls and the LLM inference terminate inside IONOS's German data centres. See the Fully Sovereign AI Workflow guide.
- Open source — Apache 2.0. Read the source, audit the behaviour, contribute, or fork.
Registries & Directories
This server is published across multiple MCP registries and IDE marketplaces:
| Registry | Link |
|---|---|
| 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 |
Supported products
Read tools are named list_*, get_* and head_*; the opt-in write tools are create_*, update_*, delete_* plus domain verbs such as start_* and attach_*. In the default eager mode all tools register at startup; lazy mode defers Compute and Object Storage behind loader tools; dynamic mode exposes only three search/describe/call meta-tools for clients with hard tool caps. See Tool loading mode.
| Product | Tools | Capabilities |
|---|---|---|
| Compute Engine | 50 + 69 write | Data centers, servers, volumes, NICs, LANs, firewall rules, IP blocks, load balancers (basic / network / application), NAT gateways, security groups, private cross-connects, snapshots, images, templates, locations, requests, contract |
| Kubernetes | 8 | Clusters, node pools, nodes, available versions |
| Object Storage | 23 | Buckets, bucket configuration (CORS, encryption, lifecycle, policy, public access block, replication, tagging, versioning, Object Lock), objects, access keys, regions |
| DNS | 14 | Zones, zone files, records, reverse records, secondary zones, DNSSEC, quota |
| Billing | 15 | Profile, invoices, EVN (provisioning intervals), traffic, usage, utilization, product pricing catalog, FOCUS v1.3 spec |
| Certificate Manager | 6 | Certificates, auto-certificates, providers |
| Activity Log | 2 | Contracts, events |
120 read-only tools (118 product + 2 loader), plus 69 opt-in write tools on Compute Engine — see Write operations. For per-tool input/output schemas, see the per-product docs or the full Tool Reference at docs.ionos.com.
Installation
Pick whichever fits your workflow.
Homebrew (macOS, Linux) — recommended
brew install ionos-cloud/ionos-cloud/ionoscloud-mcp
Docker (linux/amd64, linux/arm64)
docker pull ghcr.io/ionos-cloud/ionoscloud-mcp:latest
Run with the MCP stdio transport (default):
docker run -i --rm \
-e IONOS_TOKEN="$IONOS_TOKEN" \
ghcr.io/ionos-cloud/ionoscloud-mcp
Or over HTTP (see Wire transport):
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
Supported --client values: claude-desktop, claude-code, cursor, vscode, windsurf, cline, continue, gemini-cli, kiro, and others. See the Smithery listing for the current list.
Pre-built binary
Download the archive for your OS/arch from the latest release. Available for Linux, macOS, and Windows on both amd64 and arm64.
go install
go install github.com/ionos-cloud/ionoscloud-mcp@latest
From source
git clone https://github.com/ionos-cloud/ionoscloud-mcp.git
cd ionoscloud-mcp
make build
Configuration
You need an IONOS CLOUD account with API credentials.
# 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"
Generate a token in the IONOS CLOUD DCD under Management → Token Management. Object Storage credentials are created under Storage & Backup → IONOS CLOUD Object Storage → Key management.
For least-privilege token scoping, see Authentication at docs.ionos.com.
Integrating with an MCP client (manual)
Add the server to your AI client's MCP config:
{
"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"
}
}
}
}
The Object Storage credentials are only needed if you plan to use Object Storage tools.
Per-client setup guides for the 12 supported AI clients: Connect to an AI Client at docs.ionos.com.
Tool loading mode
The load mode selects how tools are exposed. Set it with either the --load-mode flag or the IONOS_MCP_LOAD_MODE environment variable; the flag wins if both are set, and otherwise the default is eager. Parsing is case-insensitive.
eager(default): all tools register at startup. Recommended for Claude Code (which defers full schemas client-side via ToolSearch, paying ~1–3k tokens for names only) and the only working mode for clients that ignorenotifications/tools/list_changed(Claude Desktop, claude.ai connectors, Claude in Chrome, Smithery scanner).lazy: Compute and Object Storage register only on demand. Two sentinel tools (ionos_load_compute_tools,ionos_load_objectstorage_tools) appear at startup; calling either registers the full product set and emitsnotifications/tools/list_changed. Use only if your MCP client honours that notification AND lacks client-side schema deferral — otherwise eager mode is cheaper.dynamic(alias:search): the server exposes only three meta-tools —ionos_search_tools,ionos_describe_toolsandionos_call_tool— and the model discovers and invokes the full catalogue through them at runtime. The real tool list never changes, so unlikelazythis needs nonotifications/tools/list_changedsupport. Intended for clients with hard tool caps and no tool search of their own (e.g. Cursor's ~40-tool cap, Windsurf's 100). Trade-off: the model mustsearch→describe→callrather than seeing tools directly, costing extra round-trips, so prefereageron Claude Code.
The server logs the effective mode and its source (flag / env / default) to stderr at startup, e.g. load mode: dynamic (source: --load-mode flag).
{
"mcpServers": {
"ionoscloud": {
"command": "/path/to/ionoscloud-mcp",
"args": ["--load-mode", "dynamic"],
"env": {
"IONOS_TOKEN": "your-api-token"
}
}
}
}
Tool-count limits: Windsurf caps connected MCP servers at 100 tools combined; Cursor caps at ~40 across all servers. With the default eager mode the server exceeds both. On Windsurf, lazy keeps the startup surface small enough; on Cursor (or any cap-limited client without its own tool search), use dynamic to present just three tools. For more information, see Selective Tool Loading.
Wire transport
The server speaks stdio by default — the mode every subprocess-spawning MCP client expects (Claude Desktop, Claude Code, Cursor, Windsurf, etc.). For remote or networked deployments (e.g. running the server centrally and pointing multiple clients at it), switch to the Streamable HTTP transport with --transport http or IONOS_MCP_TRANSPORT=http; the flag wins if both are set.
./ionoscloud-mcp --transport http --http-addr :8080
--transport <stdio|http>(orIONOS_MCP_TRANSPORT) — selects the transport. Unrecognised values fall back tostdiowith a warning.--http-addr <addr>(orIONOS_MCP_HTTP_ADDR) — listen address for the HTTP transport. Default:8080(all interfaces); use127.0.0.1:8080for local-only. Ignored for stdio.
The server logs the effective transport and its source to stderr at startup, e.g. transport: http (source: --transport flag).
In HTTP mode, point your MCP client at http://<host>:<port>/ as a Streamable HTTP server. There is no built-in TLS or authentication for the HTTP endpoint itself — put it behind a reverse proxy (e.g. nginx, Caddy) if it needs to be reachable outside a trusted network. IONOS_TOKEN and the other IONOS CLOUD credentials still authenticate the server's own calls to the IONOS API regardless of transport.
Write operations
The server is read-only until you opt in. Write tools are never registered and never appear in tools/list unless you set the IONOS_MCP_TOOL_SCOPE environment variable. The gate applies in every load mode, including the dynamic dispatcher — there is no bypass.
Scope is a comma-separated, hierarchical set of capabilities (read is always on):
IONOS_MCP_TOOL_SCOPE |
Enables |
|---|---|
unset / read (default) |
read-only (list_*, get_*, head_*) |
write |
the above + create_*, update_*, and the non-disruptive actions start_, resume_, attach_, assign_ |
destructive |
the above + delete_* and the disruptive actions stop_, reboot_, suspend_, upgrade_, restore_, detach_ (implies write) |
Unrecognised values fall back to read-only, and the effective scope is logged to stderr at startup. Because the levels are hierarchical, a single value is enough — destructive alone already grants write and read; you don't need to list them all (though a comma-separated list like read,write is also accepted).
What can be written
| Area | Resources |
|---|---|
| Compute | data centers, servers (+ start/stop/reboot/suspend/resume/upgrade), volumes (+ snapshot & restore, attach/detach), NICs, LANs |
| Networking | IP blocks (reserve and release only), security groups + rules, firewall rules, private cross connects |
| Load balancing | classic, network and application load balancers + forwarding rules, target groups, NAT gateways + rules |
| Images | snapshot and image update/delete |
Not available, because the Go SDK cannot build the request the API accepts: renaming an IP block, attaching a CD-ROM to a server, attaching a NIC to a classic load balancer, and detaching a LAN from a cross connect. Use ionosctl, the Terraform provider or the DCD for those.
69 tools in total. The server exposes 118 at the default read-only scope, 161 with write, and 187 with destructive. Reads are unaffected and always available.
Two-phase confirmation. Every create_* and delete_*, plus the disruptive actions (stop_, reboot_, suspend_, upgrade_, restore_, detach_), is confirmation-gated. The first call performs no mutation: it returns a preview — for a delete, a blast-radius summary of what will be destroyed — plus a single-use confirmation_token (5-minute TTL, bound to that exact target and operation). Only a second call carrying that token executes. This keeps a human in the loop and limits the agent to one resource per call. Reversible single-field changes (update_*, start_, attach_, assign_) are a single call.
Annotations. Write tools carry MCP annotations (readOnlyHint, destructiveHint, idempotentHint) so clients can build their own approval UX — but enforcement is always server-side. Note that the class comes from the operation, not the HTTP verb: stop_server is a POST that is destructive.
⚠️ Write operations create real resources and real charges
Enabling
IONOS_MCP_TOOL_SCOPElets an AI model provision billable infrastructure in your live IONOS CLOUD account. Every create is a real resource on a real invoice, effective immediately.Some resources cost money even when nothing is using them — a reserved IP block, a snapshot, or a volume left behind after its server was deleted. Deletions are equally real: destroyed data is not recoverable without a snapshot, and a released IP address cannot be asked for again.
An AI model decides when and how often to call these tools. It can misread your intent, retry more than you expected, or pick a larger resource than you had in mind. The two-phase confirmation exists to put a human in that loop, but it cannot stop a client configured to approve tool calls automatically — in that setup the model can complete both phases on its own.
You are responsible for everything created, modified or deleted in your account through these tools, and for the resulting charges. IONOS does not control and is not responsible for how a model chooses to call them, or for any cost, data loss or outage arising from those calls.
Reduce the risk: leave the server read-only unless you need writes; grant
writerather thandestructivewhen deletion isn't required; require manual approval of tool calls in your client; read the preview before returning a confirmation token; and prefer a non-production account when experimenting.
Enable writes in your MCP client config, for example:
{
"mcpServers": {
"ionoscloud": {
"command": "/path/to/ionoscloud-mcp",
"env": {
"IONOS_TOKEN": "your-api-token",
"IONOS_MCP_TOOL_SCOPE": "destructive"
}
}
}
}
Demo
In Claude Desktop or any other supported client, after configuring the server, try one of these prompts. They cover the kinds of multi-step inspection workflows that are tedious to write as scripts but easy in natural language:
- Cost audit: "Audit my IONOS CLOUD account, find the top 5 cost-inducing resources this month, and suggest cost-efficiency tips."
- Security sweep: "List every bucket whose public access block is off or whose policy is public — flag anything that looks unintentional."
- Audit trail: "Show me every failed API request on my contract in the last 30 days, grouped by user."
- Forgotten resources: "Find unattached volumes, unused IP blocks, and stopped servers across all my data centers."
- DNS sanity check: "List all zones on my account and flag any without DNSSEC enabled or with records pointing to IPs I no longer own."
- Certificate expiry: "Which certificates on my account expire in the next 60 days?"
- Traffic spike investigation: "My last invoice was higher than usual — show me daily traffic and utilization for the previous billing period and tell me what changed."
- Onboarding tour: "Walk me through what I have running on IONOS CLOUD — datacenters, servers, storage, DNS — like you're explaining it to a new teammate."
Each prompt chains multiple list_* and get_* calls and produces a summary you can paste into a ticket, dashboard, or doc. For end-to-end walkthroughs:
- Run a security posture audit on your IONOS CLOUD Object Storage buckets
- Generate a FOCUS-compliant cost report
Development
Testing the MCP protocol locally
You can test the server's MCP protocol implementation using stdin/stdout:
# 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
Building from source
make build
# or
go build -o ionoscloud-mcp .
Run make with no arguments to see the available targets.
Related projects
- IONOS CLOUD MCP Server product docs — full product documentation
- IONOS CLOUD AI Model Hub — open-weight LLMs hosted in Germany; pair with this server for a fully EU-sovereign AI loop
- IONOS CLOUD Documentation MCP — a free public MCP server exposing the IONOS docs site for AI assistants
Contributing
Issues and pull requests are welcome. For development setup, code style, and testing instructions, see CONTRIBUTING.md. For questions and discussion, use GitHub Discussions.
Security
If you believe you have found a security vulnerability, please do not open a public issue. Report it privately via GitHub's private vulnerability reporting or by email to [email protected]. Full policy: SECURITY.md.
Changelog
Notable changes per release are tracked in CHANGELOG.md. For the artefacts published with each tag (Linux/macOS/Windows binaries, multi-arch OCI images), see the GitHub Releases page.
API documentation
For more information about the IONOS CLOUD API:
License
Apache License 2.0 — see LICENSE.
Установка IONOS Cloud
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/ionos-cloud/ionoscloud-mcpFAQ
IONOS Cloud MCP бесплатный?
Да, IONOS Cloud MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для IONOS Cloud?
Нет, IONOS Cloud работает без API-ключей и переменных окружения.
IONOS Cloud — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить IONOS Cloud в Claude Desktop, Claude Code или Cursor?
Открой IONOS Cloud на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Stripe
Payments, customers, subscriptions
автор: Stripemalamutemayhem/unclick-agent-native-endpoints
110+ tools for AI agents spanning social media, finance, gaming, music, AU-specific services, and utilities. Zero-config local tools plus platform connectors. n
автор: malamutemayhemwhiteknightonhorse/APIbase
Unified API hub for AI agents with 56+ tools across travel (Amadeus, Sabre), prediction markets (Polymarket), crypto, and weather. Pay-per-call via x402 micropa
автор: whiteknightonhorsetrackerfitness729-jpg/sitelauncher-mcp-server
Deploy live HTTPS websites in seconds. Instant subdomains ($1 USDC) or custom .xyz domains ($10 USDC) on Base chain. Templates for crypto tokens and AI agent pr
Compare IONOS Cloud with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории finance
