正式开源 阿里云数据库MCP Server:开箱即用的数据库“AI 协作者”

01、开源的初心

1.1 一个被反复问到的问题

过去一年,从 IDE 里的 AI 编码助手、ChatOps 里的运维机器人,到数据团队的 ChatBI、外部合作伙伴的低代码平台——越来越多的 AI Agent 想“直接连一下数据库”。每一个角色的提问几乎都是同一句话:

“我能不能让 AI 直接帮我操作阿里云上的数据库?”

但当问题真的落到一朵公有云上的 RDS/PolarDB/MongoDB/Tair 等不同引擎实例时,几乎所有人都会卡在同一组现实问题上:

1.2 瑶池 MCP Server:一个能被多场景集成的“云数据库 AI 协作层”

这次开源的瑶池数据库 AI Native MCP Server(包名
alibabacloud-yaochi-db-mcp-server,以下简称“瑶池 MCP”),就是这一切问题的工程答案。它把
实例管理/数据面执行/命令安全管控/瑶池数据库 Agent 接入四件事,封装成一个标准 MCP(Model Context Protocol)Server。

任何支持 MCP 协议的 AI 客户端——IDE 里的 Qoder / Cursor / Claude Desktop、ChatOps 机器人、内部 Agent 平台、低代码工作流——都可以通过 stdio 即插即用地把它挂载进来,让自己的 AI 立刻拥有“操作阿里云数据库 + 调用瑶池数据库 Agent”的能力。

一句话定位

瑶池 MCP Server = 阿里云数据库的 AI Native 中间层。它让任意 AI 应用(编码助手/运维助手/数据分析助手/测试自动化…)都能用对话的方式“创建数据库 → 执行命令 → 调用瑶池数据库 Agent 诊断与调优”,把瑶池控制台的“AI 协作者”能力开放给所有上游 AI 客户端。

1.3 它解决了哪些场景的问题

从瑶池数据库 Agent 在控制台沉淀的真实问答来看,“AI 想连数据库”主要出现在以下几类场景中。瑶池 MCP 把这些场景的“卡点”统一收敛掉:

本质上,瑶池 MCP 把瑶池数据库 Agent 一直在做的“从被动响应到主动赋能”——RAG 知识问答、快捷指令、OpenAPI 工具调用、智能诊断与调优——以开源方式延展到了 IDE/ChatOps/Agent 平台等多个上游入口,让“AI 协作者”不再只在阿里云控制台里出现。

02、瑶池数据库 MCP 具备哪些能力

2.1 系统交互关系

整个 Server 当前以 stdio 本地进程模式运行:MCP Client(无论是 IDE、ChatOps 机器人、内部 Agent 平台还是脚本)启动时把它 fork 成子进程,所有调用走 stdin/stdout,不监听任何端口,攻击面极小,AK/SK 也不离开本地。

2.2 三类能力概览

把这些工具按“能干什么”重新看,可以归为三类。每一类在前面提到的多场景里都各有用武之地:

2.3 亮点能力 1:瑶池数据库 Agent 接入

把瑶池控制台的「AI 协作者」,开放给任意 MCP 客户端

瑶池数据库 Agent 是瑶池控制台的统一 AI 服务入口,融合了数据库官方文档知识库,并联动各产品的专属 Agent(PolarDB、Tair、AnalyticDB、DTS、Lindorm、MongoDB、SelectDB等)。通过 ask_yaochi_agent 暴露给上游应用后,它带来的不只是一个“能问答”的接口,而是一整层可被自然语言驱动、可持续扩展的 Skill 化能力集市——由瑶池官方沉淀、随控制台版本共同演进。

具体来说,任意 MCP 客户端只需要一句自然语言,就能享受下面这些能力:

RAG 知识问答:基于官网文档回答使用、配置、原理类问题,“PolarDB 列存索引适合什么场景?写库要注意什么?”一句话就能拿到带文档引用的答案。

OpenAPI as Tool:用自然语言完成实例管理(创建、扩容、参数修改、白名单管理),写操作会弹卡片二次确认,白名单还会强卡进 yaochi_agent 安全分组。

智能诊断与调优(内置 Skill 加持):瑶池数据库 Agent 内置了一批产品级“诊断专家”技能,可按产品线 × 场景精细化调用,例如:

