Communitygithub.com

iaiops — 産業データタップとインテリジェントトラブルシューティング

iaiopsは、8つの産業用プロトコルにまたがる66のツールと、クロスプロトコルインテリジェンス層を提供する統合MCPサーバーです。ガバナンスハーネス(監査/予算/リスク階層/アンドゥ)を備え、読み取り優先で設計されています。

iaiops — 産業データタップとインテリジェントトラブルシューティング とは?

iaiopsは、産業用IoTおよびOT環境向けの統合MCPサーバーであり、OPC-UA、Modbus、Siemens S7、Mitsubishi MC、MTConnect、MQTT/Sparkplug B、Allen-Bradley EtherNet/IP、EtherCATという8つの主要な産業用プロトコルをサポートします。合計66のツールを提供し、プロトコルを横断した診断・分析機能(データフロー診断、ヒストリアン健全性、アラームフラッド分析、OEE計算、ダウンタイム検出、資産インベントリなど)を備えています。すべてのツールはiaiopsガバナンスハーネス(監査、予算制限、リスク階層、アンドゥ機能)を通過します。6つの書き込みツールはデフォルトでdry_run=True、リスクHIGH、二重確認が必要で、書き込み前の値をキャプチャしてアンドゥ可能にします。セットアップは`iaiops init`コマンドで対話的に行い、認証情報は暗号化ストアに保存されます。生産制御システムへの無許可書き込みを防ぐ安全設計が特徴です。

対応~Claude Code~Codex CLI~Cursor
npx skills add industrial-aiops/industrial-aiops

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

iaiops — 産業データタップ + インテリジェントトラブルシューティング

1つのガバナンス付きMCPサーバーが、8つの産業用プロトコルにまたがる66のツールと、クロスプロトコルインテリジェンス層を公開します。すべてのツールはiaiopsガバナンスハーネス(監査/予算/リスク階層/アンドゥ)を通過します。読み取り優先。 6つの書き込みツールは変更管理(Management-of-Change)としてゲートされています:risk=HIGH、dry_run=True(デフォルト)、CLIは二重確認が必要で、アンドゥのために変更前の値がキャプチャされます。許可なく本番制御システムに書き込まないでください。 プレビュー/モックまたはシミュレーションで検証してください — 実機と照合して確認してください。まずはprotocols_supportedで設定内容を確認し、<プロトコル> 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 — Historical Access (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に1つの値を書き込む(デフォルトで無効)

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

  • mc_cpu_status — MELSEC CPUの種類/コード
  • mc_read_words / mc_read_bits — 先頭デバイスからのワード/ビットデバイスのバッチ読み取り
  • mc_read_many — 1リクエストでワード+dwordをランダム読み取り
  • 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 — 1つのタグ(または配列要素)を型付きで読み取り
  • 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 — 1つのスレーブ:SM/FMMU設定 + オブジェクトディクショナリ概要
  • ethercat_read_sdo — CoE SDOアップロード(非循環メールボックス読み取り)
  • ethercat_read_pdo — スレーブの入力プロセスデータイメージの1回の循環スナップショット
  • 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の状態変更は機械のモーションを開始または停止させる可能性があります。許可なくこれを本番制御システムに向けないでください。どのツールも機密情報を返しません。

関連スキル