README
🚀 Civo MCP Server
Civo MCP Server是一个与 Civo云平台 API集成的MCP服务器实现,可提供管理云实例、网络和Kubernetes集群的功能。
🚀 快速开始
🔍 要求
- Node.js 20 或更高版本
- Claude Desktop、VS Code、Cursor 或其他 MCP 客户端
- 带有 API 密钥的 Civo 账户
📦 安装指南
首先,使用客户端安装 Civo MCP 服务器。典型的配置如下:
{
"mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
在 VS Code 中安装
你可以使用 VS Code CLI 安装 Civo MCP 服务器:
# For VS Code
code --add-mcp '{"name":"civo","command":"npx","args":["civo-mcp"],"env":{"CIVO_API_KEY":"YOUR_API_KEY_HERE"}}'
安装完成后,Civo MCP 服务器将可在 VS Code 中与你的 GitHub Copilot 代理一起使用。
在 Ampcode 中安装
遵循 Amp MCP 文档。使用以下配置:
"amp.mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
在 Claude Code 中安装
使用 Claude Code CLI 添加 Civo MCP 服务器:
claude mcp add civo npx civo-mcp
然后将你的 API 密钥设置为环境变量:
export CIVO_API_KEY="your_api_key_here"
在 Gemini CLI 中安装
遵循 MCP 安装 指南,使用以下配置:
{
"mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
在 Cursor 中安装
转到 Cursor 设置 → MCP → 添加新的 MCP 服务器。随意命名,使用 命令 类型并输入命令 npx civo-mcp。你还可以通过点击 编辑 验证配置或添加命令参数。
{
"mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
在 Windsurf 中安装
遵循 Windsurf MCP 文档。使用以下配置:
{
"mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
在 Claude Desktop 中安装
遵循 MCP 安装 指南,使用以下配置:
{
"mcpServers": {
"civo": {
"command": "npx",
"args": ["civo-mcp"],
"env": {
"CIVO_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
✨ 主要特性
- 实例管理:创建、管理、调整大小、启动、停止、重启和删除云实例。
- 磁盘镜像操作:列出并获取可用磁盘镜像的详细信息。
- 网络管理:创建、重命名和删除网络。
- Kubernetes 支持:创建、列出和删除 Kubernetes 集群,并列出可用版本。
- 灵活配置:设置实例大小、区域和其他参数。
- 速率限制:内置速率限制,防止 API 滥用。
📚 详细文档
工具
实例管理
-
create_instance
- 在 Civo 上创建新的云实例
- 输入参数:
hostname(字符串):完全限定域名size(字符串):实例大小(例如 'g2.small')template_id(字符串):磁盘镜像 IDcount(数字,可选):要创建的实例数量(默认值:1)region(字符串,可选):区域标识符(默认值:'LON1')
-
list_instances
- 列出 Civo 上的所有实例
- 输入参数:
region(字符串,可选):按区域过滤page(数字,可选):分页页码(默认值:1)per_page(数字,可选):每页结果数(默认值:20)
-
reboot_instance
- 重启现有实例
- 输入参数:
id(字符串):实例 IDregion(字符串):区域标识符
-
shutdown_instance
- 关闭现有实例
- 输入参数:
id(字符串):实例 IDregion(字符串):区域标识符
-
start_instance
- 启动已停止的实例
- 输入参数:
id(字符串):实例 IDregion(字符串):区域标识符
-
resize_instance
- 调整现有实例的大小
- 输入参数:
id(字符串):实例 IDsize(字符串):新的实例大小region(字符串):区域标识符
-
delete_instance
- 删除现有实例
- 输入参数:
id(字符串):实例 IDregion(字符串):区域标识符
磁盘镜像
-
list_disk_images
- 列出 Civo 上可用的磁盘镜像
- 输入参数:
region(字符串,可选):区域标识符
-
get_disk_image
- 获取特定磁盘镜像的详细信息
- 输入参数:
id(字符串):磁盘镜像 IDregion(字符串,可选):区域标识符
网络管理
-
list_networks
- 列出所有可用网络
- 输入参数:无
-
create_network
- 创建新网络
- 输入参数:
label(字符串):网络标签region(字符串,可选):区域标识符
-
rename_network
- 重命名现有网络
- 输入参数:
id(字符串):网络 IDlabel(字符串):新的网络标签region(字符串,可选):区域标识符
-
delete_network
- 删除现有网络
- 输入参数:
id(字符串):网络 IDregion(字符串):区域标识符
Kubernetes 管理
-
list_kubernetes_clusters
- 列出所有 Kubernetes 集群
- 输入参数:
region(字符串,可选):按区域过滤page(数字,可选):分页页码per_page(数字,可选):每页结果数
-
create_kubernetes_cluster
- 创建新的 Kubernetes 集群
- 输入参数:
name(字符串):集群名称region(字符串):区域标识符network_id(字符串):集群的网络 IDnodes(数字):工作节点数量node_size(字符串):每个节点的大小kubernetes_version(字符串):Kubernetes 版本
-
delete_kubernetes_cluster
- 删除 Kubernetes 集群
- 输入参数:
id(字符串):集群 IDregion(字符串):区域标识符
-
list_kubernetes_versions
- 列出可用的 Kubernetes 版本
- 输入参数:无
资源信息
-
list_sizes
- 列出所有可用的实例大小
- 输入参数:无
-
list_regions
- 列出所有可用的区域
- 输入参数:无
配置
环境变量
CIVO_API_KEY:你的 Civo API 密钥(必需)NODE_ENV:设置为production以禁用调试日志(可选)
获取 API 密钥
🔧 技术细节
贡献
欢迎贡献代码!请遵循以下步骤:
- 分叉仓库
- 创建功能分支:
git checkout -b feature-name - 进行更改并添加测试
- 运行测试套件:
npm run test:ci - 提交拉取请求
开发设置
git clone https://github.com/tao12345666333/civo-mcp.git
cd civo-mcp
npm install
npm run build
运行测试
# 运行所有测试
npm test
# 以监视模式运行测试
npm run test:watch
# 生成覆盖率报告
npm run test:coverage
📄 许可证
本 MCP 服务器采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。
🔍 演示
或者,你也可以通过 这个公共 Amp 线程 查看每个步骤的详细信息。
Scan to join WeChat group