MCP (实时数据网关)
AI 管理控制台 › MCP 网关 › 服务器 中有一行 PlantPulse Platform(类型«平台»)。在这里可以查看状态・工具数量・最后发现,
并通过重新发现重新获取工具列表。这一行是通过安装 env 的 PP_API_URL · PP_API_TOKEN 绑定的,因此无法在界面上修改名称・地址或
删除(只能关闭),平台工具初始即全部开启 → MCP 网关
在 2026.10 再发布(2026-10-20) 之前,这一行位于副驾驶管理控制台的工具服务器(MCP)(/admin/mcp)。该页面已移除。
概述
PlantPulse 集成 MCP 是让 AI 能够访问 PlantPulse IIoT Platform 所有实时数据的 MCP(Model Context Protocol) 数据网关。
通过只读数据工具,向 AI 提供工厂层级结构、传感器数据、报警、OEE、工单、能源、系统状态等工厂运营的全部数据。本体(知识图谱)工具也包含在此集成 MCP 中。
MCP(Model Context Protocol) 是 Anthropic 提出的 AI 模型与数据源之间的标准集成协议。
2026-07 改版: 集成 MCP 现通过 PlantPulse Platform server-web 的端点 /api/v5/mcp(api_key 认证)提供。原为独立服务的 plantpulse-mcp-server(:50000) 与 plantpulse-ontology(:8888) 已归档,本体工具已并入集成 MCP。MCP 网关通过 tools/list 动态发现工具并交给副驾驶(问答)(2026.10 再发布(2026-10-20) —— 此前由副驾驶直接发现)。
可处理的数据
工厂结构
查询站点 → 区域 → 产线 → 设备 → 标签完整层级结构。仅需层级结构用资产树,需要层级结构加上每个设备的标签数量用本体,影响传播用关系图谱。
按名称查询时,search_domains 会先帮你找到 ID —— 可对站点・设备・标签・工单・用户等14 个领域按名称・ID・描述进行部分匹配搜索。
实时值与历史数据
- 批量查询标签当前值(一次最多 100 个)
- 标签区间历史数据
- 设备全标签快照 — 无需逐个指定标签,按设备单位获取当前状态
报警
- 查询报警列表(按期间・严重度过滤)
- 报警原因诊断捆绑包 — 针对某一报警,将相关标签・状态变化打包一起获取
- 报警确认处理 — 工具存在,但在聊天中不会执行(见下文「审批门控」)
生产指标 (OEE / RAM / EMS)
以设备为轴心进行查询。
| 需要的内容 | 工具 |
|---|---|
| 每个工单一行(哪个工单出了问题) | get_asset_kpi |
| 整个期间汇总一行(本周情况如何) | get_asset_stats |
| 单个工单的详情 | get_order_metrics |
OEE 等比率值不是百分比,而是 0~1 范围。界面上显示为 85% 的值,
在工具响应中为 0.85。
采集状态
查询边缘网关状态与健康历史、OPC 采集连接列表。"数据没有进来"这类问题大多可以在这里找到答案。
设备文档
查询设备所附文档的列表。文档内容搜索不属于 MCP,而由 RAG 负责。
提供的工具(22 个)
以下是集成 MCP 提供的全部工具。增加或减少工具都会导致 Platform 的契约测试失败,因此此列表即为实际列表。
时间
| 工具 | 返回内容 |
|---|---|
get_current_time | 服务器当前时间 — 解析相对时间("昨天"、"上周")的基准 |
结构 — 什么在哪里
| 工具 | 返回内容 |
|---|---|
search_domains | 实体搜索(名称 → ID 解析) |
get_asset_tree | 资产层级树 |
get_ontology | 站点本体概览(结构 + 按设备的标签数量) |
query_ontology | 资产关系图谱探索(影响传播) |
query_sparql | 本体 SPARQL 查询 |
get_asset_documents | 设备附件文档列表 |
search_domains大多数工具接收的是 ID。用户会用"大田 3 产线注塑机"这样的名称表达,因此
AI 会先用 search_domains 解析出 ID,再调用具体工具。如果答复是"找不到设备",
通常是因为名称与 Platform 中登记的名称不一致。
连接 — 采集是否正常
| 工具 | 返回内容 |
|---|---|
get_edge_status | 边缘网关状态 |
get_edge_health_history | 边缘健康历史(按日期区间) |
list_connections | OPC 采集连接列表 |
数据 — 标签
| 工具 | 返回内容 |
|---|---|
get_tag_values | 标签当前值 |
get_tag_history | 标签区间历史数据 |
数据 — 报警
| 工具 | 返回内容 |
|---|---|
list_alarms | 报警列表 |
get_alarm_context | 报警原因诊断捆绑包 |
ack_alarm | 报警确认处理 |
数据 — 设备
| 工具 | 返回内容 |
|---|---|
get_asset_snapshot | 设备全标签快照 |
get_asset_timeline | 设备事件时间线 |
get_asset_stats | 设备区间业务统计 |
生产
| 工具 | 返回内容 |
|---|---|
list_orders | 工单列表 |
get_order_metrics | 工单详情・KPI |
get_asset_kpi | 设备按工单 KPI (OEE / EMS / RAM) |
汇总
| 工具 | 返回内容 |
|---|---|
get_health | 资产层级健康汇总 |
22 个工具中,只有 ack_alarm 会改变 Platform 状态 —— 它会确认处理报警。
其余 21 个全部为只读。没有能够控制设备或更改设置的工具。
审批门控 — 改变状态的工具不会在聊天中运行
副驾驶将 AI 调用的工具分为查询工具与变更工具。Platform 集成 MCP 会
为每个工具自行声明「是否仅为查询」,ack_alarm 会声明自己是变更工具。
变更工具未经审批不会执行(默认行为)。但问答界面没有能够当场批准此类工具的 按钮。因此即使在聊天中说"帮我确认这个报警",报警也不会被确认处理:
- 展开答复上方的工具行(「使用了 N 个工具 · N 秒」)会看到该调用标记为失败
- AI 会收到「此工具无法在聊天中直接执行……请在建议页面打开该事件并用操作按钮执行」的拒绝提示,并原样告知用户
报警・事件的处理操作另有人工点击的途径,位于 建议 的事件详情中, 与此门控是两条不同的路径。问答答复下方的操作卡片(向其他系统草拟一份草稿)也是与此门控不同的路径 → 问答 — 操作卡片
| 设置 | 含义 | 默认值 |
|---|---|---|
copilot.agent.tools.approval.enabled (CO_AGENT_TOOL_APPROVAL_ENABLED) | 变更工具审批门控 | true |
copilot.agent.tools.readonly (CO_AGENT_TOOLS_READONLY) | 不自行声明的工具中,视为查询工具的名称列表(glob) | get_* · list_* · search_* 等查询类动词 |
即使关闭门控,所有工具调用都会记录在账本(agent_tool_call_log)中 —— 谁 · 何时 ·
调用了哪个工具 · 用了什么参数(敏感值会被遮蔽) · 结果(成功 · 错误 · 拒绝)。该记录无法
关闭 → 数据库模型
主要设置
由于集成 MCP 是由 Platform server-web 提供的,副驾驶(copliot-web)仅管理客户端连接设置。
| 项目 | 说明 | 默认值 |
|---|---|---|
platform.api.url (CO_PLATFORM_API_URL) | Platform server-web 基础 URL —— 集成 MCP 也经由此地址 | (安装时设置) |
platform.api.token (CO_PLATFORM_API_TOKEN) | Platform api_key 认证令牌 | (安装时设置) |
mcp.tools.enabled (CO_MCP_TOOLS_ENABLED) | 是否启用集成 MCP 工具 | true |
旧名称 mcp.api.url · mcp.api.token 已不存在 —— 使用这些名称不会产生任何效果。若 URL 或令牌为空,
聊天中将不会出现 Platform 工具。
环境变量前缀已在 2026.10 由 CH_ 改为 CO_。旧的 CH_* 名称不再被读取
→ 环境配置
端点为 <platform.api.url>/api/v5/mcp,采用 JSON-RPC 2.0(tools/list·tools/call)方式通信。分页・报警查询期间等服务端策略遵循 Platform server-web 的设置。
特点
完整的数据覆盖
以单一 MCP 提供工厂运营所需的全部数据领域。从传感器原始数据到 KPI 汇总,均可按层级查询。
狭窄的写入范围
全部数据查询工具均为只读,唯一会改变状态的是报警确认处理(ack_alarm)。由于完全没有控制设备或更改设置的手段,可在不引入 AI 干预工艺风险的前提下进行集成。
MCP 标准协议
遵循 Anthropic MCP 标准。支持基于 JSON-RPC 2.0 的 HTTP POST 通信,以及基于 JSON Schema 的输入校验。
以服务器时区为基准
时间按 Platform 服务器所在时区解析。get_current_time 会一并返回该时区名称(例如
Asia/Seoul),并通过 _iso 后缀字段提供便于人类阅读的时间格式。