复古 护眼 海天 深邃 暗黑 默认

能力清单

本页说明用户可以通过自然语言完成的数据库任务,以及连接 ShardingSphere-Proxy 和数据库直连时的使用边界。

连接目标

连接 ShardingSphere-Proxy

适合查看 ShardingSphere 逻辑库结构、读取规则状态、执行受控 SQL,或生成需要审查的规则变更计划。

可用任务包括:

  • 查看逻辑库、模式、表、视图、列、索引、序列、存储单元和单表映射。
  • 搜索表、视图、列、索引、存储单元等元数据对象。
  • 执行只读 SQL 查询。
  • 预览可能修改数据、元数据或规则的 SQL。
  • 规划、审查、执行和校验数据加密、数据脱敏、广播表、读写分离、影子库和分片等官方 DistSQL-only 规则变更。

使用限制:

  • 用户看到的是 Proxy 暴露的逻辑元数据,不等同于每个底层物理库的完整元数据。
  • 依赖 ShardingSphere 规则、算法或规则变更语句的任务只适用于 Proxy 连接。
  • 有副作用的任务应先预览或生成计划,审查后再确认执行。

数据库直连

数据库直连指 ShardingSphere-MCP 不经过 ShardingSphere-Proxy,直接连接用户提供的 MySQL、PostgreSQL 等数据库服务。 这种模式适合把 ShardingSphere-MCP 作为已有数据库的受控访问入口,用于查看元数据、搜索对象和执行受限 SQL。

可用任务包括:

  • 查看数据库、模式、表、视图、列、索引和序列。
  • 搜索元数据对象。
  • 执行只读 SQL 查询。
  • 在明确授权后预览或执行普通 DML、DDL、DCL。

使用限制:

  • 不提供 ShardingSphere 规则状态。
  • 不适用于数据加密、数据脱敏、广播表、读写分离、影子库和分片等依赖 ShardingSphere 规则的功能插件。
  • 返回的是目标数据库自身元数据,不代表 ShardingSphere 逻辑规则视图。

元数据查看

任务 自然语言示例 连接目标 用户关注点
查看可访问的数据库 “列出当前可以访问的数据库。” Proxy 或数据库直连 确认数据库名称是否和配置一致。
查看模式或命名空间 “查看 <database-name> 中有哪些模式。” Proxy 或数据库直连 多模式数据库应先确认目标模式。
查看表或视图 “列出目标模式中的表和视图。” Proxy 或数据库直连 Proxy 连接展示的是逻辑对象。
查看列信息 “查看 <table-name> 有哪些列,以及列类型是什么。” Proxy 或数据库直连 列类型以连接目标可见元数据为准。
查看索引 “查看 <table-name> 的索引。” Proxy 或数据库直连 Proxy 连接下索引信息可能不同于底层物理库完整结构。
查看序列 “列出目标模式中的序列。” Proxy 或数据库直连 仅在连接目标支持序列元数据时可用。
查看存储单元 “列出 <database-name> 的存储单元。” 仅 Proxy 基于 SHOW STORAGE UNITS FROM <database-name>;敏感连接属性会被脱敏或省略。
查看存储单元使用情况 “哪些规则正在使用存储单元 write_ds?” 仅 Proxy 基于 SHOW RULES USED STORAGE UNIT <storage-unit> FROM <database-name>
查看单表映射 “单表 t_user 在哪个存储单元?” 仅 Proxy 基于 SHOW SINGLE TABLESHOW SINGLE TABLES;新增单表默认位置可读取默认单表存储单元资源。

元数据搜索

任务 自然语言示例 连接目标 用户关注点
按名称搜索对象 “查找名字包含 order 的表。” Proxy 或数据库直连 适合不知道完整对象名时缩小范围。
按对象类型搜索 “查找名字包含 user 的表和视图。” Proxy 或数据库直连 可以指定只看表、视图或列等对象。
搜索存储单元 “查找名字包含 write 的存储单元。” 仅 Proxy 使用 database_gateway_search_metadata 并传入 object_types=["storage_unit"]
查找后继续查看详情 “打开刚才找到的 orders 表,查看字段和索引。” Proxy 或数据库直连 搜索结果可作为后续自然语言任务的上下文。

查询与普通 SQL 变更

任务 自然语言示例 连接目标 用户关注点
执行查询 “查询 orders 表前 10 行。” Proxy 或数据库直连 适合查看样例数据或验证查询结果。
限制返回行数 “查询 orders 表前 100 行,不要返回更多数据。” Proxy 或数据库直连 避免返回过多数据。
预览普通 SQL 变更 “预览这条 SQL 变更,先不要执行。” Proxy 或数据库直连 执行前审查影响范围。
确认执行已预览的普通 SQL 变更 “确认执行刚才预览过的 SQL 变更。” Proxy 或数据库直连 需要确认已审查副作用。

运行时保护限制

  • 未指定返回行数时,查询默认最多返回 100 行。
  • 单次查询最多可请求 5000 行;如果结果被截断,应缩小查询条件、减少返回列或降低返回行数。
  • 查询超时可以由任务请求设置,最大值为 300000 毫秒;未指定时使用 Server 默认行为。
  • 单个 MCP 会话有工具调用次数保护;达到限制后,应结束当前会话并重新创建 MCP 会话。
  • SHOW STORAGE UNITSSHOW SINGLE TABLES 这类控制台风格元数据 SQL 仍会被 database_gateway_execute_query 拦截。 请使用对应 MCP 资源或恢复提示,不提供原始 SHOW 透传。

ShardingSphere 规则变更

任务 自然语言示例 连接目标 用户关注点
检查已有规则 “检查 orders.phone 当前是否已有脱敏规则。” 仅 Proxy 规则状态来自 ShardingSphere-Proxy。
规划数据加密规则 “为 orders.status 规划可逆加密,先预览不要执行。” 仅 Proxy 审查生成的规则 DistSQL、算法、参数和规则列名。
规划数据脱敏规则 “为 orders.phone 规划手机号脱敏,保留前 3 后 4,先预览不要执行。” 仅 Proxy 审查脱敏算法、参数和影响范围。
规划广播表规则 “把 config_region 规划为广播表,先预览不要执行。” 仅 Proxy 审查逻辑表名和广播表规则 DistSQL。
规划读写分离规则 “规划读写分离规则,写存储单元是 write_ds,读存储单元是 read_ds_0, read_ds_1。” 仅 Proxy 审查已有存储单元、负载均衡算法和状态计划。
规划影子规则 “为 t_order 规划影子规则,源存储单元是 ds_0,影子存储单元是 ds_shadow。” 仅 Proxy 审查已有存储单元、算法参数和清理证据。
规划分片规则 “为 t_order 规划分片表规则,使用明确的数据节点和标准分片策略。” 仅 Proxy 审查数据节点、策略、键生成和未使用组件证据。
调整规则计划 “把刚才的计划改成使用 AES 算法。” 仅 Proxy 修改后应重新预览。
执行规则变更 “确认执行刚才的规则变更计划。” 仅 Proxy 有副作用,执行前应完成审查。
校验规则变更 “校验刚才的脱敏规则是否生效。” 仅 Proxy 查看规则状态和 workflow 执行结果。

详细用法见数据加密数据脱敏广播表读写分离影子库分片