1. 前言
在人工智能飞速发展的今天,数据库管理是否仍需依赖复杂的 SQL 语句与命令行操作?
OceanBase 联合 ModelScope 推出 “AI 驱动的数据库智能管理”新范式 —— 通过 MCP(Model Calling Protocol) 技术,我们让开发者与数据库之间的交互从“敲命令”升级为“对话”。
无需记忆指令、无需编写脚本,只需用自然语言提问,即可完成 OceanBase 数据库集群的创建、运行、管理、诊断与数据分析。这正是我们打造 AI Workshop:OceanBase 全生命周期管理平台 的初心。
本项目基于 ModelScope 创空间平台构建,融合大语言模型(LLM)与数据库工具链,实现真正意义上的“对话即操作”。无论你是数据库新手,还是资深 DBA,都能从中获得前所未有的高效体验。
2. 功能介绍
2.1. MCP 服务器
本项目目前已支持 OBShell
, OBServer
, OBDiag
,分别对应数据库集群的创建,运行,管理三个阶段。在上述三个工具的支持下,用户能在不敲一行代码,不输一句指令的情况下,仅靠与 Agent 对话,完成 OceanBase 数据库集群的全生命周期使用。
“用户可以在左侧工具栏增减MCP服务器,查看MCP支持等工具调用”
下述所有的 MCP 服务以及更多的拓展都可以在 https://github.com/oceanbase/mcp-oceanbase 开源仓库找到。欢迎探索~
2.1.1. OBShell MCP介绍
OBShell 能显著的提高数据库管理效率,涵盖了集群管理、租户管理、备份与恢复、权限管理、监控与维护等多个方面。
OBShell 目前支持六个工具调用:
-
create_cluster
:创建一个新的 OceanBase 集群。用户既可以采用默认配置迅捷部署,也可以详细指定集群参数部署自定义集群。 -
create_tenant
:创建一个新的 OceanBase 租户。一个 OceanBase 集群可以包含多个租户,一个 OceanBase 租户可以包含多个数据库用户。用户既可以采用默认配置快速创建租户,也可以详细指定租户各项参数自定义部署。 -
get_all_obshell_sdk_methods
:获取OBShell支持的所有方法。是在create_cluster
和create_tenant
的基础上增加的更多调用支持。 -
get_obshell_sdk_methods_description
:通过方法名获取 obshell 的 sdk 方法的描述。 -
call_obshell_sdk
:调用 obshell 的 sdk 方法。
2.1.2. OceanBase MCP 介绍
通过 OceanBase MCP,Agent 可以实现对数据库数据的增删查改。
-
execute_sql
:执行一条SQL语句。包括但不限于查询,获得表 Schema,为表添加索引等。
2.1.3. OBDiag MCP 介绍
通过 OBDiag, 用户可以实现对数据库集群的巡检,诊断,信息查询等。
-
obdiag_check_run
:巡检集群,并返回巡检报告。 -
obdiag_analyze_log
:分析集群日志,找出发生过的错误信息并返回。 -
obdiag_display_list
:obdiag 集群信息查询功能功能,返回支持的指令列表。 -
obdiag_display_run
:obdiag 集群信息查询功能,执行获取的指令列表,需要功能来自obdiag_display_list的返回结果。
3. 基于魔搭创空间体验属于自己的 AI Workshop(前面是概念介绍,完整步骤请看这里!!)
要求:
- 尽量不要使用 Safari 浏览器,以免上传不了导数数据集。
- 提前注册好魔搭账户。如果要使用魔搭的免费API,请绑定好阿里云的账户。
注:如果误操作造成了环境异常,请根据3.7附录:环境修复中的操作重启即可。
3.1. 复制AI Workshop创空间
进入 OceanBase 的官方创空间,复制一个自己的创空间。
创空间配置:
我们主要有三项配置需要关注:
-
“英文名称”:改成一个自己喜欢的名称。
-
“是否公开”:选择“非公开”。避免外来用户滥用私有创空间的 API_KEY 额度。
-
环境变量配置:
-
API_KEY: 可以使用魔搭提供的免费 API_KEY。获取步骤:
- 绑定好阿里云的账号。
- 打开https://modelscope.cn/my/myaccesstoken即可查看自己的API_KEY(即访问令牌)。
- 绑定好阿里云的账号。
-
LLM_MODEL : 模型名称。演示使用的是
Qwen/Qwen3-235B-A22B-Instruct-2507
-
LLM_BASE_URL : 模型 API 调用的 URL。如果使用的是魔搭的 API_KEY,则填写:
https://api-inference.modelscope.cn/v1/
API_KEY = {API_KEY} # 注册魔搭账号免费获取大额度 API_KEY
LLM_MODEL = Qwen/Qwen3-235B-A22B-Instruct-2507
LLM_BASE_URL = https://api-inference.modelscope.cn/v1/
- 其他配置项采用初始默认项即可。
填写好配置后,点击复制创空间 按钮得到属于自己的一个创空间。之后等待创空间初始化完毕即可。
第一次使用创空间初始化时间比较长,请耐心等待。
3.2. 部署数据库集群
创建 OceanBase 集群:
调用工具,采用默认配置创建一个 OceanBase 数据库集群
创建 OcenBase 租户:
调用工具,采用默认配置创建一个 OceanBase 数据库租户
3.3. 创建导数目标表
测试数据:
测试数据.csv.zip (3.8 MB)
针对我们提供的数据集,推荐使用该 Prompt 提示助手创建数据库表。
根据示例数据调用工具在数据库中创建表(表名默认为transactions):
step,type,amount,nameOrig,oldbalanceOrg,newbalanceOrig,nameDest,oldbalanceDest,newbalanceDest,isFraud,isFlaggedFraud
1,PAYMENT,9839.64,C1231006815,170136.0,160296.36,M1979787155,0.0,0.0,0,0
1,PAYMENT,1864.28,C1666544295,21249.0,19384.72,M2044282225,0.0,0.0,0,0
1,TRANSFER,181.0,C1305486145,181.0,0.0,C553264065,0.0,0.0,1,0
transaction
对应左侧工具栏的表名。
3.4. 导入数据
**注意:数据库中必须已经存在与 “CSV 导数目标表”同名的 Table,且 Schema 与 CSV 数据一致。
通过左侧工具导入数据:
导入成功后结果如图:
3.5. 数据查询
调用工具,查看 transactions 表有多少条数据
调用工具,查询数额在 10000 到 20000 之间的交易记录有多少条
接下来就可以调用 OceanBase MCP 分析数据库数据了,execute_sql
工具几乎支持所有 OceanBase 的 SQL 语句,欢迎用户继续探索。
3.6. 数据库诊断
左侧添加 OBDiag MCP 服务:
3.6.1. 集群巡检:
调用工具,使用 OBDiag 巡检集群
(目前该创空间还处于 Demo 阶段,能力有限,当前版本如果尝试让 Agent 修复巡检出来的问题,可能会出现非预期行为,请不要轻易尝试。未来会添加修复巡检问题的能力)
3.6.2. 查看 OBDiag 支持的分析场景:
调用工具,查看 obdiag_display_list 支持的分析场景
选择几个我们感兴趣的场景询问:
调用工具,展示 observer.all_tenant 和 observer.serverinfo
4. 总结
通过以上的 AI Workshop 实战,相信大家都已经感受到了 MCP 与 OceanBase 结合给数据库全生命周期管理带来的便利。欢迎大家加入魔搭和 OceanBase 社区,一起探索 AI & 数据库的更多可能。