{
  "markdown": "![Official IONOS Cloud](https://img.shields.io/badge/IONOS%20Cloud-Official-00BFFF.svg)\n[![Apache 2.0](https://img.shields.io/github/license/ionos-cloud/ionoscloud-mcp)](LICENSE)\n[![Go reference](https://pkg.go.dev/badge/github.com/ionos-cloud/ionoscloud-mcp.svg)](https://pkg.go.dev/github.com/ionos-cloud/ionoscloud-mcp)\n\n![Alt text](.github/LOGO_CLOUD_B_RGB.svg?raw=true \"Title\")\n\n# IONOS CLOUD MCP Server\n\nA **read-only-by-default** [Model Context Protocol](https://modelcontextprotocol.io/) (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), Managed Kubernetes (clusters, node pools, nodes) and DNS (zones, records, reverse records, DNSSEC) are strictly opt-in and create real, billable resources — see [Write operations](#write-operations).\n\nBuilt 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.\n\n**Compatibility:** MCP spec 2024-11-05 · Go 1.25+ for builds · OCI images for linux/amd64 and linux/arm64.\n\n> 📚 **Full product documentation, per-client setup guides, FAQ, and tutorials:** [docs.ionos.com/cloud/ai/mcp-server](https://docs.ionos.com/cloud/ai/mcp-server)\n\n**Get started in 60 seconds** (macOS or Linux, via Homebrew):\n\n```bash\nbrew install ionos-cloud/ionos-cloud/ionoscloud-mcp\n```\n\nFor other install paths (Docker, pre-built binary, `go install`, source), see [Installation](#installation).\n\n<p align=\"center\">\n<a href=\"#why\">Why</a> •\n<a href=\"#registries--directories\">Registries</a> •\n<a href=\"#supported-products\">Products</a> •\n<a href=\"#installation\">Install</a> •\n<a href=\"#configuration\">Config</a> •\n<a href=\"#tool-loading-mode\">Tool loading</a> •\n<a href=\"#wire-transport\">Transport</a> •\n<a href=\"#write-operations\">Write ops</a> •\n<a href=\"#demo\">Demo</a> •\n<a href=\"#development\">Dev</a> •\n<a href=\"#related-projects\">Related</a> •\n<a href=\"#changelog\">Changelog</a>\n</p>\n\n## Why\n\n* **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 set `IONOS_MCP_TOOL_SCOPE`, and even then every create and delete requires a two-phase confirmation (preview → one-time token → execute). See [Write operations](#write-operations).\n* **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.\n* **EU-sovereign option** — pair the server with the [IONOS CLOUD AI Model Hub](https://docs.ionos.com/cloud/ai/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](https://docs.ionos.com/cloud/ai/mcp-server/use-cases/sovereign-ai-workflow) guide.\n* **Open source** — Apache 2.0. Read the source, audit the behaviour, contribute, or fork.\n\n## Registries & Directories\n\nThis server is published across multiple MCP registries and IDE marketplaces:\n\n| Registry | Link |\n|----------|------|\n| Official MCP Registry | [io.github.ionos-cloud/ionoscloud-mcp](https://registry.modelcontextprotocol.io/v0/servers?cursor=io.github.ionos-cloud) |\n| Smithery | [ionos-cloud/ionoscloud-mcp](https://smithery.ai/servers/ionos-cloud/ionoscloud-mcp) |\n| mcp.so | [ionos-cloud-mcp-server](https://mcp.so/server/ionos-cloud-mcp-server/ionos-cloud) |\n| Glama | [ionoscloud-mcp](https://glama.ai/mcp/servers/ionos-cloud/ionoscloud-mcp) |\n| Cursor | [ionoscloud-mcp](https://cursor.directory/plugins/ionoscloud-mcp) |\n| mcpservers.org | [ionoscloud-mcp](https://mcpservers.org/servers/ionos-cloud/ionoscloud-mcp) |\n| PulseMCP | [ionoscloud](https://www.pulsemcp.com/servers/ionoscloud) |\n| MCPMarket | [ionos-cloud](https://mcpmarket.com/server/ionos-cloud) |\n| punkpeye/awesome-mcp-servers | [ionos-cloud/ionoscloud-mcp](https://github.com/punkpeye/awesome-mcp-servers) |\n\n## Supported products\n\nRead 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](#tool-loading-mode).\n\n| Product | Tools | Capabilities |\n|---|---|---|\n| [Compute Engine](docs/compute/) | 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 |\n| [Kubernetes](docs/k8s/) | 8 + 8 write | Clusters, node pools, nodes, available versions |\n| [Object Storage](docs/objectstorage/) | 23 | Buckets, bucket configuration (CORS, encryption, lifecycle, policy, public access block, replication, tagging, versioning, Object Lock), objects, access keys, regions |\n| [DNS](docs/dns/) | 14 + 16 write | Zones, zone files (+ BIND import), records, reverse records, secondary zones (+ zone transfer), DNSSEC, quota |\n| [Billing](docs/billing/) | 15 | Profile, invoices, EVN (provisioning intervals), traffic, usage, utilization, product pricing catalog, FOCUS v1.3 spec |\n| [Certificate Manager](docs/cert/) | 6 | Certificates, auto-certificates, providers |\n| [Activity Log](docs/activitylog/) | 2 | Contracts, events |\n\n**118 read-only tools**, plus **93 opt-in write tools** on Compute Engine, Kubernetes and DNS — see [Write operations](#write-operations). For per-tool input/output schemas, see the [per-product docs](docs/) or the full [Tool Reference](https://docs.ionos.com/cloud/ai/mcp-server/tool-reference) at docs.ionos.com.\n\n## Installation\n\nPick whichever fits your workflow.\n\n### Homebrew (macOS, Linux) — recommended\n\n```bash\nbrew install ionos-cloud/ionos-cloud/ionoscloud-mcp\n```\n\n### Docker (linux/amd64, linux/arm64)\n\n```bash\ndocker pull ghcr.io/ionos-cloud/ionoscloud-mcp:latest\n```\n\nRun with the MCP stdio transport (default):\n\n```bash\ndocker run -i --rm \\\n  -e IONOS_TOKEN=\"$IONOS_TOKEN\" \\\n  ghcr.io/ionos-cloud/ionoscloud-mcp\n```\n\nOr over HTTP (see [Wire transport](#wire-transport)):\n\n```bash\ndocker run --rm -p 8080:8080 \\\n  -e IONOS_TOKEN=\"$IONOS_TOKEN\" \\\n  ghcr.io/ionos-cloud/ionoscloud-mcp --transport http --http-addr :8080\n```\n\n### Smithery\n\n```bash\nnpx -y @smithery/cli install @ionos-cloud/ionoscloud-mcp --client claude-desktop\n```\n\nSupported `--client` values: `claude-desktop`, `claude-code`, `cursor`, `vscode`, `windsurf`, `cline`, `continue`, `gemini-cli`, `kiro`, and others. See the [Smithery listing](https://smithery.ai/servers/ionos-cloud/ionoscloud-mcp) for the current list.\n\n### Pre-built binary\n\nDownload the archive for your OS/arch from the [latest release](https://github.com/ionos-cloud/ionoscloud-mcp/releases/latest). Available for Linux, macOS, and Windows on both amd64 and arm64.\n\n### `go install`\n\n```bash\ngo install github.com/ionos-cloud/ionoscloud-mcp@latest\n```\n\n### From source\n\n```bash\ngit clone https://github.com/ionos-cloud/ionoscloud-mcp.git\ncd ionoscloud-mcp\nmake build\n```\n\n## Configuration\n\nYou need an IONOS CLOUD account with API credentials.\n\n```bash\n# Required: API token for control-plane APIs (Compute, DNS, Billing, Certificate Manager, Object Storage management)\nexport IONOS_TOKEN=\"your-api-token\"\n\n# Optional: only required if you use Object Storage data-plane tools\n# (listing objects, reading bucket configuration, checking access keys).\nexport IONOS_S3_ACCESS_KEY=\"your-s3-access-key\"\nexport IONOS_S3_SECRET_KEY=\"your-s3-secret-key\"\n\n# Optional: opt in to write operations (default: read-only). Values are hierarchical,\n# so a single level suffices: \"write\" allows create/update; \"destructive\" also allows\n# delete (it implies \"write\"). See \"Write operations\".\n# export IONOS_MCP_TOOL_SCOPE=\"write\"\n```\n\nGenerate a token in the [IONOS CLOUD DCD](https://dcd.ionos.com/) under **Management → Token Management**. Object Storage credentials are created under **Storage & Backup → IONOS CLOUD Object Storage → Key management**.\n\nFor least-privilege token scoping, see [Authentication](https://docs.ionos.com/cloud/ai/mcp-server/configuration/authentication) at docs.ionos.com.\n\n### Integrating with an MCP client (manual)\n\nAdd the server to your AI client's MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"ionoscloud\": {\n      \"command\": \"/path/to/ionoscloud-mcp\",\n      \"env\": {\n        \"IONOS_TOKEN\": \"your-api-token\",\n        \"IONOS_S3_ACCESS_KEY\": \"your-s3-access-key\",\n        \"IONOS_S3_SECRET_KEY\": \"your-s3-secret-key\"\n      }\n    }\n  }\n}\n```\n\nThe Object Storage credentials are only needed if you plan to use Object Storage tools.\n\nPer-client setup guides for the 12 supported AI clients: [Connect to an AI Client](https://docs.ionos.com/cloud/ai/mcp-server/connect-to-an-ai-client) at docs.ionos.com.\n\n## Tool loading mode\n\nThe 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.\n\n- **`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).\n\n- **`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.\n\n- **`dynamic`** (alias: `search`): the server exposes only **three** meta-tools — `ionos_search_tools`, `ionos_describe_tools` and `ionos_call_tool` — and the model discovers and invokes the full catalogue through them at runtime. The real tool list never changes, so unlike `lazy` this needs no `notifications/tools/list_changed` support. 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 must `search` → `describe` → `call` rather than seeing tools directly, costing extra round-trips, so prefer `eager` on Claude Code.\n\nThe server logs the effective mode and its source (flag / env / default) to stderr at startup, e.g. `load mode: dynamic (source: --load-mode flag)`.\n\n```json\n{\n  \"mcpServers\": {\n    \"ionoscloud\": {\n      \"command\": \"/path/to/ionoscloud-mcp\",\n      \"args\": [\"--load-mode\", \"dynamic\"],\n      \"env\": {\n        \"IONOS_TOKEN\": \"your-api-token\"\n      }\n    }\n  }\n}\n```\n\n**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](https://docs.ionos.com/cloud/ai/mcp-server/configuration/selective-tool-loading).\n\n## Wire transport\n\nThe 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](https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http) with `--transport http` or `IONOS_MCP_TRANSPORT=http`; **the flag wins if both are set**.\n\n```bash\n./ionoscloud-mcp --transport http --http-addr :8080\n```\n\n- `--transport <stdio|http>` (or `IONOS_MCP_TRANSPORT`) — selects the transport. Unrecognised values fall back to `stdio` with a warning.\n- `--http-addr <addr>` (or `IONOS_MCP_HTTP_ADDR`) — listen address for the HTTP transport. Default `127.0.0.1:8080` (local-only); use `:8080` to listen on all interfaces. Ignored for stdio.\n\nThe server logs the effective transport and its source to stderr at startup, e.g. `transport: http (source: --transport flag)`.\n\nIn 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.\n\n## Write operations\n\n**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.\n\nScope is a comma-separated, hierarchical set of capabilities (`read` is always on):\n\n| `IONOS_MCP_TOOL_SCOPE`   | Enables                                        |\n|--------------------------|------------------------------------------------|\n| unset / `read` (default) | read-only (`list_*`, `get_*`, `head_*`)                                  |\n| `write`                  | the above **+** `create_*`, `update_*`, and the non-disruptive actions `start_`, `resume_`, `attach_`, `assign_` |\n| `destructive`            | the above **+** `delete_*` and the disruptive actions `stop_`, `reboot_`, `suspend_`, `upgrade_`, `restore_`, `detach_`, `recreate_`, `import_` (implies `write`) |\n\nUnrecognised 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).\n\n### What can be written\n\n| Area | Resources |\n|------|-----------|\n| Compute | data centers, servers (+ start/stop/reboot/suspend/resume/upgrade), volumes (+ snapshot & restore, attach/detach), NICs, LANs |\n| Networking | IP blocks (reserve and release only), security groups + rules, firewall rules, private cross connects |\n| Load balancing | classic, network and application load balancers + forwarding rules, target groups, NAT gateways + rules |\n| Images | snapshot and image update/delete |\n| Kubernetes | clusters, node pools (scale, upgrade, autoscaling, LANs, labels, annotations), single nodes (recreate, delete) |\n| DNS | primary zones (+ BIND zone-file import), records, secondary zones (+ zone transfer), reverse records, DNSSEC enable/disable |\n\n93 tools in total. The server exposes 118 at the default read-only scope, 175 with `write`, and 211 with `destructive`. Reads are unaffected and always available.\n\n**Two-phase confirmation.** Every `create_*` and `delete_*`, plus the disruptive actions (`stop_`, `reboot_`, `suspend_`, `upgrade_`, `restore_`, `detach_`, `recreate_`), is confirmation-gated, along with the DNS zone-file import. 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.\n\n**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, and `import_dns_zone_file` is a `PUT` that replaces every record in a zone.\n\n---\n\n> ## ⚠️ Write operations create real resources and real charges\n>\n> **Enabling `IONOS_MCP_TOOL_SCOPE` lets an AI model provision billable infrastructure in your live IONOS CLOUD account.** Every create is a real resource on a real invoice, effective immediately.\n>\n> 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.\n>\n> **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.\n>\n> **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.\n>\n> Reduce the risk: leave the server read-only unless you need writes; grant `write` rather than `destructive` when 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.\n\n---\n\nEnable writes in your MCP client config, for example:\n\n```json\n{\n  \"mcpServers\": {\n    \"ionoscloud\": {\n      \"command\": \"/path/to/ionoscloud-mcp\",\n      \"env\": {\n        \"IONOS_TOKEN\": \"your-api-token\",\n        \"IONOS_MCP_TOOL_SCOPE\": \"destructive\"\n      }\n    }\n  }\n}\n```\n\n## Demo\n\nIn 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:\n\n- **Cost audit:** *\"Audit my IONOS CLOUD account, find the top 5 cost-inducing resources this month, and suggest cost-efficiency tips.\"*\n- **Security sweep:** *\"List every bucket whose public access block is off or whose policy is public — flag anything that looks unintentional.\"*\n- **Audit trail:** *\"Show me every failed API request on my contract in the last 30 days, grouped by user.\"*\n- **Forgotten resources:** *\"Find unattached volumes, unused IP blocks, and stopped servers across all my data centers.\"*\n- **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.\"*\n- **Certificate expiry:** *\"Which certificates on my account expire in the next 60 days?\"*\n- **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.\"*\n- **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.\"*\n\nEach 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:\n\n* [Run a security posture audit on your IONOS CLOUD Object Storage buckets](https://docs.ionos.com/cloud/tutorials/ai/mcp-server/object-storage-security-audit)\n* [Generate a FOCUS-compliant cost report](https://docs.ionos.com/cloud/tutorials/ai/mcp-server/focus-billing-finops)\n\n## Development\n\n### Testing the MCP protocol locally\n\nYou can test the server's MCP protocol implementation using stdin/stdout:\n\n```bash\n# Initialize and list tools\n{\n  echo '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2024-11-05\",\"capabilities\":{},\"clientInfo\":{\"name\":\"test\",\"version\":\"0.1.0\"}}}'\n  echo '{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}'\n  echo '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\",\"params\":{}}'\n  sleep 1\n} | ./ionoscloud-mcp\n\n# Call a tool (requires a valid IONOS_TOKEN)\n{\n  echo '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2024-11-05\",\"capabilities\":{},\"clientInfo\":{\"name\":\"test\",\"version\":\"0.1.0\"}}}'\n  echo '{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}'\n  echo '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"list_datacenters\",\"arguments\":{}}}'\n  sleep 1\n} | ./ionoscloud-mcp\n```\n\n### Building from source\n\n```bash\nmake build\n# or\ngo build -o ionoscloud-mcp .\n```\n\nRun `make` with no arguments to see the available targets.\n\n## Related projects\n\n* [IONOS CLOUD MCP Server product docs](https://docs.ionos.com/cloud/ai/mcp-server) — full product documentation\n* [IONOS CLOUD AI Model Hub](https://docs.ionos.com/cloud/ai/ai-model-hub) — open-weight LLMs hosted in Germany; pair with this server for a fully EU-sovereign AI loop\n* [IONOS CLOUD Documentation MCP](https://docs.ionos.com/cloud/~gitbook/mcp) — a free public MCP server exposing the IONOS docs site for AI assistants\n\n## Contributing\n\nIssues and pull requests are welcome. For development setup, code style, and testing instructions, see [CONTRIBUTING.md](CONTRIBUTING.md). For questions and discussion, use [GitHub Discussions](https://github.com/ionos-cloud/ionoscloud-mcp/discussions).\n\n## Security\n\nIf you believe you have found a security vulnerability, **please do not open a public issue**. Report it privately via GitHub's [private vulnerability reporting](https://github.com/ionos-cloud/ionoscloud-mcp/security/advisories/new) or by email to `sdk-tooling@ionos.com`. Full policy: [SECURITY.md](SECURITY.md).\n\n## Changelog\n\nNotable changes per release are tracked in [CHANGELOG.md](CHANGELOG.md). For the artefacts published with each tag (Linux/macOS/Windows binaries, multi-arch OCI images), see the [GitHub Releases](https://github.com/ionos-cloud/ionoscloud-mcp/releases) page.\n\n## API documentation\n\nFor more information about the IONOS CLOUD API:\n\n* [IONOS CLOUD API Documentation](https://api.ionos.com/docs/)\n* [API specifications](https://github.com/ionos-cloud/rest-api/tree/main/public)\n* [SDK documentation](https://github.com/ionos-cloud/sdk-go-bundle)\n\n## License\n\nApache License 2.0 — see [LICENSE](LICENSE).\n\n",
  "bytes": 22957,
  "sha": "ed65b0fa811c1cf67758fe85f5a657817936b2206a08580c2ffd6e584d79bd0a",
  "repo_slug": "ionos-cloud/ionoscloud-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ionos_cloud_ionoscloud_mcp_7b2dfec3/readme"
}