{"name":"io.github.industrial-aiops/iaiops","slug":"industrial-aiops-iaiops","title":"Industrial-AIOps","description":"Governed OT data tap: 14 field protocols + cross-protocol RCA brain; audit + MOC gating.","url":"https://mcp.market/server/industrial-aiops-iaiops","rating":null,"grade":"B","score":74,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":20,"stars":2,"forks":0,"downloads_week":null,"last_push_at":"2026-09-19T01:02:11.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/industrial-aiops/industrial-aiops","website":null,"version":"0.28.0","remotes":[],"packages":[{"registryType":"pypi","identifier":"iaiops","version":"0.28.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Tool-menu selection: comma-separated protocols or a named profile (e.g. 'fab', 'process', 'building', 'opcua,modbus'). No default since 0.10.0 — unset prints the selection menu and exits; set to a profile name (e.g. factory) or comma-list of protocols.","isRequired":true,"name":"IAIOPS_MCP"},{"description":"Path to the endpoints config YAML (default: ~/.iaiops/config.yaml).","name":"IAIOPS_CONFIG"},{"description":"Master password unlocking the encrypted secret store (~/.iaiops/secrets.enc).","isSecret":true,"name":"IAIOPS_MASTER_PASSWORD"},{"description":"Set to 1 to withhold every data-shipping tool (message bus, external historian, remote LLM) from list_tools() at registration time, for an airgap/sealed-box deployment. This is a data-exfiltration axis only, not read/write authorisation — whether a write is allowed is the caller's decision, and every call (read or write) is audited. Gates MCP tools only — not a firewall.","name":"IAIOPS_NO_EGRESS"}]}],"tools":[],"scan":{"score":74,"grade":"B","scanned_at":"2026-09-19T10:15:01.759Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T10:15:01.737Z","components":{"code":{"score":20,"max":25,"notes":["343 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"obf.hex-density","severity":"medium","component":"code","title":"Heavily hex-escaped string (obfuscation)","evidence":"iaiops-0.28.0/iaiops/connectors/sparkplug/sparkplug_b_pb2.py: …\\x80\\x80\\x80\\x80\\x02\\x42\\x07\\n\\x05value*\\x08\\x08\\x06\\x10\\x80\\x80\\x80\\x80\\x02\\x1a\\x97\\x04\\n\\x07\\x44\\x61taSet\\x12\\x16\\n\\x0enum_of_…"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"iaiops","version":"0.28.0","found":true,"license":"MIT","dependencyCount":115,"publishedAt":"2026-09-16T05:06:56.090839Z"}],"repo":{"found":true,"owner":"industrial-aiops","repo":"industrial-aiops","archived":false,"pushedAt":"2026-09-19T01:02:11Z","stars":2,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/297801892?v=4","ownerCreatedAt":"2026-06-29T06:12:08Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":2,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-19T01:02:11.000Z","score":20}}}},"grade_history":[],"reviews":[]}