关于 Alibaba Cloud Yaochi DB MCP Server
Alibaba Cloud Yaochi DB MCP Server 供 AI 编码助手操作阿里云数据库,并使用 Yaochi Database Agent。它整合多种数据库引擎的操作,并提供 SQL 安全检查和临时账户。
主要功能
- 01管理 MySQL、PolarDB、MongoDB 和 Tair
- 02创建实例并执行数据库命令
- 03使用 DMS 搜索和执行 SQL
- 04向 Yaochi Database Agent 咨询诊断
- 05临时账户与 SQL 安全控制
适用场景
- 01创建数据库并验证应用 SQL
- 02对 MongoDB 或 Tair 执行命令
- 03诊断数据库性能问题
MCP 相关
服务向 MCP 客户端提供数据库管理、查询、DMS 和顾问工具,包括实例创建、SQL 与数据库命令执行,以及向 Yaochi Database Agent 提问。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
阿里云瑶池数据库 MCP 服务
瑶池数据库 AI 原生 MCP 服务——一个 MCP 服务即可管理所有阿里云数据库。
什么是瑶池数据库 MCP 服务?
基于 Model Context Protocol (MCP) 构建的数据库工具服务,可让 AI 编码助手(Cursor、Claude Desktop、Qoder 等)直接操作阿里云数据库。
核心场景:AI 编写代码后,自动创建数据库 → 创建表 → 执行 SQL 验证 → 调用瑶池数据库 Agent 进行性能诊断——全程无需离开 IDE。
支持的数据库引擎
| 引擎 | 操作 |
|---|---|
| RDS MySQL | 创建实例、执行 SQL、临时账号模式 |
| PolarDB MySQL | 创建集群、执行 SQL、临时账号模式 |
| MongoDB | 创建副本集、执行 MongoDB 命令 |
| Tair (Redis) | 创建实例、执行 Redis 命令 |
瑶池数据库 Agent
内置 AI 数据库顾问,由阿里云官方文档和专家知识提供支持:
- 知识问答 — 即时解答数据库使用问题,减少支持工单
- 智能诊断 — 通过 OpenAPI 自动执行性能诊断,精准定位问题
- 最佳实践 — 根据您的工作负载提供架构建议和优化方案
支持多轮对话,覆盖所有阿里云数据库引擎(RDS、PolarDB、MongoDB、Tair、Lindorm 等)。
可用工具
| 工具 | 描述 |
|---|---|
ask_yaochi_agent | 瑶池数据库 Agent——AI 数据库顾问(诊断、最佳实践、架构) |
create_instance | 创建数据库实例 |
list_instances | 列出已有实例 |
execute_instance_sql | 通过实例 ID 执行 SQL(临时账号,无需密码) |
execute_mysql | 直接连接 MySQL/PolarDB 并执行 SQL |
execute_mongo | 直接连接 MongoDB 并执行命令 |
execute_redis | 直接连接 Tair/Redis 并执行命令 |
search_database | 在 DMS 中搜索数据库 |
execute_sql | 通过 DMS 执行 SQL |
register_to_dms | 将实例注册到 DMS |
快速开始
安装
git clone http://gitlab.alibaba-inc.com/cloudmon/alibabacloud-yaochi-db-mcp-server.git
cd alibabacloud-yaochi-db-mcp-server
python3 -m venv .venv
source .venv/bin/activate
pip install .
验证
yaochi-db-mcp-server
成功后将进入 stdio 等待模式(无输出)。按 Ctrl+C 退出。
配置 AI 客户端
将以下内容添加到 AI 客户端的 MCP 配置中:
{
"mcpServers": {
"yaochi-db": {
"command": "<project-path>/alibabacloud-yaochi-db-mcp-server/.venv/bin/yaochi-db-mcp-server",
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "your-ak",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "your-sk",
"ALIBABA_CLOUD_REGION_ID": "cn-hangzhou",
"YAOCHI_ENABLE_WRITE_SQL": "true",
"YAOCHI_ENABLE_DDL_SQL": "true"
}
}
}
}
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
ALIBABA_CLOUD_ACCESS_KEY_ID | — | 阿里云 AccessKey ID(必需) |
ALIBABA_CLOUD_ACCESS_KEY_SECRET | — | 阿里云 AccessKey Secret(必需) |
ALIBABA_CLOUD_REGION_ID | cn-hangzhou | 默认地域 |
YAOCHI_ENABLE_WRITE_SQL | true | 允许 INSERT/UPDATE/DELETE |
YAOCHI_ENABLE_DDL_SQL | false | 允许 CREATE/ALTER DDL |
YAOCHI_PUBLIC_IP | 自动检测 | 手动指定公网 IP |
安全功能
- 临时账号:每次执行 SQL 时自动创建并销毁临时数据库账号——无需持久凭证
- SQL 安全检查:阻止 DROP/TRUNCATE 等危险操作;禁止注释和多语句
- 严格白名单:自动配置仅允许当前 IP(/32)访问的公网权限,不影响现有规则
- 写入控制:通过环境变量精细控制 DML/DDL 权限
使用示例
User: Create a PolarDB MySQL cluster, build an orders table, and set up a Tair cache
AI automatically:
1. create_instance(engine="polardb-mysql")
→ Returns instance_id="pc-bp1xxx"
2. execute_instance_sql(instance_id="pc-bp1xxx", engine="polardb-mysql", database="testdb",
sql="CREATE TABLE orders (id BIGINT PRIMARY KEY, amount DECIMAL(10,2))", force=true)
→ Auto-provisions public access + whitelist + creates DB + creates table
3. create_instance(engine="tair")
→ Returns instance_id="r-bp1xxx"
4. execute_redis(host="r-bp1xxx.redis.rds.aliyuncs.com", port=6379, password="xxx",
command="SET order:1001 '{\"amount\":99.9}'")
→ OK
5. ask_yaochi_agent(query="PolarDB cluster pc-bp1xxx performance diagnosis")
→ Returns optimization suggestions from Yaochi Database Agent
许可证
贡献
欢迎提交问题和 Pull Request。
链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。