云实例管理服务器

基于MCP-Go和UCloud SDK的云实例管理服务器,支持通过MCP协议管理UCloud实例。

  • by wangrzneu
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 wangrzneu/ucloud-mcp-server

使用说明

 _    _ _____ _                 _ 
| |  | /  __ \ |               | |
| |  | | /  \/ | ___  _   _  __| |
| |  | | |   | |/ _ \| | | |/ _` |
| |__| | \__/\ | (_) | |_| | (_| |
 \____/ \____/_|\___/ \__,_|\__,_|
                                  
 __  __  _____ _____   _____                          
|  \/  |/  __ \  __ \ /  ___|                         
| .  . || /  \/| |_/ / \ `--.  ___ _ ____   _____ _ __
| |\/| || |    |  __/   `--. \/ _ \ '__\ \ / / _ \ '__|
| |  | || \__/\| |     /\__/ /  __/ |   \ V /  __/ |   
\_|  |_/ \____/\_|     \____/ \___|_|    \_/ \___|_|   

UCloud MCP服务器

基于MCP Go和UCloud SDK的云实例管理服务器,通过MCP协议支持UCloud实例管理。

特性

  • 查询实例信息
  • 列出所有实例
  • 获取实例状态
  • 监控实例性能指标
  • MCP协议支持
  • 配置文件支持

需求

  • 达到1.23或更高
  • UCloud帐户和API凭据

配置

该服务支持两种配置方法:

1.配置文件(推荐)

创建一个 config.json 文件:

{
    "region": "cn-bj2",
    "project_id": "your-project-id",
    "public_key": "your-public-key",
    "private_key": "your-private-key"
}

2.环境变量

如果配置文件中没有指定,服务将尝试从环境变量中读取:

export UCLOUD_REGION="cn-bj2"        # UCloud region
export UCLOUD_PROJECT_ID="your-project-id"  # Project ID
export UCLOUD_PUBLIC_KEY="your-public-key"  # API public key
export UCLOUD_PRIVATE_KEY="your-private-key"  # API private key

配置优先级:配置文件>环境变量

安装和运行

  1. 克隆存储库:
git clone https://github.com/renzheng.wang/ucloud-mcp-server.git
cd ucloud-mcp-server
  1. 安装依赖项:
go mod download
  1. 构建服务:
go build -o ucloud-mcp-server
  1. 运行服务:

基本用法:

./ucloud-mcp-server

使用自定义配置:

./ucloud-mcp-server --config /path/to/config.json --port 8080

可用的启动选项:

  • --config:指定配置文件的路径(默认:./config.json)
  • --port:指定要侦听的端口(默认值:8080)

示例:

# Use custom config file
./ucloud-mcp-server --config /etc/ucloud/config.json

# Use custom port
./ucloud-mcp-server --port 9000

# Use both custom config and port
./ucloud-mcp-server --config /etc/ucloud/config.json --port 9000

该服务将通过标准输入/输出提供MCP协议服务。

可用操作

实例信息

获取特定实例的详细信息,包括:

  • 基本实例详细信息
  • 配置信息
  • 当前状态
  • 资源分配

实例状态

实时监控任何实例的当前运行状态。

实例指标

访问实例的全面监控指标,包括:

  • 占用率
  • 磁盘I/O操作
  • 网络流量统计
  • 系统性能数据

实例列表

查看帐户中所有可用实例的完整列表,包括其基本信息和当前状态。

监控指标

该系统提供以下监控指标:

  • CPU指标

    • CPU利用率:CPU使用率百分比(%)
  • 磁盘指标

    • IORead:磁盘读取速率
    • IOWrite:磁盘写入速率
    • DiskReadOps:磁盘读取操作数
    • DiskWriteOps:磁盘写入操作数
  • 网络指标

    • NICIn:网络入站流量(字节/秒)
    • NICOut:网络出站流量(字节/秒)
    • NetPacketIn:入站网络数据包的数量
    • NetPacketOut:出站网络数据包的数量

重要提示

  • 确保您的UCloud API证书的安全
  • 在生产环境中使用配置文件或密钥管理服务来管理敏感信息
  • 所有操作均通过具有标准I/O支持的MCP协议执行
  • 监控数据可能会延迟几分钟
  • 定期检查监控指标,及早发现潜在问题