Communitygithub.com

iaiops — 산업 데이터 tap + 지능형 문제 해결

8개 산업용 프로토콜과 교차 프로토콜 인텔리전스 레이어를 갖춘 통합 MCP 서버로, 66개의 도구를 제공하며 거버넌스 체계(감사/예산/위험 등급/실행 취소)를 통해 모든 작업을 관리합니다.

iaiops — 산업 데이터 tap + 지능형 문제 해결란 무엇인가요?

iaiops는 산업 자동화 및 제어 시스템을 위한 강력한 MCP(Machine-to-Machine Communication Protocol) 서버입니다. OPC-UA, Modbus-TCP, Siemens S7, Mitsubishi MC, MTConnect, MQTT/Sparkplug B, Allen-Bradley EtherNet/IP, EtherCAT 등 8개의 주요 산업 프로토콜을 지원하며, 각 프로토콜별로 전용 도구(read/write/diagnostic)를 제공합니다. 이 스킬은 '읽기 우선' 원칙을 따르며, 6개의 쓰기 도구는 기본적으로 dry_run=True로 설정되어 있고 CLI에서 이중 확인을 요구하여 실수로 인한 생산 시스템 손상을 방지합니다. 또한 교차 프로토콜 인텔리전스 레이어를 통해 데이터 흐름 진단, 히스토리언 상태 점검, 알람 플러드 분석, OEE 계산, 자산 인벤토리 등의 고급 분석 기능을 제공합니다. 주로 Claude Code, Cursor, Codex와 같은 AI 어시스턴트와 함께 사용되어 산업 현장의 데이터 수집, 문제 진단, 그리고 제한적인 쓰기 작업을 안전하게 수행할 수 있도록 설계되었습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add industrial-aiops/industrial-aiops

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

iaiops — 산업 데이터 tap + 지능형 문제 해결은(는) 무엇을 하나요?

하나의 관리되는 MCP 서버로 8개의 산업 프로토콜과 교차 프로토콜 인텔리전스 레이어를 통해 66개의 도구를 제공합니다. 모든 도구는 iaiops 거버넌스 체계(감사/예산/위험 등급/실행 취소)를 통해 실행됩니다. 읽기 우선. 6개의 쓰기 도구는 변경 관리(MOC, Management-of-Change)로 게이트되어 risk=HIGH, dry_run=True가 기본값이며, CLI에서는 이중 확인을 요구하고, 변경 전 값을 실행 취소를 위해 캡처합니다. 허가 없이 생산 제어 시스템에 쓰지 마십시오. 시뮬레이션/모의 또는 검증된 환경에서 미리 테스트하고 실제 장비와 검증하십시오. protocols_supported로 구성된 프로토콜을 확인하고 <protocol> doctor로 링크를 테스트하는 것으로 시작하세요.

이 스킬을 사용해야 할 때

작업에서 언급된 내용: OPC-UA / opc.tcp, Modbus, Siemens S7 / S7-1200/1500, Mitsubishi / MELSEC, MTConnect / CNC 기계 모니터링, MQTT / Sparkplug B / 통합 네임스페이스(UNS, Unified Namespace), Allen-Bradley / ControlLogix / CompactLogix / EtherNet-IP, EtherCAT / CoE / SDO / PDO / SOEM, OEE / 가동 중단 시간, OT 자산 인벤토리, "데이터 없음 / 태그 오래됨" 진단, 알람 플러드 / ISA-18.2.

프로토콜별 도구

OPC-UA (읽기 전용) — opc.tcp 엔드포인트

  • opcua_server_info — 상태, 빌드 정보, 네임스페이스 배열
  • opcua_browse — 노드 ID에서 노드 트리 탐색 (깊이 제한)
  • opcua_read_node — 값 + 데이터 타입 + 소스 타임스탬프 + 상태 코드
  • opcua_read_many — 여러 노드 ID 일괄 읽기 (제한)
  • opcua_subscribe_sample — 제한된 샘플링 후 반환 (루프 없음)
  • opcua_read_alarms — 가능한 최선의 활성 알람/조건 표시
  • opcua_read_history — HDA(Historical Access): [시작, 끝] 기간의 원시 히스토리
  • health_summary — 노드 ID를 경고/알람 임계값과 비교 분류
  • anomaly_scan — 노드 샘플링, 통계적 이상값 플래그

Modbus-TCP (여기서는 읽기 전용)

  • modbus_read_holding (FC03), modbus_read_input (FC04), modbus_read_coils (FC01), modbus_read_discrete (FC02) — 디코드 힌트 제공
  • modbus_health_summary — 임계값 대비 레지스터 분류

Siemens S7comm (pyS7; S7-300/400/1200/1500)

  • s7_cpu_info — CPU ID + 실행/정지 상태
  • s7_read_area — S7 메모리 영역에서 N개 항목 읽기
  • s7_read_db — 데이터 블록에서 N개 항목 읽기
  • s7_read_many — 원시 pyS7 주소 문자열 일괄 읽기
  • s7_write_db — [쓰기][높음][MOC] DB에 값 하나 쓰기 (기본적으로 비활성화)

Mitsubishi MC (pymcprotocol 3E; Q/L/iQ)

  • mc_cpu_status — MELSEC CPU 유형/코드
  • mc_read_words / mc_read_bits — 시작 디바이스에서 워드/비트 디바이스 일괄 읽기
  • mc_read_many — 하나의 요청에서 분산된 워드 + 더블워드 랜덤 읽기
  • mc_write_words — [쓰기][높음][MOC] 워드 쓰기 (기본적으로 비활성화)

