UpCloud MCP by usefulapi
io.usefulapi/upcloud · v1.11.1
Inspect servers, storage, networks, databases and billing, and start, stop or back up servers.
MCPremoteno credentialsFiles & storage
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 22 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 88/100
What it does: 22 tools · 17 read, 5 write (incl. delete/pay) · Files & storage
Test call upcloud_get_account: needs a key: HTTP 401 (996 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +10
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://upcloud.usefulapi.io/mcpTools
22 tools listed at last check
upcloud_get_accountThe calling account: username, remaining credits and resource limits (cores, memory, storage per tier, IPs, networks, managed services). A cheap way to confirm the token works. UpCloud: GET /1.3/account.upcloud_list_zonesAvailable zones (data centres) with id (e.g. fi-hel1, de-fra1, us-chi1), description and whether they are public or private-cloud. Zone ids are used by every other resource. UpCloud: GET /1.3/zone.upcloud_list_plansFixed-price server plans: name (e.g. 2xCPU-4GB), cores, memory, included storage size/tier and transfer, plus GPU model/amount for GPU plans. UpCloud: GET /1.3/plan.upcloud_list_pricesThe price list per zone in the account's currency: per-hour prices for plans, cores, memory, storage tiers, backups, IPv4 addresses and traffic. UpCloud: GET /1.3/price.upcloud_get_billing_summaryBilling summary for one month with per-resource details (servers, storages, managed databases, object storage, …: amount, hours, plan, zone, labels) and totals. Needs an account allowed to read billing. UpCloud: GET /1.3/account/billing/summary/{yearmonth}.upcloud_list_serversCloud servers on the account (summary: uuid, title, hostname, zone, plan, cores, memory, state, tags, labels). Filter by state, a free-text search (name, title, uuid, zone, IP, hostname, tag or template), tags or labels. Use upcloud_get_server for IPs and disks. UpCloud: GET /1.3/server.upcloud_get_serverFull details of one server: state, plan, cores/memory, network interfaces and IP addresses, attached storage devices, firewall on/off, simple-backup schedule, labels, tags and remote-access settings. UpCloud: GET /1.3/server/{uuid}.upcloud_list_storagesStorage devices: disks, backups, CD-ROM images and OS templates (uuid, title, type, tier, size GB, state, zone, labels). Narrow by `kind`: private (yours), public (UpCloud-provided), normal (disks), backup, cdrom, template or favorite. UpCloud: GET /1.3/storage[/{kind}].upcloud_get_storageDetails of one storage: size, tier, state (e.g. online, backuping), encryption, the servers it is attached to, its backups and backup_rule. Poll this to follow a backup started with upcloud_create_storage_backup. UpCloud: GET /1.3/storage/{uuid}.upcloud_list_ip_addressesEvery IP address on the account: address, family (IPv4/IPv6), access (public/utility/private), the server it is assigned to, zone, PTR record, floating flag and release policy. UpCloud: GET /1.3/ip_address.upcloud_list_firewall_rulesThe firewall rules of one server in evaluation order (position, direction, action, family, protocol, address and port ranges, comment). Whether the firewall is enabled at all is the `firewall` field of upcloud_get_server. UpCloud: GET /1.3/server/{uuid}/firewall_rule.upcloud_list_networksNetworks visible to the account — public, utility and private SDN networks — with their IP subnets, DHCP settings, routes, attached servers and peerings. Optionally only one zone. UpCloud: GET /1.3/network/.upcloud_list_databasesManaged Database services (PostgreSQL, MySQL, Valkey, OpenSearch): uuid, title, type, plan, zone, state, component hosts/ports, backups and labels. Note the response can include connection URIs with credentials. UpCloud: GET /1.3/database.upcloud_list_load_balancersManaged Load Balancer services with their frontends, backends and members, networks, plan, zone, configured status and operational state. UpCloud: GET /1.3/load-balancer.upcloud_list_kubernetes_clustersManaged Kubernetes clusters: name, uuid, zone, plan, state, network/CIDR, control-plane IP filter, labels and node groups (plan, count, state). UpCloud: GET /1.3/kubernetes.upcloud_list_object_storagesManaged Object Storage (S3-compatible) services: uuid, name, region, configured status and operational state, public/private endpoints, custom domains and labels. UpCloud: GET /1.3/object-storage-2.upcloud_list_audit_logsSecurity audit trail of the account (up to 180 days): who did what to which resource, when, from which IP and via API or Hub. Filter by action, origin, resource type, time window or a keyword (UUID, username or IP). Returns total_count for paging. UpCloud: GET /1.3/audit-logs.upcloud_start_serverStart a stopped server (billing for a started server resumes). Fails with 409 if it is not stopped. `async` returns immediately — poll upcloud_get_server for state=started. UpCloud: POST /1.3/server/{uuid}/start.upcloud_stop_serverDISRUPTIVE: stop a running server — it goes offline until started again with upcloud_start_server. soft (default) sends an ACPI shutdown; with a timeout, a hard stop follows if it is still running. hard is like pulling the plug and can lose unsaved data. UpCloud: POST /1.3/server/{uuid}/stop.upcloud_restart_serverDISRUPTIVE: stop and start a running server. soft (default) needs a timeout: after it, timeout_action=destroy hard-stops and restarts, ignore (API default) aborts and leaves the server running. hard power-cycles immediately. UpCloud: POST /1.3/server/{uuid}/restart.upcloud_create_storage_backupTake an on-demand, point-in-time backup of a storage device. Additive (nothing is overwritten) but backups are billed per GB. Asynchronous: the storage goes to a backuping/maintenance state and back to online — poll upcloud_get_storage. UpCloud: POST /1.3/storage/{uuid}/backup.upcloud_modify_serverChange a server's title, hostname and/or simple-backup schedule. Only these reversible fields are exposed — no resizing or plan change (billing) and no firewall toggle. simple_backup is `HHMM,daily|dailies|weeklies|monthlies` (UTC time) or `no` to disable. UpCloud: PUT /1.3/server/{uuid}.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/upcloud)