编程 UCloud 开源 UDB MySQL MCP Server:用自然语言查实例、规格和备份,默认只读

2026-09-18 20:00:36

UCloud 开源 UDB MySQL MCP Server:用自然语言查实例、规格和备份,默认只读

UCloud(优刻得)开源了 UDB MySQL MCP Server。配置完成后,可以在 Cursor、Claude 等支持 MCP 的客户端里,用自然语言查询和管理 UCloud 云数据库 UDB MySQL。

项目地址:https://github.com/ucloud/udb-mysql-mcp-server/

以前查实例、看产品规格或备份状态,要登录云平台控制台,在不同页面之间逐项操作;想把这些操作接入自己的应用,还得读 API 文档再写调用代码。UDB MySQL MCP Server 做的事情是把这些数据库管理能力封装成一组可被 AI 客户端直接调用的工具。

MCP 是什么

MCP 全称 Model Context Protocol,模型上下文协议,是一套用于连接大模型应用与外部工具、数据、业务系统的开放协议。

大模型能理解用户的问题,但读不到企业账号下的数据库实例、备份记录和产品价格,也不能直接启停数据库。MCP Server 把这些外部能力整理成标准化工具,由 AI 客户端按需调用。

UDB MySQL MCP Server 对接的是 UCloud 云数据库 API。账号授权完成后,AI 客户端可以调用工具查询数据库信息,也可以在权限允许时执行部分管理操作。整个过程不会绕过原有的账号权限:服务用用户提供的 UCloud API 密钥访问云资源,实际能执行哪些操作,取决于云账号权限和 MCP Server 的运行模式。

支持的操作

信息查询:查看账号下的项目、地域和可用区,列出数据库实例并查询实例详情,了解实例运行状态、数据库版本、机型规格和参数组。创建或调整数据库配置前,可以先查询相关价格。

备份管理:查看备份列表、备份状态和备份策略,获取备份文件下载地址。

需要写权限的操作:启动、停止、重启实例,修改实例名称,创建新的 UDB MySQL 实例,创建数据库备份。

三种运行模式与安全护栏

UDB MySQL MCP Server 默认以 readonly 模式运行。该模式下 AI 客户端只能查询实例、规格、价格和备份等信息,不能修改云资源。

需要执行启动、停止、创建实例或创建备份等操作时,按实际需求切换到 readwriteadmin 模式。

针对生产可用性,服务对删除、升降配等高风险操作设置了确认和名称校验机制,用于降低误操作风险。

准备凭证

接入前需要登录 UCloud 控制台生成 PublicKey 和 PrivateKey:

https://console.ucloud.cn/uapi/apikey

这两个密钥是访问云资源的凭证,需要妥善保存。

方式一:Go 源码接入

适合 Cursor、Claude Desktop 等可以直接运行本地 MCP 进程的客户端。

先安装 Go 1.26 或更高版本,进入项目根目录后编译:

go build -o bin/udb-mysql-mcp-server .

编译完成后,在 MCP 客户端配置文件中加入以下内容。把 command 换成本地可执行文件的绝对路径,并填写自己的 UCloud API 密钥:

{
  "mcpServers": {
    "udb-mysql-mcp-server": {
      "type": "stdio",
      "command": "/ABSOLUTE/PATH/TO/repo/bin/udb-mysql-mcp-server",
      "args": ["--mode", "readonly"],
      "env": {
        "UCLOUD_PUBLIC_KEY": "{Your PublicKey}",
        "UCLOUD_PRIVATE_KEY": "{Your PrivateKey}"
      }
    }
  }
}

方式二:Docker 接入

安装 Docker 后,进入项目根目录,把环境变量示例文件复制为 .env

cp .env.example .env

打开 .env,填写 UCloud PublicKey、PrivateKey,以及需要使用的项目、地域和运行模式等参数。

随后构建并运行镜像:

docker build -t udb-mysql-mcp-server:latest .

docker run --rm -it --env-file .env \
  -p 127.0.0.1:9000:9000 \
  udb-mysql-mcp-server:latest \
  --transport sse --listen 0.0.0.0:9000

服务启动后,在 MCP 客户端中加入以下配置:

{
  "mcpServers": {
    "udb-mysql-mcp-server": {
      "type": "sse",
      "url": "http://127.0.0.1:9000/sse"
    }
  }
}

配置完成并重启 MCP 客户端后,可以直接查询 UDB MySQL 实例、地域、规格、价格和备份信息。开放相应权限后,还能执行实例启动、停止、重启、创建和备份等操作。涉及费用、业务运行或数据安全的操作,执行前仍需确认实例、地域、规格和操作类型。

需要说明的是,这是 UCloud 官方的云厂商实现,只覆盖 UCloud UDB MySQL,使用前需要一个 UCloud 账号。

复制全文 生成海报 MCP MySQL Go 云数据库 UCloud

推荐文章

程序员茄子在线接单