IONOS CLOUD MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IONOS_TOKEN | Yes | API token for control-plane APIs (Compute, DNS, Billing, Certificate Manager, Object Storage management). Generate in IONOS CLOUD DCD under Management → Token Management. | |
| IONOS_MCP_LOAD_MODE | No | Tool loading mode: 'eager' (default, all tools at startup) or 'lazy' (Compute and Object Storage load on demand via sentinel tools). Case-insensitive. | eager |
| IONOS_S3_ACCESS_KEY | No | Optional S3 access key for Object Storage data-plane tools (listing objects, reading bucket configuration, checking access keys). Created under Storage & Backup → IONOS CLOUD Object Storage → Key management. | |
| IONOS_S3_SECRET_KEY | No | Optional S3 secret key for Object Storage data-plane tools. Required if IONOS_S3_ACCESS_KEY is provided. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_application_loadbalancerB | Get details of a specific application load balancer (ALB) |
| get_billing_focus_specA | 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_invoiceA | 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. |
| get_billing_profileA | 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_datacenterA | 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. |
| get_billing_utilization_dailyA | 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. |
| get_cert_auto_certificateA | Get details of a specific auto-certificate by ID |
| get_cert_certificateA | Get details of a specific SSL/TLS certificate by ID. Returns certificate metadata and public key material but not the private key. |
| get_cert_providerA | Get details of a specific certificate provider by ID. Returns provider configuration but not the external account binding secret. |
| get_contractB | Get contract and resource limit information for your IONOS CLOUD account |
| get_datacenterA | Get details of a specific virtual data center |
| get_dns_quotaA | Get DNS quota usage and limits for your IONOS CLOUD account |
| get_dns_recordB | Get details of a specific DNS record in a zone |
| get_dns_reverse_recordB | Get details of a specific reverse DNS record |
| get_dns_secondary_zoneB | Get details of a specific secondary DNS zone |
| get_dns_secondary_zone_axfrB | Get the zone transfer (AXFR) status of a specific secondary DNS zone |
| get_dns_zoneB | Get details of a specific DNS zone |
| get_dns_zone_fileB | Get the zone file (BIND format) for a specific DNS zone |
| get_firewall_ruleC | Get details of a specific firewall rule |
| get_ip_blockA | Get details of a specific reserved IP block |
| get_lanC | Get details of a specific LAN |
| get_loadbalancerC | Get details of a specific load balancer |
| get_nat_gatewayA | Get details of a specific NAT gateway |
| get_network_loadbalancerB | Get details of a specific network load balancer (NLB) |
| get_nicB | Get details of a specific network interface (NIC) |
| get_object_storage_access_keyA | Get details of a specific Object Storage access key by its ID. Returns key metadata but not the secret key. |
| get_object_storage_bucket_corsA | Get the CORS configuration for an Object Storage bucket. |
| get_object_storage_bucket_encryptionA | Get the server-side encryption configuration for an Object Storage bucket. |
| get_object_storage_bucket_lifecycleB | Get the lifecycle configuration for an Object Storage bucket. |
| get_object_storage_bucket_locationB | Get the region/location of an Object Storage bucket. |
| get_object_storage_bucket_lock_configurationB | Get the Object Lock configuration for an Object Storage bucket. |
| get_object_storage_bucket_policyB | Get the bucket policy for an Object Storage bucket. |
| get_object_storage_bucket_policy_statusB | Get the policy status for an Object Storage bucket, indicating whether the bucket is public. |
| get_object_storage_bucket_public_access_blockB | Get the public access block configuration for an Object Storage bucket. |
| get_object_storage_bucket_replicationB | Get the replication configuration for an Object Storage bucket. |
| get_object_storage_bucket_taggingB | Get the tags for an Object Storage bucket. |
| get_object_storage_bucket_versioningB | Get the versioning configuration for an Object Storage bucket. |
| get_object_storage_object_legal_holdB | Get the Object Lock legal hold status for an object in an Object Storage bucket. |
| get_object_storage_object_retentionA | Get the Object Lock retention configuration for an object in an Object Storage bucket. |
| get_object_storage_object_taggingB | Get the tags for an object in an Object Storage bucket. |
| get_object_storage_regionA | Get details of a specific Object Storage region by name (e.g. eu-central-3). |
| get_private_cross_connectA | Get details of a specific private cross-connect |
| get_requestB | Get details of a specific API request |
| get_request_statusB | Get the status of a specific API request |
| get_security_groupC | Get details of a specific security group |
| get_security_group_ruleB | Get details of a specific security group rule |
| get_serverC | Get details of a specific server |
| get_server_gpuA | Get details of a specific GPU attached to a server |
| get_server_remote_consoleB | Get the remote console URL for a specific server |
| get_snapshotC | Get details of a specific snapshot |
| get_target_groupB | Get details of a specific target group |
| get_templateB | Get details of a specific server template |
| get_volumeB | Get details of a specific volume |
| head_object_storage_bucketB | Check whether an Object Storage bucket exists and is accessible with the current credentials. |
| head_object_storage_objectA | 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. |
| list_activitylog_contractsA | 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_eventsA | 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. |
| list_alb_forwarding_rulesB | List all forwarding rules of an application load balancer |
| list_application_loadbalancersA | List all application load balancers (ALB) in a data center |
| list_billing_evnA | 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. |
| list_billing_evn_by_periodA | 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. |
| list_billing_invoicesA | 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. |
| list_billing_invoices_by_periodA | 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. |
| list_billing_productsA | 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'. |
| list_billing_trafficA | 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. |
| list_billing_traffic_by_periodA | 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. |
| list_billing_usageA | 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. |
| list_billing_utilizationA | 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. |
| list_billing_utilization_by_periodA | 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. |
| list_cert_auto_certificatesA | List all auto-certificates in your IONOS Cloud Certificate Manager account |
| list_cert_certificatesA | 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_providersA | List all certificate providers in your IONOS Cloud Certificate Manager account. Returns provider configuration but not the external account binding secret. |
| list_datacentersA | List all virtual data centers in your IONOS CLOUD account |
| list_dns_recordsA | List all DNS records across all zones |
| list_dns_reverse_recordsA | List all reverse DNS records in your IONOS CLOUD account |
| list_dns_secondary_zone_recordsB | List all DNS records in a specific secondary zone |
| list_dns_secondary_zonesA | List all secondary DNS zones in your IONOS CLOUD account |
| list_dns_zone_dnssec_keysA | List DNSSEC keys for a specific DNS zone |
| list_dns_zone_recordsA | List all DNS records in a specific zone |
| list_dns_zonesA | List all DNS zones in your IONOS CLOUD account |
| list_firewall_rulesA | List all firewall rules on a network interface |
| list_imagesA | List all available images (OS templates) in IONOS CLOUD |
| list_ip_blocksB | List all reserved IP blocks in your IONOS CLOUD account |
| list_lan_nicsB | List all NICs attached to a specific LAN |
| list_lansA | List all LANs in a data center |
| list_loadbalancer_nicsB | List all NICs balanced by a specific load balancer |
| list_loadbalancersA | List all load balancers in a data center |
| list_locationsA | List all available locations (regions) in IONOS CLOUD |
| list_nat_gateway_rulesA | List all rules of a specific NAT gateway |
| list_nat_gatewaysA | List all NAT gateways in a data center |
| list_network_loadbalancersB | List all network load balancers (NLB) in a data center |
| list_nicsA | List all network interfaces (NICs) attached to a server |
| list_nlb_forwarding_rulesB | List all forwarding rules of a network load balancer |
| list_object_storage_access_keysA | List all Object Storage access keys for the contract. Returns key IDs and metadata but not the secret keys. |
| list_object_storage_bucketsA | List all Object Storage buckets owned by the contract. |
| list_object_storage_object_versionsA | List all versions of objects in an Object Storage bucket. Requires versioning to be enabled on the bucket. Supports an optional prefix filter. |
| list_object_storage_objectsA | 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. |
| list_object_storage_regionsA | List all available Object Storage regions. |
| list_private_cross_connectsA | List all private cross-connects in your IONOS CLOUD account |
| list_requestsB | List all API requests in your IONOS CLOUD account |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| focus-v1.3 | FOCUS v1.3 column names, allowed values, and IONOS tool → FOCUS field mappings. Read this when producing standards-compliant billing output. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ionos-cloud/ionoscloud-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server