性能异动诊断:Tair/Redis 实例 RT 波动、访问超时的深度性能诊断,自动定位根因并给出优化建议;

PolarDB 稳定性专家:包含复制延迟诊断(RW/RO/Standby 重放延迟、slot WAL 累积、读一致性问题)、IO 性能诊断(高延迟、缓冲池未命中、检查点写入压力、磁盘飙升)、表健康巡检(XID 回卷风险、表膨胀、无用索引、autovacuum 长事务阻塞)、表维护诊断等;

资源全景观测:PolarDB MySQL 实例资源使用率 TopK(CPU/内存/IOPS/连接数),一键定位区域内高负载实例并汇总资源压力;

AI 原生能力开通与解读:PolarDB AI 应用(Agent Express / Agent Flow / Mem0 / Ray 等)类型与状态解释、AnalyticDB PostgreSQL 长记忆服务(Memory)与 AI 编剧助手(Drama)的一键开通与管理;

数仓慢查询分析:SelectDB 慢查询快速定位与优化建议。

以上仅是内置 Skill 的一部分——瑶池数据库 Agent 的技能广场持续按产品线扩容,新增能力会随控制台版本自然生效,MCP 上游无需改稿、无需重新对接。

当任意 MCP 客户端调用 ask_yaochi_agent 时,底层联动的就是瑶池数据库 Agent 在控制台提供的同一套能力。无论是 IDE 里的研发、ChatOps 里的运维、Agent 平台里的业务方,还是 CI/CD 里的自动化脚本,都可以平等地享受瑶池数据库 Agent 的"AI 协作者"体验,覆盖 研发写库、日常运维、故障应急、性能调优、容量规划、AI 应用开通、文档答疑 等多场景。这也是这次开源最关键的差异点:瑶池 MCP 不只是一组 CRUD 执行器,而是一个能“懂你 + 帮你想”的 AI 协作层

2.4 亮点能力 2:临时账号模式(execute_instance_sql)

传统 AI 操作数据库要么“裸传 root 密码”,要么“提前手工开账号”——前者不安全,后者不优雅。无论是 IDE 自验、运维脚本还是临时分析,都希望"不长期持有数据库密码"。瑶池 MCP 把整个执行流程做成无凭据、零配置、零残留

execute_instance_sql(instance_id, sql, database)
  ├─ 1. 尝试 TCP 直连(优先内网 VPC,同时探测公网端点)
  ├─ 2. [如不通] 自动开通公网:
  │   ├─ 探测本机公网 IP
  │   ├─ AllocateInstancePublicConnection
  │   ├─ ModifySecurityIps(当前IP/32, group=mcp_public_access)
  │   └─ 等待 3s DNS 生效 → 重试连接
  ├─ 3. 自动建库(DescribeDatabases → CreateDatabase 如不存在)
  ├─ 4. CreateAccount → mcp_(CSPRNG 32 位密码)
  ├─ 5. GrantAccountPrivilege → ReadWrite on target_db
  ├─ 6. pymysql.connect → 执行 SQL → 返回结果
  └─ 7. DeleteAccount → 清理临时账号(finally 块兜底)

开发者/运维/分析师全程仅持有 AK/SK,从不接触数据库密码;白名单是当前机器 IP/32而不是0.0.0.0/0;账号每次新建、用完即删,攻击窗口仅几秒;异常路径也走finally兜底删账号,不留“僵尸账号”。无论 AI 是在 IDE、ChatOps 还是自动化脚本里被调用,安全姿势都一致。

2.5 亮点能力 3:SQL 命令四级安全分级

