list_tables
所属分类:数据资产感知 · Tool 名称:
list_tables
功能说明
实时连接指定数据源,列出其中的所有表名。适用于在开发过程中快速确认「这个库里有哪些表」「某张表是否存在于上游库中」,无需打开数据库客户端。
输入参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
datasourceName | string | 是 | 数据源唯一性名称(可通过 list_datasources 获取) |
输出结果
业务 JSON 直返(非信封结构),字段说明如下:
| 字段 | 类型 | 说明 |
|---|---|---|
datasourceName | string | 数据源名称(回显入参) |
tables | string[] | 该数据源下的表名列表 |
返回示例
{
"datasourceName": "order_mysql",
"tables": ["orders", "order_items", "order_refund", "user", "product"]
}
错误返回
| 情况 | 表现 |
|---|---|
datasourceName 为空 | MCP 层 isError: true,内容为参数错误描述文本 |
| 数据源不存在 | MCP 层 isError: true,内容类似 未找到数据源: order_mysql |
| 连接数据源失败(网络不通、凭证失效等) | MCP 层 isError: true,内容类似 获取表列表失败: <原因> |
注意点
- 实时查询:本 Tool 会真实建立到目标数据源的连接并查询元数据,表数量庞大或网络状况不佳时响应可能较慢。
- 数据源名称必须与 TIS 中配置的名称完全一致(大小写敏感),建议先通过
list_datasources获取准确名称。 - 返回表清单的范围取决于数据源插件的实现(一般为当前连接库 / Schema 下的用户表)。
典型用法
在 Hermes 中的提问示例:
order_mysql 这个数据源下有哪些表?
使用 list_tables 工具:看看上游 order_mysql 库里有没有 order_refund 表
确认表存在后,可继续调用 get_table_columns 查看表的列结构。