UpCloud MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.1Updated Nov 14, 2026

Inspect servers, storage, networks, databases and billing, and start, stop or back up servers.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableDatabasesCloud & InfrastructureSecurity & Monitoring

Overview

AI-generated overview

Hosted UpCloud MCP server that lets an assistant inspect cloud servers, storage, networks, databases and billing, and start, stop, restart or back up servers.

What you can do
  • Inspect account, zones, plans, prices and monthly billing summaries
  • List and detail servers, storages, IP addresses, networks and firewall rules
  • List managed databases, load balancers, Kubernetes clusters and object storages
  • Search the account audit log by action, resource, time window or keyword
  • Start, stop and restart servers, take storage backups and rename servers or set backup schedules
  • Check usage limits and manage the paid subscription
When to use it
Useful when you want to ask questions about an UpCloud account in natural language — which servers are running, what last month's bill was, which firewall rules apply — or perform routine power and backup actions without opening the control panel.
Requirements
Remote MCP endpoint reached over HTTP; no local install. Sign-in uses OAuth, and the login page asks for an UpCloud API token (Control Panel, Account, API tokens), which is stored per user. Billing summaries need an account allowed to read billing. A usefulapi.io plan governs call volume: free tier is 50 calls per month.
Before you install
Stop, restart and backup tools change live infrastructure: a hard stop or restart can lose unsaved data, and starting a server resumes billing. Backups are billed per GB. Managed database listings can include connection URIs with credentials. Your UpCloud API token is held by the third-party host, and paid plans are billed through Stripe checkout links.

Installation

In SourceWeft

  1. Open UpCloud MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fupcloud/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "upcloud-by-usefulapi": {
      "type": "http",
      "url": "https://upcloud.usefulapi.io/mcp"
    }
  }
}

README

UpCloud MCP by usefulapi

Use UpCloud from Claude, Cursor, or any MCP client — inspect servers, storage, networks, firewall rules, databases, Kubernetes, billing and the audit log, and start, stop, restart or back up servers. Hosted, no local install: connect with your own UpCloud credentials.

Live endpoint: https://upcloud.usefulapi.io/mcp · Homepage: https://usefulapi.io/upcloud

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://upcloud.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http upcloud https://upcloud.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "upcloud": {      "url": "https://upcloud.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your UpCloud credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/upcloud/

On first connect you'll provide your UpCloud API token (Control Panel → Account → API tokens). They're validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
upcloud_get_accountreadGet account
upcloud_list_zonesreadList zones
upcloud_list_plansreadList server plans
upcloud_list_pricesreadList prices
upcloud_get_billing_summaryreadGet monthly billing summary
upcloud_list_serversreadList servers
upcloud_get_serverreadGet server details
upcloud_list_storagesreadList storages
upcloud_get_storagereadGet storage details
upcloud_list_ip_addressesreadList IP addresses
upcloud_list_firewall_rulesreadList server firewall rules
upcloud_list_networksreadList networks
upcloud_list_databasesreadList managed databases
upcloud_list_load_balancersreadList managed load balancers
upcloud_list_kubernetes_clustersreadList Kubernetes clusters
upcloud_list_object_storagesreadList managed object storages
upcloud_list_audit_logsreadList audit logs
upcloud_start_serverwriteStart a server
upcloud_stop_serverwriteStop a server
upcloud_restart_serverwriteRestart a server
upcloud_create_storage_backupwriteBack up a storage
upcloud_modify_serverwriteRename a server / set its backup schedule
upcloud_usage_statusmetaUsage status (free-tier meter)
upcloud_request_featuremetaRequest a missing feature
upcloud_upgrademetaUpgrade to Pro or Pro+
upcloud_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+ (per user)$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run upcloud_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with upcloud_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with upcloud_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by UpCloud.

Source: servers/upcloud/README.md at commit f22f848

Tools

22

upcloud_get_account

Get account

The 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.

Takes no parameters.

upcloud_list_zones

List zones

Available 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.

Takes no parameters.

upcloud_list_plans

List server plans

Fixed-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.

Takes no parameters.

upcloud_list_prices

List prices

The 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.

Takes no parameters.

upcloud_get_billing_summary

Get monthly billing summary

Billing 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}.

Parametersyearmonthrequiredresource_id

upcloud_list_servers

List servers

Cloud 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.

Parameterstaglabellimitstateoffsetsearch

upcloud_get_server

Get server details

Full 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}.

Parametersserver_uuidrequired

upcloud_list_storages

List storages

Storage 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}].

Parameterskindlabel

upcloud_get_storage

Get storage details

Details 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}.

Parametersstorage_uuidrequired

upcloud_list_ip_addresses

List IP addresses

Every 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.

Takes no parameters.

upcloud_list_firewall_rules

List server firewall rules

The 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.

Parametersserver_uuidrequired

upcloud_list_networks

List networks

Networks 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/.

Parameterszonelabel

upcloud_list_databases

List managed databases

Managed 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.

Parameterslabellimitoffset

upcloud_list_load_balancers

List managed load balancers

Managed Load Balancer services with their frontends, backends and members, networks, plan, zone, configured status and operational state. UpCloud: GET /1.3/load-balancer.

Parameterslabellimitoffset

upcloud_list_kubernetes_clusters

List Kubernetes clusters

Managed 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.

Takes no parameters.

upcloud_list_object_storages

List managed object storages

Managed 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.

Parameterssortlimitoffset

upcloud_list_audit_logs

List audit logs

Security 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.

Parametersqlimitactionoffsetorigincreated_afterresource_typecreated_before

upcloud_start_server

Start a server

Start 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.

Parametersstart_typeserver_uuidrequired

upcloud_stop_server

Stop a server

DISRUPTIVE: 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.

Parameterstimeoutstop_typeserver_uuidrequired

upcloud_restart_server

Restart a server

DISRUPTIVE: 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.

Parameterstimeoutstop_typeserver_uuidrequiredtimeout_action

upcloud_create_storage_backup

Back up a storage

Take 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.

Parameterstitlerequiredstorage_uuidrequired

upcloud_modify_server

Rename a server / set its backup schedule

Change 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}.

Parameterstitlehostnameserver_uuidrequiredsimple_backup

Version history

25
  1. v1.39.1LatestNov 13, 2026
  2. v1.38.0Nov 12, 2026
  3. v1.37.3Nov 11, 2026
  4. v1.36.5Nov 8, 2026
  5. v1.36.4Nov 7, 2026
  6. v1.35.3Nov 5, 2026
  7. v1.35.2Nov 5, 2026
  8. v1.35.1Nov 4, 2026
  9. v1.35.0Nov 3, 2026
  10. v1.34.1Nov 3, 2026
  11. v1.33.0Nov 1, 2026
  12. v1.31.0Oct 31, 2026
  13. v1.30.0Oct 31, 2026
  14. v1.29.2Oct 30, 2026
  15. v1.29.0Oct 30, 2026
  16. v1.24.0Oct 26, 2026
  17. v1.21.3Oct 25, 2026
  18. v1.21.0Oct 25, 2026
  19. v1.20.0Oct 24, 2026
  20. v1.17.0Oct 23, 2026
  21. v1.16.4Oct 22, 2026
  22. v1.16.3Oct 21, 2026
  23. v1.11.1Oct 9, 2026
  24. v1.10.0Oct 9, 2026
  25. v1.0.0Sep 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations