跳到主要内容

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
比率以 0~1 返回

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_connectionsOPC 采集连接列表

数据 — 标签​

工具返回内容
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 后缀字段提供便于人类阅读的时间格式。