# IONOS CLOUD MCP Server (oci · ghcr.io/ionos-cloud/ionoscloud-mcp:1.0.1)

Inspect IONOS CLOUD infrastructure via MCP

- Trust score: 44/100 (low)
- Change this week: −3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- oci · `ghcr.io/ionos-cloud/ionoscloud-mcp:1.0.1`: 44/100 (this document), [markdown](https://verifymcp.io/servers/ionos-cloud-ionoscloud-mcp/ghcr-io-ionos-cloud-ionoscloud-mcp-1-0-1.md), [page](https://verifymcp.io/servers/ionos-cloud-ionoscloud-mcp/ghcr-io-ionos-cloud-ionoscloud-mcp-1-0-1)

## Channel facts

- Registry: `oci`
- Package: `ghcr.io/ionos-cloud/ionoscloud-mcp:1.0.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 0/100
  - Malware scan not yet available for this package.
  - CVE data not yet available for this package.
  - Install-script risk not yet assessed.
  - Dependency-health data not yet available.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 37 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 85/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 8375 tokens (~70/item across 119 items; 118 tools + 1 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add ionos-cloud-ionoscloud-mcp -- docker run --rm -i ghcr.io/ionos-cloud/ionoscloud-mcp:1.0.1
```

### Codex

```bash
codex mcp add ionos-cloud-ionoscloud-mcp -- docker run --rm -i ghcr.io/ionos-cloud/ionoscloud-mcp:1.0.1
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ionos-cloud-ionoscloud-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/ionos-cloud/ionoscloud-mcp:1.0.1"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  ionos-cloud-ionoscloud-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/ionos-cloud/ionoscloud-mcp:1.0.1"]
```

### Other

```json
{
  "mcpServers": {
    "ionos-cloud-ionoscloud-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/ionos-cloud/ionoscloud-mcp:1.0.1"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 44, +3)

- [functional improvement] Stability: unverified → 0.20

### 2026-07-31 (score 41, −6)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 47, +36)

- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: pass

### 2026-07-26 (score 11)

First indexed and scored.

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (118)

### `get_application_loadbalancer` (~83 tokens)

Get details of a specific application load balancer (ALB)

Input parameters:

- `application_loadbalancer_id` (string, required): the ID of the application load balancer
- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

### `get_billing_focus_spec` (~61 tokens)

Returns the FOCUS v1.3 column specification and IONOS tool → FOCUS field mappings. Call before mapping IONOS invoice/usage/traffic data to FOCUS format, or when user asks for FOCUS-compliant cost output.

### `get_billing_invoice` (~93 tokens)

Get the detailed line-item breakdown for a specific invoice by ID. Use list_billing_invoices first to find available invoice IDs. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile
- `invoice_id` (string, required): the invoice ID (e.g. GY00111111)

### `get_billing_profile` (~45 tokens)

Get the billing profile for your IONOS CLOUD account. Call this first before any other billing tool — the contract number in the response is required by all other billing tools.

### `get_billing_usage_by_datacenter` (~129 tokens)

Get aggregated resource usage for a specific datacenter (VDC UUID) in the current billing period. Use list_billing_usage first to find datacenter IDs. Defaults exclude zero-quantity meters (set include_zero=true to keep them). For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile
- `datacenter_id` (string, required): the VDC UUID
- `include_zero` (null|boolean): include meters with quantity 0 (default false)

### `get_billing_utilization_daily` (~341 tokens)

Get per-resource utilization for a specific date (YYYY-MM-DD). Use this for day-level analysis within a month. Same compaction flags as list_billing_utilization. For contracts with many datacenters, scope with regions, datacenter_id, or meter_types — or set top_n=10 for a flat global top-N list — before group_by=datacenter to keep the response under 25 KB. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile
- `datacenter_id` (null|string): scope to a single datacenter (VDC UUID)
- `date` (string, required): date in YYYY-MM-DD format (e.g. 2026-04-15)
- `group_by` (null|string): aggregation level: omitted or '' = per-resource (default), 'meter' = sum per SKU per datacenter, 'datacenter' = sum per type per datacenter
- `include_zero` (null|boolean): include meters with quantity 0 (default false)
- `meter_types` (null|array): filter to these meter type categories only (client-side); e.g. ['DBAAS']
- `regions` (null|array): filter to these regions only (client-side); e.g. ['de/fra']
- `top_n` (null|integer): return only the N largest meters globally, sorted by quantity desc (flat list, datacenters[] omitted). When combined with group_by='datacenter', top_meters[] rows have no meter_id

### `get_cert_auto_certificate` (~37 tokens)

Get details of a specific auto-certificate by ID

Input parameters:

- `auto_certificate_id` (string, required): the ID of the auto-certificate

### `get_cert_certificate` (~47 tokens)

Get details of a specific SSL/TLS certificate by ID. Returns certificate metadata and public key material but not the private key.

Input parameters:

- `certificate_id` (string, required): the ID of the certificate

### `get_cert_provider` (~44 tokens)

Get details of a specific certificate provider by ID. Returns provider configuration but not the external account binding secret.

Input parameters:

- `provider_id` (string, required): the ID of the certificate provider

### `get_contract` (~40 tokens)

Get contract and resource limit information for your IONOS CLOUD account

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5)

### `get_datacenter` (~58 tokens)

Get details of a specific virtual data center

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

### `get_dns_quota` (~24 tokens)

Get DNS quota usage and limits for your IONOS CLOUD account

### `get_dns_record` (~48 tokens)

Get details of a specific DNS record in a zone

Input parameters:

- `record_id` (string, required): the ID of the DNS record
- `zone_id` (string, required): the ID of the DNS zone

### `get_dns_reverse_record` (~35 tokens)

Get details of a specific reverse DNS record

Input parameters:

- `reverse_record_id` (string, required): the ID of the reverse DNS record

### `get_dns_secondary_zone` (~35 tokens)

Get details of a specific secondary DNS zone

Input parameters:

- `secondary_zone_id` (string, required): the ID of the secondary DNS zone

### `get_dns_secondary_zone_axfr` (~44 tokens)

Get the zone transfer (AXFR) status of a specific secondary DNS zone

Input parameters:

- `secondary_zone_id` (string, required): the ID of the secondary DNS zone

### `get_dns_zone` (~31 tokens)

Get details of a specific DNS zone

Input parameters:

- `zone_id` (string, required): the ID of the DNS zone

### `get_dns_zone_file` (~39 tokens)

Get the zone file (BIND format) for a specific DNS zone

Input parameters:

- `zone_id` (string, required): the ID of the DNS zone

### `get_firewall_rule` (~93 tokens)

Get details of a specific firewall rule

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5)
- `firewallrule_id` (string, required): the ID of the firewall rule
- `nic_id` (string, required): the ID of the network interface
- `server_id` (string, required): the ID of the server

### `get_ip_block` (~51 tokens)

Get details of a specific reserved IP block

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5)
- `ipblock_id` (string, required): the ID of the IP block

### `get_k8s_cluster` (~61 tokens)

Get details of a specific Kubernetes cluster

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `k8s_cluster_id` (string, required): the ID of the Kubernetes cluster

### `get_k8s_default_version` (~31 tokens)

Get the current default Kubernetes version used by new clusters and node pools in IONOS CLOUD

### `get_k8s_node` (~88 tokens)

Get details of a specific node in a Kubernetes node pool

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5)
- `k8s_cluster_id` (string, required): the ID of the Kubernetes cluster
- `node_id` (string, required): the ID of the Kubernetes node
- `nodepool_id` (string, required): the ID of the Kubernetes node pool

### `get_k8s_nodepool` (~79 tokens)

Get details of a specific Kubernetes node pool

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `k8s_cluster_id` (string, required): the ID of the Kubernetes cluster
- `nodepool_id` (string, required): the ID of the Kubernetes node pool

### `get_lan` (~69 tokens)

Get details of a specific LAN

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `lan_id` (string, required): the ID of the LAN

### `get_loadbalancer` (~76 tokens)

Get details of a specific load balancer

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `loadbalancer_id` (string, required): the ID of the load balancer

### `get_nat_gateway` (~72 tokens)

Get details of a specific NAT gateway

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `nat_gateway_id` (string, required): the ID of the NAT gateway

### `get_network_loadbalancer` (~83 tokens)

Get details of a specific network load balancer (NLB)

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `network_loadbalancer_id` (string, required): the ID of the network load balancer

### `get_nic` (~86 tokens)

Get details of a specific network interface (NIC)

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `nic_id` (string, required): the ID of the network interface
- `server_id` (string, required): the ID of the server

### `get_object_storage_access_key` (~50 tokens)

Get details of a specific Object Storage access key by its ID. Returns key metadata but not the secret key.

Input parameters:

- `access_key_id` (string, required): the ID of the object storage access key

### `get_object_storage_bucket_cors` (~37 tokens)

Get the CORS configuration for an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_bucket_encryption` (~38 tokens)

Get the server-side encryption configuration for an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_bucket_lifecycle` (~36 tokens)

Get the lifecycle configuration for an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_bucket_location` (~35 tokens)

Get the region/location of an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_bucket_lock_configuration` (~37 tokens)

Get the Object Lock configuration for an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_bucket_policy` (~35 tokens)

Get the bucket policy for an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_bucket_policy_status` (~43 tokens)

Get the policy status for an Object Storage bucket, indicating whether the bucket is public.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_bucket_public_access_block` (~39 tokens)

Get the public access block configuration for an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_bucket_replication` (~36 tokens)

Get the replication configuration for an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_bucket_tagging` (~35 tokens)

Get the tags for an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_bucket_versioning` (~37 tokens)

Get the versioning configuration for an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `get_object_storage_object_legal_hold` (~58 tokens)

Get the Object Lock legal hold status for an object in an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket
- `key` (string, required): the object key (path within the bucket)

### `get_object_storage_object_retention` (~56 tokens)

Get the Object Lock retention configuration for an object in an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket
- `key` (string, required): the object key (path within the bucket)

### `get_object_storage_object_tagging` (~53 tokens)

Get the tags for an object in an Object Storage bucket.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket
- `key` (string, required): the object key (path within the bucket)

### `get_object_storage_region` (~47 tokens)

Get details of a specific Object Storage region by name (e.g. eu-central-3).

Input parameters:

- `region` (string, required): the region name (e.g. eu-central-3)

### `get_private_cross_connect` (~53 tokens)

Get details of a specific private cross-connect

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5)
- `pcc_id` (string, required): the ID of the private cross-connect

### `get_request` (~47 tokens)

Get details of a specific API request

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5)
- `request_id` (string, required): the ID of the request

### `get_request_status` (~49 tokens)

Get the status of a specific API request

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5)
- `request_id` (string, required): the ID of the request

### `get_security_group` (~72 tokens)

Get details of a specific security group

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `security_group_id` (string, required): the ID of the security group

### `get_security_group_rule` (~82 tokens)

Get details of a specific security group rule

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5)
- `rule_id` (string, required): the ID of the security group rule
- `security_group_id` (string, required): the ID of the security group

### `get_server` (~68 tokens)

Get details of a specific server

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `server_id` (string, required): the ID of the server

### `get_server_gpu` (~79 tokens)

Get details of a specific GPU attached to a server

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5)
- `gpu_id` (string, required): the ID of the GPU
- `server_id` (string, required): the ID of the server

### `get_server_remote_console` (~73 tokens)

Get the remote console URL for a specific server

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `server_id` (string, required): the ID of the server

### `get_snapshot` (~46 tokens)

Get details of a specific snapshot

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5)
- `snapshot_id` (string, required): the ID of the snapshot

### `get_target_group` (~50 tokens)

Get details of a specific target group

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5)
- `target_group_id` (string, required): the ID of the target group

### `get_template` (~47 tokens)

Get details of a specific server template

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5)
- `template_id` (string, required): the ID of the template

### `get_volume` (~61 tokens)

Get details of a specific volume

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5)
- `volume_id` (string, required): the ID of the volume

### `head_object_storage_bucket` (~39 tokens)

Check whether an Object Storage bucket exists and is accessible with the current credentials.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket

### `head_object_storage_object` (~77 tokens)

Check whether an object exists in an Object Storage bucket and retrieve its user-defined metadata (x-amz-meta-* headers). Returns an error if the object does not exist or is not accessible.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket
- `key` (string, required): the object key (path within the bucket)

### `list_activitylog_contracts` (~68 tokens)

List contracts accessible for IONOS CLOUD activity log queries. Primarily useful for reseller and partner users with multiple contracts. Single-contract users can skip this — their contract number is embedded in the JWT token returned by get_billing_profile or visible in the IONOS DCD console.

### `list_activitylog_events` (~379 tokens)

Query the IONOS CLOUD activity log: full audit trail of API requests made against a contract (who did what, when, on which resource). Requires ACCESS_ACTIVITY_LOG privilege on the token. Defaults: last 7 days, limit 25, RequestStatusUpdate events excluded. Use user filter to narrow to a specific account. Use event_types to restrict to e.g. ['Error','RequestAccepted']. Maximum date range is 90 days — paginate or narrow the window for longer spans. Use list_activitylog_contracts first to look up the contract number if needed.

Input parameters:

- `contract` (integer, required): the contract number whose activity log to query; reseller/partner users get IDs from list_activitylog_contracts, single-contract users read it from their JWT
- `date_end` (null|string): inclusive end date YYYY-MM-DD; defaults to today when omitted; maximum range is 90 days
- `date_start` (null|string): inclusive start date YYYY-MM-DD; defaults to 7 days ago when omitted
- `event_types` (null|array): filter to these event types only (client-side); e.g. ['Error','RequestAccepted'] — omit Provision and RequestStatusUpdate to cut ~65% of typical log volume
- `include_status_updates` (null|boolean): include RequestStatusUpdate events (default false); these are async provisioning echoes that account for ~55% of log volume and are rarely useful
- `limit` (null|integer): max events to return; defaults to 25; increase only when the user explicitly asks for bulk data
- `offset` (null|integer): 0-based pagination offset
- `user` (null|string): filter by username (client-side); e.g. 'ionosctl-v6@cloud.ionos.com' — drastically reduces output when investigating a specific user

### `list_alb_forwarding_rules` (~82 tokens)

List all forwarding rules of an application load balancer

Input parameters:

- `application_loadbalancer_id` (string, required): the ID of the application load balancer
- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

### `list_application_loadbalancers` (~66 tokens)

List all application load balancers (ALB) in a data center

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

### `list_billing_evn` (~76 tokens)

Get provisioning itemized data (EVN) for your contract for the current billing month. Shows per-resource usage intervals grouped by datacenter. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile

### `list_billing_evn_by_period` (~139 tokens)

Get provisioning itemized data (EVN) for a specific billing period (YYYY-MM). One month per call. If the user requests a range longer than one month, calculate the number of monthly calls required, inform the user, and ask for permission before proceeding. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile
- `period` (string, required): billing period in YYYY-MM format (e.g. 2026-04). Maximum one month per request — for wider ranges call once per month

### `list_billing_invoices` (~68 tokens)

List all invoices for your IONOS CLOUD contract. Returns invoice IDs, dates, and amounts. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile

### `list_billing_invoices_by_period` (~104 tokens)

List invoices for a specific billing period (YYYY-MM). One month per call. If the user requests a range longer than one month, calculate the number of monthly calls required, inform the user, and ask for permission before proceeding. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `period` (string, required): billing period in YYYY-MM format (e.g. 2026-04)

### `list_billing_products` (~211 tokens)

Search the IONOS CLOUD product/pricing catalog by keyword. The filter is applied client-side as a case-insensitive partial match on each product's description — it is not an API-level parameter. Returns non-deprecated products whose description contains the filter string. IMPORTANT: Only call this tool when the user has explicitly specified a product or category they want to see pricing for. If the user asks a broad question like 'what are the prices' or 'show me all products', do NOT guess keywords or call this tool multiple times — instead ask the user which specific product or category they are interested in. Examples of valid filters: 'RAM', 'core', 'storage', 'Kubernetes', 'Postgres', 'network', 'Windows'.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile
- `filter` (string, required): keyword to filter products by description (e.g. 'RAM', 'Kubernetes', 'Postgres', 'storage'). Use broad terms to find relevant pricing

### `list_billing_traffic` (~77 tokens)

Get network traffic data for your contract for the current billing month. Returns per-datacenter and per-NIC inbound/outbound traffic in bytes. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile

### `list_billing_traffic_by_period` (~134 tokens)

Get network traffic data for a specific billing period (YYYY-MM). One month per call. If the user requests a range longer than one month, calculate the number of monthly calls required, inform the user, and ask for permission before proceeding. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile
- `period` (string, required): billing period in YYYY-MM format (e.g. 2026-04). Maximum one month per request — for wider ranges call once per month

### `list_billing_usage` (~157 tokens)

Get aggregated resource usage for your contract for the current billing period. Shows metered quantities (CPU hours, GB-hours, etc.) grouped by datacenter. Defaults exclude zero-quantity meters (set include_zero=true to keep them). Filter by datacenter_id to narrow scope. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile
- `datacenter_id` (null|string): scope to a single datacenter (VDC UUID)
- `include_zero` (null|boolean): include meters with quantity 0 (default false); set true to find datacenters with metered SKUs that didn't consume

### `list_billing_utilization` (~427 tokens)

Get per-resource utilization for the current billing period, grouped by datacenter. Defaults exclude zero-quantity meters (set include_zero=true to find idle resources). Use group_by='meter' or 'datacenter' to aggregate further, or top_n=N for a flat global ranking of the largest meters. Filter by datacenter_id, meter_types, or regions to narrow scope. For contracts with many datacenters, scope with regions, datacenter_id, or meter_types — or set top_n=10 for a flat global top-N list — before group_by=datacenter to keep the response under 25 KB. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile
- `datacenter_id` (null|string): scope to a single datacenter (VDC UUID)
- `group_by` (null|string): aggregation level: omitted or '' = per-resource (default), 'meter' = sum per SKU per datacenter, 'datacenter' = sum per type per datacenter — coarser groupings shrink output but lose detail
- `include_zero` (null|boolean): include meters with quantity 0 (default false); set true to find existing resources that didn't consume in the window
- `meter_types` (null|array): filter to these meter type categories only (client-side); e.g. ['DBAAS','DNS','SERVER']
- `regions` (null|array): filter to these regions only (client-side); e.g. ['de/fra','es/vit']
- `top_n` (null|integer): return only the N largest meters globally, sorted by quantity desc — flat list with dc_id/dc_name on each row, datacenters[] omitted; ideal for cost audits on contracts with many datacenters. When co…

### `list_billing_utilization_by_period` (~401 tokens)

Get per-resource utilization for a specific billing period (YYYY-MM). One month per call. If the user requests a range longer than one month, calculate the number of monthly calls required, inform the user, and ask for permission before proceeding. Same compaction flags as list_billing_utilization (include_zero, group_by, datacenter_id, meter_types, regions, top_n). For contracts with many datacenters, scope with regions, datacenter_id, or meter_types — or set top_n=10 for a flat global top-N list — before group_by=datacenter to keep the response under 25 KB. For FOCUS v1.3 compliant output, read resource ionos://billing/focus-v1.3.

Input parameters:

- `contract` (integer, required): contract number from get_billing_profile
- `datacenter_id` (null|string): scope to a single datacenter (VDC UUID)
- `group_by` (null|string): aggregation level: omitted or '' = per-resource (default), 'meter' = sum per SKU per datacenter, 'datacenter' = sum per type per datacenter
- `include_zero` (null|boolean): include meters with quantity 0 (default false)
- `meter_types` (null|array): filter to these meter type categories only (client-side); e.g. ['DBAAS','DNS','SERVER']
- `period` (string, required): billing period in YYYY-MM format (e.g. 2026-04). Maximum one month per request — for wider ranges call once per month
- `regions` (null|array): filter to these regions only (client-side); e.g. ['de/fra']
- `top_n` (null|integer): return only the N largest meters globally, sorted by quantity desc (flat list, datacenters[] omitted). When combined with group_by='datacenter', top_meters[] rows have no meter_id

### `list_cert_auto_certificates` (~26 tokens)

List all auto-certificates in your IONOS Cloud Certificate Manager account

### `list_cert_certificates` (~39 tokens)

List all SSL/TLS certificates in your IONOS Cloud Certificate Manager account. Returns certificate metadata and public key material but not the private key.

### `list_cert_providers` (~35 tokens)

List all certificate providers in your IONOS Cloud Certificate Manager account. Returns provider configuration but not the external account binding secret.

### `list_datacenters` (~59 tokens)

List all virtual data centers. Returns names and basic properties by default (depth=1).

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1); depth 1 includes names and basic properties

### `list_dns_records` (~17 tokens)

List all DNS records across all zones

### `list_dns_reverse_records` (~23 tokens)

List all reverse DNS records in your IONOS CLOUD account

### `list_dns_secondary_zone_records` (~37 tokens)

List all DNS records in a specific secondary zone

Input parameters:

- `secondary_zone_id` (string, required): the ID of the secondary DNS zone

### `list_dns_secondary_zones` (~24 tokens)

List all secondary DNS zones in your IONOS CLOUD account

### `list_dns_zone_dnssec_keys` (~36 tokens)

List DNSSEC keys for a specific DNS zone

Input parameters:

- `zone_id` (string, required): the ID of the DNS zone

### `list_dns_zone_records` (~33 tokens)

List all DNS records in a specific zone

Input parameters:

- `zone_id` (string, required): the ID of the DNS zone

### `list_dns_zones` (~22 tokens)

List all DNS zones in your IONOS CLOUD account

### `list_firewall_rules` (~86 tokens)

List all firewall rules on a network interface

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `nic_id` (string, required): the ID of the network interface
- `server_id` (string, required): the ID of the server

### `list_images` (~44 tokens)

List all available images (OS templates) in IONOS CLOUD

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1)

### `list_ip_blocks` (~44 tokens)

List all reserved IP blocks in your IONOS CLOUD account

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1)

### `list_k8s_clusters` (~45 tokens)

List all Kubernetes clusters in your IONOS CLOUD account

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1)

### `list_k8s_nodepool_nodes` (~80 tokens)

List all nodes in a Kubernetes node pool

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `k8s_cluster_id` (string, required): the ID of the Kubernetes cluster
- `nodepool_id` (string, required): the ID of the Kubernetes node pool

### `list_k8s_nodepools` (~64 tokens)

List all node pools in a Kubernetes cluster

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `k8s_cluster_id` (string, required): the ID of the Kubernetes cluster

### `list_k8s_versions` (~22 tokens)

List all available Kubernetes versions in IONOS CLOUD

### `list_lan_nics` (~74 tokens)

List all NICs attached to a specific LAN

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `lan_id` (string, required): the ID of the LAN

### `list_lans` (~58 tokens)

List all LANs in a data center

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

### `list_loadbalancer_nics` (~81 tokens)

List all NICs balanced by a specific load balancer

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `loadbalancer_id` (string, required): the ID of the load balancer

### `list_loadbalancers` (~60 tokens)

List all load balancers in a data center

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

### `list_locations` (~43 tokens)

List all available locations (regions) in IONOS CLOUD

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1)

### `list_nat_gateway_rules` (~74 tokens)

List all rules of a specific NAT gateway

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `nat_gateway_id` (string, required): the ID of the NAT gateway

### `list_nat_gateways` (~59 tokens)

List all NAT gateways in a data center

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

### `list_network_loadbalancers` (~66 tokens)

List all network load balancers (NLB) in a data center

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

### `list_nics` (~75 tokens)

List all network interfaces (NICs) attached to a server

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `server_id` (string, required): the ID of the server

### `list_nlb_forwarding_rules` (~82 tokens)

List all forwarding rules of a network load balancer

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `network_loadbalancer_id` (string, required): the ID of the network load balancer

### `list_object_storage_access_keys` (~32 tokens)

List all Object Storage access keys for the contract. Returns key IDs and metadata but not the secret keys.

### `list_object_storage_buckets` (~21 tokens)

List all Object Storage buckets owned by the contract.

### `list_object_storage_object_versions` (~66 tokens)

List all versions of objects in an Object Storage bucket. Requires versioning to be enabled on the bucket. Supports an optional prefix filter.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket
- `prefix` (null|string): optional key prefix to filter versions

### `list_object_storage_objects` (~184 tokens)

List objects in an Object Storage bucket. Supports an optional prefix to filter by key path (e.g. 'images/' to list only objects under that prefix), an optional continuation_token to continue from a previous page, and an optional max_keys to control page size. Returns up to 1000 objects per call by default; use the next_continuation_token from the response as continuation_token in a subsequent call to page through larger result sets.

Input parameters:

- `bucket` (string, required): the name of the object storage bucket
- `continuation_token` (null|string): optional pagination token returned by a previous list operation to continue listing objects
- `max_keys` (null|integer): optional maximum number of objects to return in a single page
- `prefix` (null|string): optional key prefix to filter results (e.g. 'images/' to list only objects under that path)

### `list_object_storage_regions` (~17 tokens)

List all available Object Storage regions.

### `list_private_cross_connects` (~47 tokens)

List all private cross-connects in your IONOS CLOUD account

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1)

### `list_requests` (~42 tokens)

List all API requests in your IONOS CLOUD account

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1)

### `list_security_group_rules` (~74 tokens)

List all rules in a specific security group

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `security_group_id` (string, required): the ID of the security group

### `list_security_groups` (~58 tokens)

List all security groups in a data center

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

### `list_server_cdroms` (~75 tokens)

List all CD-ROMs attached to a specific server

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `server_id` (string, required): the ID of the server

### `list_server_gpus` (~72 tokens)

List all GPUs attached to a specific server

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `server_id` (string, required): the ID of the server

### `list_server_volumes` (~72 tokens)

List all volumes attached to a specific server

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)
- `server_id` (string, required): the ID of the server

### `list_servers` (~56 tokens)

List all servers in a data center

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

### `list_snapshots` (~42 tokens)

List all snapshots in your IONOS CLOUD account

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1)

### `list_target_groups` (~43 tokens)

List all target groups in your IONOS CLOUD account

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1)

### `list_templates` (~41 tokens)

List all available server templates in IONOS CLOUD

Input parameters:

- `depth` (null|integer): nesting depth of returned objects (0-5, default 1)

### `list_volumes` (~57 tokens)

List all volumes in a data center

Input parameters:

- `datacenter_id` (string, required): the ID of the data center
- `depth` (null|integer): nesting depth of returned objects (0-5, default 1 for list operations)

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/ionos-cloud-ionoscloud-mcp/ghcr-io-ionos-cloud-ionoscloud-mcp-1-0-1#diagnostics

## Score history

- 2026-08-03: 44
- 2026-08-02: 44
- 2026-08-01: 41
- 2026-07-31: 41
- 2026-07-30: 47
- 2026-07-29: 47
- 2026-07-28: 47
- 2026-07-27: 47
- 2026-07-26: 11

## Links

- Repository: https://github.com/ionos-cloud/ionoscloud-mcp
- Changelog RSS feed: https://verifymcp.io/servers/ionos-cloud-ionoscloud-mcp/ghcr-io-ionos-cloud-ionoscloud-mcp-1-0-1/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ionos-cloud-ionoscloud-mcp/ghcr-io-ionos-cloud-ionoscloud-mcp-1-0-1/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ionos-cloud-ionoscloud-mcp/ghcr-io-ionos-cloud-ionoscloud-mcp-1-0-1