再叠加四道“绕过防御”硬约束:注释(--/#//*)直接拒、多语句直接拒、SELECT 全文正则扫危险词、SQL > 10000 字符直接拒。Redis / MongoDB 同样维护独立黑名单(FLUSHALL/CONFIG SET/dropDatabase/shutdown)。

03、示例场景:Vibe Coding 端到端协作

瑶池 MCP 适用的场景很多——运维管理、数据分析、AI 编码、测试搭建、故障应急都是它的目标用户。下面挑其中一个对开发者来说最具体、最容易跑通的场景——Vibe Coding——把“MCP 工具 + 瑶池数据库 Agent”在一次对话里的协作链路拆给你看。其他场景的调用姿势完全一致,只是上游 AI 客户端从 IDE 换成了 ChatOps、Agent 平台或运维脚本而已。

3.1 场景设定

你正在 Qoder 里写一个电商订单服务,需要后端有持久化存储+缓存层,而且想顺便摸清新集群的健康基线。代码写完了,你想:

  1. 开一套 PolarDB MySQL 集群放订单主表,再开一套 Tair 做缓存;
  2. 创建表结构,并构建测试数据;
  3. 让瑶池数据库 Agent 顺手给 PolarDB 做一次性能诊断;
  4. 整个过程不离开 IDE、不输入数据库密码、不手工开白名单。

3.2 端到端协作流程

01、YOU · 自然语言

“帮我开一个 PolarDB MySQL 集群,再开一个 Tair 做缓存。”

02、AI · 调用MCP工具(创建PolarDB集群)

AI 自动拆任务,先调create_instance拉起 PolarDB MySQL。

03、AI · 调用MCP工具(创建Tair实例)

主库就绪后,再开创建 Tair 实例。

04、YOU · 自然语言

“帮我在PolarDB XXX实例上创建一个order表,包含用户ID、商品ID、订单金额字段,并写入一些测试数据。”

05、AI · 调用MCP工具(建orders表)

调用execute_instance_sql,临时账号模式无需密码:

06、YOU · 自然语言

“帮我在order表中找到消费金额最多的前三个用户。”

07、AI · 调用MCP工具(写缓存)

调用execute_instance_sql,临时账号模式无需密码:

08、YAOCHI DB AGENT · 智能诊断+RAG

让瑶池数据库 Agent 对数据库实例进行不同类型的诊断:

整个过程——建 PolarDB 集群/建表/建 Tair 缓存/写入测试数据/性能诊断——上游 AI 只需要执行 一句自然语言,没有打开过控制台、没有手动开过白名单、没有粘贴过任何数据库密码。这就是瑶池数据库 Agent 倡导的“所问即所得、从被动响应到主动赋能”——同样的链路,把“AI 客户端”换成 ChatOps、运维平台或 Agent 工作流,行为完全一致。

3.3 五分钟接入

不管你是把瑶池 MCP 挂到 IDE、ChatOps 机器人,还是企业内部的 Agent 平台,下面三步都是一样的:

# 1. 克隆 + 装依赖
git clone https://github.com/aliyun/alibabacloud-yaochi-db-mcp-server.git
cd alibabacloud-yaochi-db-mcp-server
python3 -m venv .venv && source .venv/bin/activate
pip install .

# 2. 配置 AK/SK(推荐环境变量)
export ALIBABA_CLOUD_ACCESS_KEY_ID="你的AK"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="你的SK"
export ALIBABA_CLOUD_REGION_ID="cn-hangzhou"
export YAOCHI_ENABLE_WRITE_SQL="true"
export YAOCHI_ENABLE_DDL_SQL="true"   # 需要建表/改 schema 的场景必开

# 3. 验证
yaochi-db-mcp-server   # 进入 stdio 等待 = 成功

重启 MCP 客户端,剩下的,就只是和 AI 聊天了。

04、让 AI 真正“懂”你的云数据库

瑶池 MCP Server 的开源,是瑶池数据库团队对“AI 时代下,云数据库应该如何被 AI 调用”这个问题的工程作答:

无论你是在做 Vibe Coding、搭建运维 ChatOps、装配数据分析 Agent,还是在为团队搭一套测试自动化——只要你的应用会用到阿里云数据库,都欢迎到
https://github.com/aliyun/alibabacloud-yaochi-db-mcp-server 拉一份代码跑起来。

欢迎在 GitHub 上提 Issue/PR,告诉我们:

让“AI 协作者”真正成为每位云上用户身边的那位懂阿里云数据库的专家,这条路,我们才刚刚开始。

展开阅读全文

更新时间:2026-07-25

标签:科技   数据库   阿里   正式   瑶池   控制台   实例   能力   场景   自然语言   账号   客户端

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight All Rights Reserved.
Powered By 71396.com 闽ICP备11008920号
闽公网安备35020302034903号

Top