MCP — 실시간 데이터 게이트웨이
개요
PlantPulse 통합 MCP는 PlantPulse IIoT 플랫폼의 모든 실시간 데이터를 AI가 접근할 수 있도록 하는 MCP(Model Context Protocol) 데이터 게이트웨이입니다.
읽기 전용 데이터 도구를 통해 공장 계층 구조, 센서 데이터, 알람, OEE, 작업지시, 에너지, 시스템 상태 등 공장 운영의 모든 데이터를 AI에게 제공합니다. 온톨로지(지식 그래프) 도구도 이 통합 MCP에 포함됩니다.
MCP(Model Context Protocol)는 Anthropic이 제안한 AI 모델과 데이터 소스 간의 표준 연동 프로토콜입니다.
2026-07 개편: 통합 MCP는 이제 PlantPulse 플랫폼 server-web의 엔드포인트 /api/v5/mcp(api_key 인증)로 제공됩니다. 구 독립 서비스였던 plantpulse-mcp-server(:50000)와 plantpulse-ontology(:8888)는 아카이브되었고, 온톨로지 도구는 통합 MCP에 흡수되었습니다. AI Chat Web의 내장 에이전트(ToolRegistry)가 tools/list로 도구를 동적 발견합니다.
다룰 수 있는 데이터
공장 구조
사이트 → 구역 → 라인 → 설비 → 태그 계층 전체를 조회합니다. 계층만 필요하면 자산 트리, 구성 개요와 태그 개수까지 필요하면 온톨로지, 영향 전파는 관계 그래프로 나뉩니다.
이름으로 물을 때는 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 가 제공하는 도구 전량입니다. 도구를 늘리거나 줄이면 플랫폼의 계약 테스트가 실패하므로, 이 목록이 곧 실제 목록입니다.
시간
| 도구 | 돌려주는 것 |
|---|---|
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 를 해소한 뒤 본 도구를 호출합니다. 답이 "설비를 찾을 수 없다" 로
돌아온다면 대개 이름이 플랫폼 등록명과 다른 경우입니다.
연결 — 수집이 살아 있나
| 도구 | 돌려주는 것 |
|---|---|
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 만 플랫폼 상태를 바꿉니다 — 알람을 확인 처리합니다.
나머지 21개는 전부 읽기 전용입니다. 설비를 제어하거나 설정을 바꾸는 도구는 없습니다.
주요 설정
통합 MCP는 플랫폼 server-web에서 제공되므로 AI Chat Web(copliot-web)은 클라이언트 측 접속 설정만 관리합니다.
| 항목 | 설명 | 기본값 |
|---|---|---|
mcp.api.url | 통합 MCP 베이스 URL (플랫폼 server-web) | (설치 시 설정) |
mcp.api.token | api_key 인증 토큰 | (설치 시 설정) |
mcp.tools.enabled | 통합 MCP 도구 사용 여부 | true |
엔드포인트는 <mcp.api.url>/api/v5/mcp이며, JSON-RPC 2.0(tools/list·tools/call) 방식으로 통신합니다. 페이지네이션·알람 조회 기간 등 서버 측 정책은 플랫폼 server-web 설정을 따릅니다.
특징
완전한 데이터 커버리지
공장 운영에 필요한 모든 데이터 도메인을 단일 MCP로 제공합니다. 센서 raw 데이터부터 KPI 집계까지 계층별 조회가 가능합니다.
좁은 쓰기 범위
데이터 조회 도구는 전부 읽기 전용이고, 상태를 바꾸는 것은 알람 확인(ack_alarm) 하나뿐입니다. 설비 제어나 설정 변경 수단이 아예 없으므로, AI 가 공정에 개입할 위험 없이 연동할 수 있습니다.
MCP 표준 프로토콜
Anthropic MCP 표준을 준수합니다. JSON-RPC 2.0 기반 HTTP POST 통신, JSON Schema 기반 입력 검증을 지원합니다.
KST 네이티브
모든 시간 처리가 KST(한국표준시) 기준입니다. _iso 접미사 필드로 사람이 읽기 쉬운 시간 형식을 제공합니다.