Civo MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
List Civo instances, Kubernetes clusters, networks and DNS; reboot instances, add rules.
22 tools: 6 can delete or cancel things and 16 only read.
Scanned Oct 21, 2026
- Deletes or cancels6Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads16Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http civo https://civo.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
22 tools
Deletes or cancels 6Claude Code: deny
civo_create_dns_recordAdd one record to a Civo-hosted domain.No findings
Why it is in this group
- The name "civo_create_dns_record" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Add one record to a Civo-hosted domain. Live DNS changes propagate to the world; undo by deleting the record in the Civo dashboard or CLI. Civo: POST /v2/dns/{domain_id}/records.
Annotations the server declares
- title: Add a DNS record
- destructiveHint: true
civo_create_firewall_ruleAdd one rule to a firewall — e.g.No findings
Why it is in this group
- The name "civo_create_firewall_rule" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Add one rule to a firewall — e.g. allow TCP 443 ingress from 0.0.0.0/0. This changes what is reachable on every instance, cluster and load balancer using the firewall, so prefer narrow CIDRs. Undo by deleting the rule in the Civo dashboard or CLI. Civo: POST /v2/firewalls/{id}/rules.
Annotations the server declares
- title: Add a firewall rule
- destructiveHint: true
civo_reboot_instanceReboot one instance.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Reboot one instance. `soft` (default) asks the OS to restart cleanly; `hard` cuts power and boots it again, like pulling the plug — use only when soft does not work. Causes brief downtime. Civo: POST /v2/instances/{id}/soft_reboots or /hard_reboots.
Annotations the server declares
- title: Reboot an instance
- destructiveHint: true
civo_set_instance_tagsREPLACE the full tag list of one instance (tags are used for filtering and by load-balancer instance pools, so changing them can move an instance in or out of a pool).No findings
Why it is in this group
- The name "civo_set_instance_tags" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it REPLACE the full tag list of one instance (tags are used for filtering and by load-balancer instance pools, so changing them can move an instance in or out of a pool). Pass the complete desired list; an empty list clears all tags. Civo: PUT /v2/instances/{id}/tags.
Annotations the server declares
- title: Set an instance's tags
- destructiveHint: true
civo_start_instanceBoot a stopped instance.No findings
Why it is in this group
- The name "civo_start_instance" says "start": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Boot a stopped instance. Undoes civo_stop_instance. Civo: PUT /v2/instances/{id}/start.
Annotations the server declares
- title: Start an instance
- destructiveHint: true
civo_stop_instancePower off one instance.No findings
Why it is in this group
- The name "civo_stop_instance" says "stop": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Power off one instance. Anything it serves goes offline until it is started again with civo_start_instance. A stopped instance is still billed. Civo: PUT /v2/instances/{id}/stop.
Annotations the server declares
- title: Stop an instance
- destructiveHint: true
Only reads 16Claude Code: allow
civo_get_instanceFetch one instance: status, size, CPU/RAM/disk, public and private IPs, network, firewall, tags, attached volumes and source image.No findings
Why it is in this group
- The name "civo_get_instance" says "get": a word for reading.
Description, as the server wrote it Fetch one instance: status, size, CPU/RAM/disk, public and private IPs, network, firewall, tags, attached volumes and source image. Passwords are redacted. Civo: GET /v2/instances/{id}.
Annotations the server declares
- title: Get one instance
- readOnlyHint: true
civo_get_kubernetes_clusterFetch one Kubernetes cluster: status, readiness, conditions, version and available upgrade, pools and their instances, network, firewall, CNI and installed marketplace apps.No findings
Why it is in this group
- The name "civo_get_kubernetes_cluster" says "get": a word for reading.
Description, as the server wrote it Fetch one Kubernetes cluster: status, readiness, conditions, version and available upgrade, pools and their instances, network, firewall, CNI and installed marketplace apps. The kubeconfig is redacted. Civo: GET /v2/kubernetes/clusters/{id}.
Annotations the server declares
- title: Get one Kubernetes cluster
- readOnlyHint: true
civo_get_quotaThe account's limits and current usage: instances, CPU cores, RAM, disk, volumes, snapshots, public IPs, networks, firewalls and rules, load balancers, object storage and databases…No findings
Why it is in this group
- The name "civo_get_quota" says "get": a word for reading.
Description, as the server wrote it The account's limits and current usage: instances, CPU cores, RAM, disk, volumes, snapshots, public IPs, networks, firewalls and rules, load balancers, object storage and databases. Answers 'can I launch another one?'. Civo: GET /v2/quota.
Annotations the server declares
- title: Get account quota
- readOnlyHint: true
civo_list_chargesList billable usage for a period: each resource's product code, label, region, time span and hours (size_gb for volumes).No findings
Why it is in this group
- The name "civo_list_charges" says "list": a word for reading.
Description, as the server wrote it List billable usage for a period: each resource's product code, label, region, time span and hours (size_gb for volumes). The range may be at most 31 days; defaults to the start of the current month until now. Civo: GET /v2/charges.
Annotations the server declares
- title: List charges
- readOnlyHint: true
civo_list_databasesList the managed databases (MySQL, PostgreSQL) in a region: software and version, size, nodes, IPs, port, network, firewall and status.No findings
Why it is in this group
- The name "civo_list_databases" says "list": a word for reading.
Description, as the server wrote it List the managed databases (MySQL, PostgreSQL) in a region: software and version, size, nodes, IPs, port, network, firewall and status. Paginated: {page, per_page, pages, items}. Passwords are redacted. Civo: GET /v2/databases.
Annotations the server declares
- title: List databases
- readOnlyHint: true
civo_list_dns_domainsList the domains whose DNS Civo hosts for the account.No findings
Why it is in this group
- The name "civo_list_dns_domains" says "list": a word for reading.
Description, as the server wrote it List the domains whose DNS Civo hosts for the account. Civo: GET /v2/dns.
Annotations the server declares
- title: List DNS domains
- readOnlyHint: true
civo_list_dns_recordsList the records of one hosted domain (name, type, value, priority, TTL), optionally filtered by type or name.No findings
Why it is in this group
- The name "civo_list_dns_records" says "list": a word for reading.
Description, as the server wrote it List the records of one hosted domain (name, type, value, priority, TTL), optionally filtered by type or name. Civo: GET /v2/dns/{domain_id}/records.
Annotations the server declares
- title: List DNS records
- readOnlyHint: true
civo_list_firewall_rulesList the rules of one firewall: protocol, port range, CIDRs, direction (ingress/egress), action (allow/deny) and label — the answer to 'what is exposed to the internet?'.No findings
Why it is in this group
- The name "civo_list_firewall_rules" says "list": a word for reading.
Description, as the server wrote it List the rules of one firewall: protocol, port range, CIDRs, direction (ingress/egress), action (allow/deny) and label — the answer to 'what is exposed to the internet?'. Civo: GET /v2/firewalls/{id}/rules.
Annotations the server declares
- title: List a firewall's rules
- readOnlyHint: true
civo_list_firewallsList the firewalls in a region with their network, rule count and how many instances, clusters and load balancers use each.No findings
Why it is in this group
- The name "civo_list_firewalls" says "list": a word for reading.
Description, as the server wrote it List the firewalls in a region with their network, rule count and how many instances, clusters and load balancers use each. Civo: GET /v2/firewalls.
Annotations the server declares
- title: List firewalls
- readOnlyHint: true
civo_list_instance_sizesList the sizes (plans) that can be launched — instances, Kubernetes nodes and databases — with CPU cores, RAM, disk, transfer allowance and GPU.No findings
Why it is in this group
- The name "civo_list_instance_sizes" says "list": a word for reading.
Description, as the server wrote it List the sizes (plans) that can be launched — instances, Kubernetes nodes and databases — with CPU cores, RAM, disk, transfer allowance and GPU. Civo: GET /v2/sizes.
Annotations the server declares
- title: List sizes
- readOnlyHint: true
civo_list_instancesList compute instances in a region, optionally filtered by tags.No findings
Why it is in this group
- The name "civo_list_instances" says "list": a word for reading.
Description, as the server wrote it List compute instances in a region, optionally filtered by tags. Paginated: returns {page, per_page, pages, items}. Passwords are redacted. Civo: GET /v2/instances.
Annotations the server declares
- title: List instances
- readOnlyHint: true
civo_list_kubernetes_clustersList the Kubernetes (K3s/Talos) clusters in a region with status, version, node pools, API endpoint and installed applications.No findings
Why it is in this group
- The name "civo_list_kubernetes_clusters" says "list": a word for reading.
Description, as the server wrote it List the Kubernetes (K3s/Talos) clusters in a region with status, version, node pools, API endpoint and installed applications. Paginated: {page, per_page, pages, items}. Kubeconfigs are redacted. Civo: GET /v2/kubernetes/clusters.
Annotations the server declares
- title: List Kubernetes clusters
- readOnlyHint: true
civo_list_load_balancersList the load balancers in a region: algorithm, backends (IP, protocol, source/target ports), public IP, state and the Kubernetes service each fronts.No findings
Why it is in this group
- The name "civo_list_load_balancers" says "list": a word for reading.
Description, as the server wrote it List the load balancers in a region: algorithm, backends (IP, protocol, source/target ports), public IP, state and the Kubernetes service each fronts. Civo: GET /v2/loadbalancers.
Annotations the server declares
- title: List load balancers
- readOnlyHint: true
civo_list_networksList the private networks in a region: label, CIDR, whether it is the default network, status and nameservers.No findings
Why it is in this group
- The name "civo_list_networks" says "list": a word for reading.
Description, as the server wrote it List the private networks in a region: label, CIDR, whether it is the default network, status and nameservers. Civo: GET /v2/networks.
Annotations the server declares
- title: List networks
- readOnlyHint: true
civo_list_regionsList the Civo regions available to the account, with which one is the default, whether each is out of capacity, and the features each supports (IaaS, Kubernetes, object store, load…No findings
Why it is in this group
- The name "civo_list_regions" says "list": a word for reading.
Description, as the server wrote it List the Civo regions available to the account, with which one is the default, whether each is out of capacity, and the features each supports (IaaS, Kubernetes, object store, load balancers, GPU, databases). A cheap way to confirm the API key works. Civo: GET /v2/regions.
Annotations the server declares
- title: List regions
- readOnlyHint: true
civo_list_volumesList the block-storage volumes in a region: size, status, type, and the instance or cluster each is attached to (unattached volumes still bill).No findings
Why it is in this group
- The name "civo_list_volumes" says "list": a word for reading.
Description, as the server wrote it List the block-storage volumes in a region: size, status, type, and the instance or cluster each is attached to (unattached volumes still bill). Civo: GET /v2/volumes.
Annotations the server declares
- title: List volumes
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http civo https://civo.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__civo__civo_list_regions",
"mcp__civo__civo_get_quota",
"mcp__civo__civo_list_charges",
"mcp__civo__civo_list_instance_sizes",
"mcp__civo__civo_list_instances",
"mcp__civo__civo_get_instance",
"mcp__civo__civo_list_kubernetes_clusters",
"mcp__civo__civo_get_kubernetes_cluster",
"mcp__civo__civo_list_networks",
"mcp__civo__civo_list_firewalls",
"mcp__civo__civo_list_firewall_rules",
"mcp__civo__civo_list_load_balancers",
"mcp__civo__civo_list_volumes",
"mcp__civo__civo_list_databases",
"mcp__civo__civo_list_dns_domains",
"mcp__civo__civo_list_dns_records"
],
"ask": [],
"deny": [
"mcp__civo__civo_reboot_instance",
"mcp__civo__civo_stop_instance",
"mcp__civo__civo_start_instance",
"mcp__civo__civo_set_instance_tags",
"mcp__civo__civo_create_firewall_rule",
"mcp__civo__civo_create_dns_record"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as civo. Review it before you use it.