SuperAPI AI 工具集

relational-database-mcp-cloudbase

数据与分析

查看项目

更新于 10-16 02:09

技能介绍

用途

本技能是针对 CloudBase 关系型数据库的 MCP 操作文档,供智能体在 MCP 上下文中执行数据库管理任务时参照。资料将其标注为已弃用(Deprecated)。

适用场景包括:查询或检查 SQL 数据、为环境开通 MySQL、销毁环境的 MySQL、轮询 MySQL 开通状态、修改数据或表结构(INSERT/UPDATE/DELETE/DDL)、在 MySQL 就绪后初始化表和索引、读取或变更数据表权限。

不适用场景:通过 SDK 直接连接 CloudBase 关系型数据库的 Web 或 Node.js 应用开发;认证流程或用户身份管理。

主要能力

技能定义了四个 MCP 工具:

  1. queryMysqlDatabase:查询 SQL 数据与开通状态。可用 action="runQuery" 执行 SELECT 等只读查询;action="getInstanceInfo" 检查 MySQL 是否已存在(仅生命周期信息,不含连接凭据);action="describeCreateResult" 或 action="describeTaskStatus" 查看异步开通进度。资料说明 getConnectionInfo 为特例,返回原始连接/集群载荷(可能含凭据),仅用于迁移既有 TCP/ORM 客户端,不用于新业务 CRUD。

  2. manageMysqlDatabase:管理 SQL 生命周期并执行变更语句。可用 action="provisionMySQL" 开通、action="destroyMySQL" 销毁、action="runStatement" 执行写入与 DDL、action="initializeSchema" 初始化表与索引。新建表必须包含 _openid 列:_openid VARCHAR(64) DEFAULT '' NOT NULL;用户登录时该列由服务端从认证会话自动填充,正常插入时无需手动填写。

  3. queryPermissions:读取指定 SQL 表的权限配置。调用形式为 queryPermissions(action="getResourcePermission", resourceType="sqlDatabase", resourceId="<tableName>")。

  4. managePermissions:设置或更新指定 SQL 表的权限。调用形式为 managePermissions(action="updateResourcePermission", resourceType="sqlDatabase", resourceId="<tableName>", permission="READONLY")。

使用方式

识别 MCP 上下文:若可调用 queryMysqlDatabase、manageMysqlDatabase、queryPermissions、managePermissions 等工具,即处于 MCP 上下文;此时不要为该数据库初始化 SDK,应改用 MCP 工具。

选型原则:只读 SQL 与开通状态检查用 queryMysqlDatabase;MySQL 开通、销毁、写入 SQL、DDL、结构初始化用 manageMysqlDatabase;查看权限用 queryPermissions;变更权限用 managePermissions。

安全要求:执行删除、DROP 等破坏性操作前,需说明将要运行的内容及原因;写入前优先使用 getInstanceInfo 或只读 SQL 检查;开通或销毁 MySQL 需显式确认,因为二者都会影响整个环境。

推荐生命周期流程:

  • 场景一(尚未开通 MySQL):调用 getInstanceInfo;若无实例则调用 provisionMySQL(confirm=true);用 describeCreateResult、describeTaskStatus 轮询,仅在状态为 READY 后继续;开通优先使用 describeCreateResult,describeTaskStatus 保留给带 TaskName 的销毁流程。
  • 场景二(安全查看表数据):用 runQuery 执行带 LIMIT 与过滤条件的 SELECT,确认结果符合预期后再写入。
  • 场景三(开通后初始化结构):确认 MySQL 就绪,准备有序 DDL,通过 initializeSchema 执行;建表后用 queryPermissions 或 managePermissions 校验权限。
  • 场景四(定点写入或 DDL 变更):先用 runQuery 检查当前数据或结构;用 runStatement 执行一次变更;再用只读查询或权限规则验证。
  • 场景五(销毁 MySQL):用 getInstanceInfo 确认环境仍有实例;调用 destroyMySQL(confirm=true);用 describeTaskStatus 查询直至任务完成或失败;成功后可再用 getInstanceInfo 确认实例已不存在;失败则以返回错误为最终结果,由调用方决定是否重试。

兼容性

规范插件名为 permissions;旧别名 security-rule、security-rules、secret-rule、secret-rules、access-control 仍路由至 permissions。旧工具 readSecurityRule 与 writeSecurityRule 已移除,须使用 queryPermissions 与 managePermissions。

常见错误

在 MCP 管理流程中初始化 SDK;未检查 MySQL 是否已开通并就绪便执行写入 SQL 或 DDL;把文档数据库任务当作 MySQL 管理任务;新建 SQL 表后跳过 _openid 与权限审查;未经明确确认或未检查环境是否仍需实例便销毁 MySQL;使用 getConnectionInfo(或推断的主机/密码)为新应用构建默认 TCP 客户端——应优先使用 SDK / runQuery / runStatement,TCP 凭据仅为显式迁移例外。

依赖说明

同级 CloudBase 技能与该技能并列发布,使用本地相对路径引用,如 ../auth-tool-cloudbase/SKILL.md。若环境中缺少被引用的同级技能文件,应请用户安装完整的 CloudBase 插件(或缺失的技能),不要将远程技能或协议 markdown 通过 HTTP 抓取进智能体上下文。相关后续阅读:Web 应用集成见 ../relational-database-web-cloudbase/SKILL.md;原始 HTTP 数据库访问见 ../http-api-cloudbase/SKILL.md。

关键原则

MCP 工具用于智能体操作与数据库管理(开通、销毁、轮询生命周期、临时 SQL、检查与变更资源权限),不依赖应用认证状态;SDK 用于应用代码(前端 Web 应用、后端 Node 应用)。作为 MCP 智能体时应始终优先使用这些 MCP 工具,并避免在同一流程中混用 SDK 初始化。

限制

资料标注该技能已弃用。文档未提供收费、价格、平台版本或具体性能指标等信息。