Skip to content

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.

Deletes · 6

22 tools: 6 can delete or cancel things and 16 only read.

Scanned Oct 21, 2026

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/mcp

Tools

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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

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