Exoscale MCP by usefulapi

io.usefulapi/exoscale

Inspect Exoscale: instances, volumes, SKS, DNS, IPs, quotas and usage; start, stop, reboot VMs.

Yes, your AI can use this right now.Answered a live MCP handshake in 149 ms with no sign-in needed and exposes 26 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://exoscale.usefulapi.io/mcp

26 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
exoscale_list_zonesread-only

List the Exoscale zones (data centers) with their API and object-storage endpoints. Compute, storage and network resources live in one zone each. GET /zone.

exoscale_get_organizationread-only

The Exoscale organization of the API key: id, name, address, country, account balance and currency. GET /organization.

exoscale_list_quotasread-only

Resource quotas of the organization: for each resource its current usage and limit (instances, volumes, elastic IPs, and so on). GET /quota.

exoscale_get_quotaread-only

Usage and limit of one quota entity, for example 'instance'. Use exoscale_list_quotas for the names. GET /quota/{entity}.

exoscale_get_usage_reportread-only

Aggregated usage of the organization for one month: product, variable, quantity and unit per line. GET /usage-report.

exoscale_list_instancesread-only

List the compute instances of one zone: id, name, state, instance type, template, IP addresses and security groups. Call once per zone for a full inventory. GET /instance.

exoscale_get_instanceread-only

Details of one compute instance: state, type, template, disk size, networks, security groups, elastic IPs, snapshots. The cloud-init user-data is never returned. GET /instance/{id}.

exoscale_start_instance

WRITE: start a stopped compute instance (normal boot, no rescue profile). Billing for the instance resumes. Returns an operation; poll it with exoscale_get_operation. PUT /instance/{id}:start.

exoscale_stop_instancecan modify

WRITE: stop a running compute instance. Running services go down and the public IP may change unless it is an elastic IP. Returns an operation; poll it with exoscale_get_operation. PUT /instance/{id}:stop.

exoscale_reboot_instancecan modify

WRITE: reboot a running compute instance. Running services restart and unsaved data in memory is lost. Returns an operation; poll it with exoscale_get_operation. PUT /instance/{id}:reboot.

exoscale_get_operationread-only

State of an asynchronous operation (pending, success, failure, timeout), for example the reply of a start, stop or reboot. Use the same zone as the call that created it. GET /operation/{id}.

exoscale_list_instance_typesread-only

List the compute instance types: family, size, CPUs, GPUs, memory and the zones that offer them. GET /instance-type.

exoscale_get_instance_typeread-only

Details of one instance type: family, size, CPUs, GPUs, memory, zones. GET /instance-type/{id}.

exoscale_list_templatesread-only

List the compute templates (OS images) of a zone: name, family, version, default user, size, visibility. The public list is long: filter by family or page with limit/offset. GET /template.

exoscale_get_templateread-only

Details of one template: name, family, version, default user, size, boot mode, checksum, zones. GET /template/{id}.

exoscale_list_security_groupsread-only

List the security groups of a zone: id, name, description and external sources (firewall), with the rules when the API includes them. GET /security-group.

exoscale_get_security_groupread-only

Details of one security group: description and external sources, with the rules (protocol, ports, network, direction) when the API includes them. GET /security-group/{id}.

exoscale_list_elastic_ipsread-only

List the elastic IP addresses of a zone with description, address family, health-check settings and labels. GET /elastic-ip.

exoscale_get_elastic_ipread-only

Details of one elastic IP: address, CIDR, family, description, health check and labels. GET /elastic-ip/{id}.

exoscale_list_block_storage_volumesread-only

List the block storage volumes of a zone: name, size, state, the instance each is attached to, encryption and snapshots. GET /block-storage.

exoscale_get_block_storage_volumeread-only

Details of one block storage volume: size, block size, state, attached instance, encryption, labels and snapshots. GET /block-storage/{id}.

exoscale_list_sks_clustersread-only

List the Scalable Kubernetes Service (SKS) clusters of a zone: name, version, state, level, CNI, endpoint and node pools. GET /sks-cluster.

exoscale_get_sks_clusterread-only

Details of one SKS cluster: version, state, level, CNI, add-ons, OIDC settings (no secrets), endpoint and node pools. GET /sks-cluster/{id}.

exoscale_list_dns_domainsread-only

List the DNS domains (zones) hosted at Exoscale: id, unicode name, creation date. DNS is the same in every zone. GET /dns-domain.

exoscale_get_dns_domainread-only

Details of one DNS domain. GET /dns-domain/{id}.

exoscale_list_dns_recordsread-only

List the records of one DNS domain: name, type, content, TTL, priority. Use exoscale_list_dns_domains for the domain id. GET /dns-domain/{domain-id}/record.

Alternatives in Other

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”