MCP — Real-Time Data Gateway
Overview
PlantPulse Integrated MCP is an MCP (Model Context Protocol) data gateway that makes all real-time data from the PlantPulse IIoT platform accessible to AI.
Through read-only data tools, it exposes every aspect of plant operations to AI — plant hierarchy, sensor data, alarms, OEE, work orders, energy, system status, and more. Ontology (knowledge graph) tools are also part of this integrated MCP.
MCP (Model Context Protocol) is a standard protocol proposed by Anthropic for integrating AI models with data sources.
2026-07 revision: The integrated MCP is now provided as the /api/v5/mcp endpoint (api_key authentication) of the PlantPulse platform's server-web. The former standalone services plantpulse-mcp-server (:50000) and plantpulse-ontology (:8888) have been archived, and the ontology tools have been absorbed into the integrated MCP. The built-in agent of AI Chat Web (ToolRegistry) dynamically discovers tools via tools/list.
Data Coverage
Plant Structure
Queries the entire site → area → line → equipment → tag hierarchy. If you only need the hierarchy, use the asset tree; if you also need a configuration overview with tag counts, use the ontology; for impact propagation, use the relationship graph.
When asking by name, search_domains resolves the ID first — it searches 14 domains (sites, equipment, tags, orders, users, and more) by partial match on name, ID, or description.
Real-Time Values and History
- Bulk query of current tag values (up to 100 at a time)
- Tag history over a period
- Full tag snapshot of an equipment — get the current state per equipment without specifying tags one by one
Alarms
- Alarm list query (period and severity filters)
- Alarm root cause diagnostic bundle — get related tags and state changes bundled around a single alarm
- Alarm acknowledgment
Production Metrics (OEE / RAM / EMS)
Queries are organized around equipment.
| What you need | Tool |
|---|---|
| One row per order (which order was the problem) | get_asset_kpi |
| The whole period in one row (how was this week) | get_asset_stats |
| Details of a single order | get_order_metrics |
Ratio values such as OEE are in the 0~1 range, not percentages. A value displayed as 85% on screen
is 0.85 in the tool response.
Collection Status
Queries edge gateway status, health history, and the OPC collection connection list. Questions like "data isn't coming in" are usually answered here.
Equipment Documents
Queries the list of documents attached to an equipment. Searching document content is handled by RAG, not MCP.
Available Tools (22)
This is the complete set of tools provided by the integrated MCP. Adding or removing a tool breaks the platform's contract tests, so this list is the actual list.
Time
| Tool | What it returns |
|---|---|
get_current_time | Current server time — the reference for interpreting relative times ("yesterday", "last week") |
Structure — What is Where
| Tool | What it returns |
|---|---|
search_domains | Entity search (name → ID resolution) |
get_asset_tree | Asset hierarchy tree |
get_ontology | Site ontology overview (structure + tag count per equipment) |
query_ontology | Asset relationship graph traversal (impact propagation) |
query_sparql | Ontology SPARQL query |
get_asset_documents | List of documents attached to an equipment |
search_domainsMost tools take an ID. Users speak in names such as "Daejeon Line 3 Filler", so
the AI resolves the ID with search_domains before calling the actual tool. If the answer comes back as
"equipment not found", the name usually differs from the one registered in the platform.
Connections — Is Collection Alive
| Tool | What it returns |
|---|---|
get_edge_status | Edge gateway status |
get_edge_health_history | Edge health history (daily intervals) |
list_connections | OPC collection connection list |
Data — Tags
| Tool | What it returns |
|---|---|
get_tag_values | Current tag values |
get_tag_history | Tag history over a period |
Data — Alarms
| Tool | What it returns |
|---|---|
list_alarms | Alarm list |
get_alarm_context | Alarm root cause diagnostic bundle |
ack_alarm | Alarm acknowledgment |
Data — Equipment
| Tool | What it returns |
|---|---|
get_asset_snapshot | Full tag snapshot of an equipment |
get_asset_timeline | Equipment event timeline |
get_asset_stats | Equipment business statistics over a period |
Production
| Tool | What it returns |
|---|---|
list_orders | Work order list |
get_order_metrics | Work order details and KPIs |
get_asset_kpi | Per-order equipment KPIs (OEE / EMS / RAM) |
Rollup
| Tool | What it returns |
|---|---|
get_health | Asset hierarchy health rollup |
Of the 22 tools, only ack_alarm changes platform state — it acknowledges alarms.
The other 21 are all read-only. There is no tool that controls equipment or changes settings.
Key Settings
Since the integrated MCP is provided by the platform server-web, AI Chat Web (copliot-web) manages only the client-side connection settings.
| Item | Description | Default |
|---|---|---|
mcp.api.url | Integrated MCP base URL (platform server-web) | (set during installation) |
mcp.api.token | api_key authentication token | (set during installation) |
mcp.tools.enabled | Whether integrated MCP tools are used | true |
The endpoint is <mcp.api.url>/api/v5/mcp, and communication uses JSON-RPC 2.0 (tools/list · tools/call). Server-side policies such as pagination and alarm query periods follow the platform server-web settings.
Characteristics
Complete Data Coverage
Provides every data domain needed for plant operations through a single MCP. Queries are possible at every level, from raw sensor data to KPI aggregates.
Narrow Write Scope
All data query tools are read-only; the only thing that changes state is alarm acknowledgment (ack_alarm). Since there is no means whatsoever to control equipment or change settings, it can be integrated without any risk of AI intervening in the process.
MCP Standard Protocol
Complies with the Anthropic MCP standard. Supports JSON-RPC 2.0 based HTTP POST communication and JSON Schema based input validation.
KST Native
All time handling is based on KST (Korea Standard Time). Fields with the _iso suffix provide a human-readable time format.