文档MCP 数据服务用 MCP 查数据:示例演示
MCP 数据服务

用 MCP 查数据:示例演示

更新于 2026-10-03

四类提问与返回示例:项目家底、点位现状、设备时序、迁装历史。

下面每个示例中,问题用自然语言提出,助手在背后选择合适的查询并返回数据。日常使用不需要记工具名,直接提问即可。

场景 1:我有哪些项目,数据新不新

提问:

我现在能看哪些项目?
THWater智慧排水监测里有多少点位和设备?数据新鲜度怎么样?

返回示例:

指标示例值
可读项目1 个:20260001 THWater智慧排水监测
点位总数1142(可见 1131、隐藏 11)
设备总数986(已绑定 962、未绑定 24、绑定关系不一致 24)
当前安装962 条(历史已结束 486 条)
数据新鲜度新鲜 871、陈旧 102、无快照 5;最新样本 2026-10-03 21:54
设备类型分布液位仪(压力) 512、2代超声流量 148、液位仪(超声波) 132、THC液位仪 121、流量仪(多普勒) 31、雨量计 4 等

这类回答适合用来判断"数据质量":例如直接问"哪些设备超过 24 小时没有数据?",助手会按陈旧阈值筛选给你清单。

场景 2:某个点位现在什么情况

提问:

北京路雨水管这个点位现在的液位是多少?

返回示例:

项示例值
点位10001 北京路雨水管(北京市北京路)
当前设备20001 液位仪(压力),安装于 2026-04-18,绑定关系一致
最新样本时间2026-10-03 17:00:00(+08:00)
液位 Level0.62 m
设备状态电量 96%、主机电压 7.02 V、继电器电压 4.01 V、继电器温度 27.6 ℃、继电器湿度 51.2%

返回的每个数值列都带指标名、单位和量程(如 c10 → Level / m),助手会据此把 c10 翻译成"液位 0.62 m",而不是丢一串列号给你。

场景 3:某台设备最近两小时的液位变化

提问:

20001 这台液位仪最近两小时的液位变化,按时间列出来

返回的是一张表格时序:每行一个采样时刻,每列一个指标,并给出本次实际生效的窗口。要点:

  • 时间窗口是左闭右开,单次最长 7 天,超了需要分批;
  • 返回里会有 effectiveStart / effectiveEnd,即"你请求的窗口"与"该安装的有效期"的交集;
  • 如果结果被条数上限截断,会带 truncated=true,缩小时间范围或分批再取即可;
  • 数值同时给"数值列"和"原始字符串列",后者精度无损。

场景 4:这台设备以前装在哪个点位

提问:

20001 这台设备历史上装过哪些点位?
安装时间点位状态
2026-04-18 起10001 北京路雨水管当前有效
2025-05-09 – 2026-04-1810002已结束
更早另有 2 条历史安装记录已结束

迁装历史很重要:设备换过点位后,历史数据要按"当时所在点位"去查。MCP 服务里查询时序时会自动带上这层关系,所以直接问历史时间段的液位不会串到别的点位。

提问技巧

  • 先粗后细:先问项目/点位/设备清单,再针对具体对象问数据,助手定位更准;
  • 给 ID 更精确:项目 ID、点位 ID、设备 ID 都能直接用(示例里的 10001、20001);设备名重复时尤其有用;
  • 说清时间范围与时区:例如"今天 0 点到 6 点"、"最近 2 小时",服务统一按 Asia/Shanghai 处理;
  • 明确你要的输出:要表格、要均值/峰值、要"只列数据陈旧的设备",说清楚助手就会按你要的形式整理;
  • 一次问一件事:跨项目或超大范围的汇总,拆成几步问更稳(单次时间窗口最长 7 天)。

结果长什么样

{
  "equipId": 20001, "placeId": 10001, "installId": "3000000000000000001",
  "effectiveStart": "2026-10-03T11:52:32+08:00", "effectiveEnd": "2026-10-03T13:52:32+08:00",
  "indicators": [ {"indicatorSymbol": "Level", "indicatorColumn": "c10", "unitSymbol": "m"} ],
  "items": [ {"sampleTime": "2026-10-03T12:00:00+08:00", "values": {"c10": 0.62}} ],
  "rowCount": 5, "limit": 100, "truncated": false
}