A read-only inspector for IONOS Cloud infrastructure that connects Claude and other MCP clients to your European cloud account. Exposes 112 tools across compute, Kubernetes, object storage, DNS, billing, and certificate management, all following list/get/head naming conventions. Every operation is inspection only, so you can safely point it at production or run it in CI pipelines. API calls go directly from your machine to IONOS over HTTPS with no proxy in the path. Ships as a local Go binary via Homebrew, Docker, or pre-built releases. Pair it with IONOS's German data center AI Model Hub if you need LLM inference and API calls to stay EU-sovereign. Built and maintained by the IONOS Cloud team under Apache 2.0.
IONOS_TOKEN*secretIONOS CLOUD API token (required for all products except Object Storage)
IONOS_S3_ACCESS_KEYsecretS3 access key for IONOS Object Storage
IONOS_S3_SECRET_KEYsecretS3 secret key for IONOS Object Storage
IONOS_MCP_LOAD_MODETool registration strategy. '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). 'router'
A read-only 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. 112 tools across 6 IONOS CLOUD products — list, inspect, and audit your infrastructure through natural-language prompts or programmatic agentic loops.
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 • Demo • Dev • Related • Changelog
list_*, get_*, head_*). The server cannot create, modify, or delete any resource, so it's safe to connect to production accounts and safe to deploy inside unattended agent loops on CI runners.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 |
All tools follow the list_*, get_*, and head_* naming convention. In lazy mode, two loader tools (ionos_load_compute_tools, ionos_load_objectstorage_tools) register the Compute and Object Storage catalogues on demand; in the default eager mode all tools register at startup. See Tool loading mode.
| Product | Tools | Capabilities |
|---|---|---|
| Compute Engine | 50 | 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 tools total (118 product + 2 loader). For per-tool input/output schemas, see the per-product docs or the full Tool Reference at docs.ionos.com.
Pick whichever fits your workflow.
brew install ionos-cloud/ionos-cloud/ionoscloud-mcp
docker pull ghcr.io/ionos-cloud/ionoscloud-mcp:latest
Run with the MCP stdio transport:
docker run -i --rm \
-e IONOS_TOKEN="$IONOS_TOKEN" \
ghcr.io/ionos-cloud/ionoscloud-mcp
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.
Download the archive for your OS/arch from the latest release. Available for Linux, macOS, and Windows on both amd64 and arm64.
go installgo install github.com/ionos-cloud/ionoscloud-mcp@latest
git clone https://github.com/ionos-cloud/ionoscloud-mcp.git
cd ionoscloud-mcp
make build
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"
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.
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.
The IONOS_MCP_LOAD_MODE environment variable selects how tools are exposed:
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 ignore notifications/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 emits notifications/tools/list_changed. Use only if your MCP client honours that notification AND lacks client-side schema deferral — otherwise eager mode is cheaper.
Parsing is case-insensitive. Unknown values fall back to eager.
{
"mcpServers": {
"ionoscloud": {
"command": "/path/to/ionoscloud-mcp",
"env": {
"IONOS_TOKEN": "your-api-token",
"IONOS_MCP_LOAD_MODE": "lazy"
}
}
}
}
Tool-count limits: Windsurf caps connected MCP servers at 100 tools combined. With the default eager mode the server exposes 112 tools and exceeds that limit. Use lazy loading on Windsurf. For more information, see Selective Tool Loading.
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:
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:
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
make build
# or
go build -o ionoscloud-mcp .
Run make with no arguments to see the available targets.
Issues and pull requests are welcome. For development setup, code style, and testing instructions, see CONTRIBUTING.md. For questions and discussion, use GitHub Discussions.
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 sdk-tooling@ionos.com. Full policy: SECURITY.md.
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.
For more information about the IONOS CLOUD API:
Apache License 2.0 — see LICENSE.