Communitygithub.com

iaiops

一個受治理的 MCP 伺服器,透過 8 種工業協定提供 66 個工具,以及跨協定智慧層,用於工業資料擷取與智慧故障排除。

iaiops 是什麼?

iaiops 是一個受治理的 MCP 伺服器,專為工業自動化環境設計,整合了 8 種工業協定(包括 OPC-UA、Modbus、Siemens S7、Mitsubishi MELSEC、MTConnect、MQTT/Sparkplug B、Allen-Bradley EtherNet/IP 及 EtherCAT),並提供 66 個工具。它採用「唯讀優先」的安全原則,僅有 6 個寫入工具預設為唯讀模式,並需經過變更管理流程(MOC)才能啟用,且會記錄變更前的狀態以支援復原。除了協定專用工具外,iaiops 還提供跨協定診斷功能,如資料流故障定位、警報洪水分析(符合 ISA-18.2)、OEE 計算及資產主動發現。它支援 Linux 和 macOS 平台(EtherCAT 需 Linux + root 權限),並可作為 MCP 伺服器與支援 MCP 的 AI 代理(如 Claude Code、Cursor 等)整合。設定透過互動式精靈完成,憑證則以加密方式儲存。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add industrial-aiops/industrial-aiops

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

iaiops — 工業資料擷取 + 智慧故障排除

一個受治理的 MCP 伺服器,公開 66 個工具,涵蓋 8 種工業協定,並包含跨協定智慧層。每個工具都透過 iaiops 治理框架(稽核 / 預算 / 風險等級 / 復原)執行。唯讀優先。 6 個寫入工具受到變更管理(MOC)限制: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 / 統一命名空間、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):在 [開始,結束] 時間範圍內的原始歷史資料
  • 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 身分 + 運行/停止
  • 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 — 有限取樣,含完整解碼 + 生日/死亡/序號
  • sparkplug_node_list — 邊緣節點/裝置 + 線上狀態 + 主機 STATE
  • uns_browse — 在篩選條件下瀏覽即時主題樹(UNS)(有限)
  • mqtt_publish — [寫入][高風險][MOC] 發佈/命令到主題(預設關閉)

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

  • eip_controller_info — 控制器身分(證明 CIP 連結)
  • eip_list_tags — 探索控制器標籤列表(名稱/類型/結構)
  • eip_read_tag — 讀取一個標籤(或陣列元素)及其類型
  • eip_read_many — 批次讀取(自動多封包)
  • eip_write_tag — [寫入][高風險][MOC] 寫入一個標籤值(預設關閉)

EtherCAT(pysoem/SOEM;Linux + root/CAP_NET_RAW + 專用網卡 + 真實從站)

選擇性額外安裝 pip install iaiops[ethercat];無軟體模擬器(僅限硬體,macOS 不支援)。若缺少 pysoem/權限/網卡/匯流排,工具會降級為顯示教學錯誤。

  • ethercat_master_state — 主站/工作計數器狀態 + 預期與實際從站數量
  • 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 狀態轉換(可啟動/停止運動;預設關閉)

跨協定智慧

診斷 — 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/分流)
  • 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 狀態變更可能啟動或停止機器運動。未經授權,請勿將其指向生產控制系統。沒有工具會回傳機密。

相關技能