Civo MCP Server
The Civo MCP Server provides comprehensive management of Civo cloud resources through MCP clients:
Instance Management: Create, list, reboot, shutdown, start, resize, and delete cloud instances with customizable hostname, size, disk image, count, and region.
Disk Images: List available disk images/templates and get detailed information about specific images, filtered by region.
Network Management: List, create, rename, and delete private networks with custom labels.
Kubernetes Management: Create, list, and delete Kubernetes clusters with specified configurations (name, region, network, node count, node size, version), plus list available Kubernetes versions.
Resource Information: List all available instance sizes and regions for resource deployment.
The server includes flexible configuration options with built-in rate limiting and pagination support.
Integrates with the Civo cloud platform API, providing tools for managing cloud instances, networks, disk images, and Kubernetes clusters. Capabilities include creating/managing/resizing instances, network operations, and Kubernetes cluster management.
Enables management of Kubernetes clusters on the Civo platform, including listing available versions, creating new clusters with customizable parameters, and deleting existing clusters.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Civo MCP Server list all my instances in the LON1 region"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Civo MCP Server

An MCP server implementation that integrates with the Civo cloud platform API, providing capabilities to manage cloud instances, networks, and Kubernetes clusters.
Demo
Or you can also view the details of each step through this public Amp thread.
Related MCP server: poly-cloud-mcp
Getting Started
Requirements
Node.js 20 or newer
Claude Desktop, VS Code, Cursor, or any other MCP client
A Civo account with API key
Installation
First, install the Civo MCP server with your client. A typical configuration looks like this:
{
"mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}You can install the Civo MCP server using the VS Code CLI:
# For VS Code
code --add-mcp '{"name":"civo","command":"npx","args":["civo-mcp"],"env":{"CIVO_API_KEY":"YOUR_API_KEY_HERE"}}'After installation, the Civo MCP server will be available for use with your GitHub Copilot agent in VS Code.
Follow Amp MCP documentation. Use following configuration:
"amp.mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}Use the Claude Code CLI to add the Civo MCP server:
claude mcp add civo npx civo-mcpThen set your API key as an environment variable:
export CIVO_API_KEY="your_api_key_here"Follow the MCP install guide, use following configuration:
{
"mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}Go to Cursor Settings → MCP → Add new MCP Server. Name to your liking, use command type with the command npx civo-mcp. You can also verify config or add command like arguments via clicking Edit.
{
"mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}Follow Windsurf MCP documentation. Use following configuration:
{
"mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}Follow the MCP install guide, use following configuration:
{
"mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}Features
Instance Management: Create, manage, resize, start, stop, reboot, and delete cloud instances.
Disk Image Operations: List and get details of available disk images.
Network Management: Create, rename, and delete networks.
Kubernetes Support: Create, list, and delete Kubernetes clusters and list available versions.
Flexible Configuration: Set instance size, region, and other parameters.
Rate Limiting: Built-in rate limiting to prevent API abuse.
Tools
Instance Management
create_instance
Create new cloud instances on Civo
Inputs:
hostname(string): Fully qualified domain namesize(string): Instance size (e.g. 'g2.small')template_id(string): Disk image IDcount(number, optional): Number of instances to create (default: 1)region(string, optional): Region identifier (default: 'LON1')
list_instances
List all instances on Civo
Inputs:
region(string, optional): Filter by regionpage(number, optional): Pagination page (default: 1)per_page(number, optional): Results per page (default: 20)
reboot_instance
Reboot an existing instance
Inputs:
id(string): Instance IDregion(string): Region identifier
shutdown_instance
Shutdown an existing instance
Inputs:
id(string): Instance IDregion(string): Region identifier
start_instance
Start a stopped instance
Inputs:
id(string): Instance IDregion(string): Region identifier
resize_instance
Resize an existing instance
Inputs:
id(string): Instance IDsize(string): New instance sizeregion(string): Region identifier
delete_instance
Delete an existing instance
Inputs:
id(string): Instance IDregion(string): Region identifier
Disk Images
list_disk_images
List available disk images on Civo
Inputs:
region(string, optional): Region identifier
get_disk_image
Get details of a specific disk image
Inputs:
id(string): Disk image IDregion(string, optional): Region identifier
Network Management
list_networks
List all available networks
Inputs: None
create_network
Create a new network
Inputs:
label(string): Network labelregion(string, optional): Region identifier
rename_network
Rename an existing network
Inputs:
id(string): Network IDlabel(string): New network labelregion(string, optional): Region identifier
delete_network
Delete an existing network
Inputs:
id(string): Network IDregion(string): Region identifier
Kubernetes Management
list_kubernetes_clusters
List all Kubernetes clusters
Inputs:
region(string, optional): Filter by regionpage(number, optional): Pagination pageper_page(number, optional): Results per page
create_kubernetes_cluster
Create a new Kubernetes cluster
Inputs:
name(string): Cluster nameregion(string): Region identifiernetwork_id(string): Network ID for the clusternodes(number): Number of worker nodesnode_size(string): Size of each nodekubernetes_version(string): Kubernetes version
delete_kubernetes_cluster
Delete a Kubernetes cluster
Inputs:
id(string): Cluster IDregion(string): Region identifier
list_kubernetes_versions
List available Kubernetes versions
Inputs: None
Resource Information
list_sizes
List all available instance sizes
Inputs: None
list_regions
List all available regions
Inputs: None
Configuration
Environment Variables
CIVO_API_KEY: Your Civo API Key (required)NODE_ENV: Set toproductionto disable debug logging (optional)
Getting an API Key
Sign up for a Civo account if you don't have one.
Generate your API key following the API keys documentation
Contributing
Contributions are welcome! Please follow these steps:
Fork the repository
Create a feature branch:
git checkout -b feature-nameMake your changes and add tests
Run the test suite:
npm run test:ciSubmit a pull request
Development Setup
git clone https://github.com/tao12345666333/civo-mcp.git
cd civo-mcp
npm install
npm run buildRunning Tests
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverageLicense
This MCP server is licensed under the MIT License. See the LICENSE file for details.
Available Tools
19 toolscreate_instanceC
Create a new cloud instance on Civo
Inputs: hostname (required), size (required), template_id (required), count, +1 more.
create_kubernetes_clusterC
Create a new Kubernetes cluster on Civo
Inputs: name (required), region (required), network_id (required), nodes (required), +2 more.
create_networkB
Create a new network on Civo
Inputs: label (required), region.
delete_instanceB
Delete a cloud instance on Civo
Inputs: id (required), region (required).
delete_kubernetes_clusterB
Delete a Kubernetes cluster on Civo
Inputs: id (required), region (required).
delete_networkB
Delete a network on Civo
Inputs: id (required), region.
get_disk_imageA
Get details of a specific disk image
Inputs: id (required), region.
list_disk_imagesA
List available disk images on Civo
Inputs: region.
list_instancesB
List all instances on Civo
Inputs: region, page, per_page.
list_kubernetes_clustersA
List all Kubernetes clusters on Civo
Inputs: region.
list_kubernetes_versionsA
List available Kubernetes versions on Civo
Inputs: no named parameters.
list_networksA
List available networks on Civo
Inputs: no named parameters.
list_regionsB
List available regions on Civo
Inputs: no named parameters.
list_sizesA
List available instance sizes on Civo
Inputs: no named parameters.
reboot_instanceB
Reboot a cloud instance on Civo
Inputs: id (required), region (required).
rename_networkB
Rename a network on Civo
Inputs: id (required), label (required), region.
resize_instanceB
Resize a cloud instance on Civo
Inputs: id (required), size (required), region (required).
shutdown_instanceB
Shutdown a cloud instance on Civo
Inputs: id (required), region (required).
start_instanceB
Start a cloud instance on Civo
Inputs: id (required), region (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 19 tools
Each tool targets a distinct resource-action pair: instances, Kubernetes clusters, networks, disk images, and metadata. No overlaps exist, as operations like create, list, delete, and specific actions (reboot, resize) are clearly separated.
All tools follow a consistent verb_noun pattern with snake_case (e.g., create_instance, list_networks). No deviations or mixed conventions, making the pattern predictable.
19 tools cover multiple resource types (instances, clusters, networks, disk images, metadata) without being excessive. While slightly above the typical 3-15 range, the count is justified given the scope.
Basic CRUD and lifecycle operations exist for instances, clusters, and networks, but notable gaps include missing get_instance, get_kubernetes_cluster, update_instance (except resize), and no support for volumes, firewalls, or advanced cluster management.
Related MCP Connectors
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server for interacting with the Supabase platform
A MCP server built for developers enabling Git based project management with project and personal…
Related MCP Servers
- AlicenseCqualityBmaintenanceA Model Context Protocol server for the Hetzner Cloud API that enables natural language management of cloud infrastructure. Users can list, create, and modify servers, networks, volumes, and load balancers through MCP-compatible clients.162844 npmMIT
- AlicenseNot gradedqualityCmaintenanceUnified MCP server for managing cloud resources across AWS, Google Cloud, Azure, and DigitalOcean by wrapping their CLI tools.MIT
- AlicenseBqualityBmaintenanceMCP server for managing Coolify instances, enabling control of applications, databases, services, servers, and more via natural language.13654 npmMIT

@krovacloud/mcpofficial
AlicenseAqualityBmaintenanceMCP server for interacting with the Krova Cloud API, enabling AI assistants like Claude to manage cloud resources.37MIT