MTConnect (읽기 전용; 모든 CNC 공작 기계)

  • mtconnect_probe — 디바이스 모델 (디바이스 → 컴포넌트 → 데이터 항목)
  • mtconnect_current — 모든 데이터 항목의 최신 값 (기계 스냅샷)
  • mtconnect_sample — 최근 관측값의 제한된 스트림
  • mtconnect_assets — 절삭 공구 / 고정 장치 / 프로그램
  • mtconnect_oee_snapshot — 가용성/실행/모드/프로그램 (OEE 입력)

MQTT / Sparkplug B / UNS (paho-mqtt; 전체 Tahu protobuf 디코드)

  • mqtt_read_topic — 일반 MQTT 제한된 메시지 수집
  • sparkplug_decode_payload — 하나의 원시 Sparkplug B 페이로드를 메트릭으로 디코드
  • sparkplug_subscribe_sample — 전체 디코드 + birth/death/seq 포함 제한된 샘플링
  • sparkplug_node_list — 엣지 노드/디바이스 + 온라인 상태 + 기본 호스트 STATE
  • uns_browse — 필터 아래에서 라이브 토픽 트리(UNS) 탐색 (제한)
  • mqtt_publish — [쓰기][높음][MOC] 토픽에 게시/명령 (기본적으로 비활성화)

Allen-Bradley EtherNet/IP (pycomm3; ControlLogix/CompactLogix)

  • eip_controller_info — 컨트롤러 ID (CIP 링크 확인)
  • eip_list_tags — 컨트롤러 태그 목록 검색 (이름/유형/구조)
  • eip_read_tag — 하나의 태그(또는 배열 요소)와 해당 유형 읽기
  • eip_read_many — 일괄 읽기 (자동 멀티패킷)
  • eip_write_tag — [쓰기][높음][MOC] 태그 값 하나 쓰기 (기본적으로 비활성화)

EtherCAT (pysoem/SOEM; Linux + root/CAP_NET_RAW + 전용 NIC + 실제 슬레이브)

추가 설치: pip install iaiops[ethercat]; 소프트웨어 시뮬레이터 없음 (하드웨어 전용, macOS 미지원). pysoem/권한/NIC/버스가 없으면 도구가 교육용 오류로 저하됩니다.

  • ethercat_master_state — 마스터/작업 카운터 상태 + 예상 vs 발견된 슬레이브 수
  • ethercat_slaves — 버스 스캔: 슬레이브 열거 (ID/벤더/제품/개정/주소/AL-상태)
  • ethercat_slave_info — 하나의 슬레이브: SM/FMMU 구성 + 오브젝트 딕셔너리 요약
  • ethercat_read_sdo — CoE SDO 업로드 (비순환 메일박스 OD 항목 읽기)
  • ethercat_read_pdo — 하나의 순환 스냅샷: 슬레이브 입력 프로세스 데이터 이미지
  • ethercat_write_sdo — [쓰기][높음][MOC] CoE SDO 다운로드 (기본적으로 비활성화)
  • ethercat_set_state — [쓰기][높음][MOC] AL-상태 전환 (모션 START/STOP 가능; 기본적으로 비활성화)

교차 프로토콜 인텔리전스

진단 — skills 우산: 문제 해결

  • diagnose_dataflow — 엔드포인트의 도달 가능한 홉에서 "데이터 없음" 중단 위치 파악
  • historian_health — 시계열에서 잘못된 태그/평탄선/갭 감지
  • alarm_bad_actors — ISA-18.2 알람 플러드 분석 (비율 vs <6/12/30, 파레토 위반자, 채터링, 지속) 이벤트 목록 기반
  • tag_health — 잘못된 품질/평탄선/범위/이상값별 태그 위반자 순위

분석

  • oee_compute — OEE = 가용성 × 성능 × 품질
  • downtime_events — 실행→정지 전환 감지, 정지 분류
  • oee_multidim — 기계 × 부품 × 교대별 OEE 집계
  • asset_inventory — 엔드포인트(벤더/모델/펌웨어/프로토콜)를 능동적으로 지문 스캔하여 자산 레지스트리에 등록 (활성 검색, 수동 SPAN/tap 아님)
  • monitor_changes — 제한된 기간 동안 포인트의 값 변경만 캡처

메타 / 로드맵

  • protocols_supported — 기능 맵 (프로토콜, 상태, 도구, 연결 매개변수)
  • 로드맵: EtherCAT EoE/FoE/SoE 메일박스 프로토콜; EtherNet/IP PLC-5 / SLC (PCCC), Micro800; 수동 자산 검색; OPC-UA 인증서 보안.

설정

iaiops init (대화형 마법사, 프로토콜별 프롬프트)가 ~/.iaiops/config.yaml을 생성합니다. 자격 증명은 암호화된 저장소(~/.iaiops/secrets.enc, 마스터 비밀번호는 IAIOPS_MASTER_PASSWORD를 통해 전달)에 저장됩니다. iaiops doctor를 실행하여 각 구성된 엔드포인트를 테스트하세요. 전체 프로토콜별 참조, 연결 매개변수, 시뮬레이터 테스트 가이드 및 MCP JSON 예제는 README에 있습니다.

안전

읽기 우선. 6개의 쓰기 도구(s7_write_db, mc_write_words, mqtt_publish, eip_write_tag, ethercat_write_sdo, ethercat_set_state)는 기본적으로 dry_run=True이며, CLI에서 이중 확인을 요구하고, 캡처된 이전 값/상태에서 실행 취소 설명자를 기록합니다. EtherCAT 상태 전환은 기계 모션을 START 또는 STOP할 수 있습니다. 허가 없이 생산 제어 시스템에 사용하지 마십시오. 어떤 도구도 비밀을 반환하지 않습니다.

관련 스킬