Communitygithub.com

iaiops — Tap de dados industriais + diagnóstico inteligente

Servidor MCP governado que expõe 66 ferramentas em 8 protocolos industriais, com camada de inteligência entre protocolos e controles de segurança para operações de escrita.

O que é iaiops — Tap de dados industriais + diagnóstico inteligente?

O iaiops é um servidor MCP (Model Context Protocol) governado que fornece acesso a 66 ferramentas distribuídas em 8 protocolos industriais, incluindo OPC-UA, Modbus, Siemens S7, Mitsubishi MC, MTConnect, MQTT/Sparkplug B, Allen-Bradley EtherNet/IP e EtherCAT. Ele opera sob uma estrutura de governança rigorosa com auditoria, orçamento, classificação de risco e capacidade de desfazer operações. A ferramenta é projetada para diagnóstico de problemas, monitoramento de ativos, cálculo de OEE, detecção de anomalias e inventário de ativos OT, com foco em segurança: as 6 ferramentas de escrita são classificadas como risco ALTO e exigem dupla confirmação, com dry_run ativado por padrão. O iaiops suporta ambientes Linux para EtherCAT, requer instalação via pip e usa configuração local criptografada. É ideal para engenheiros de automação e operadores de chão de fábrica que precisam de uma interface unificada e segura para múltiplos sistemas de controle industrial.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add industrial-aiops/industrial-aiops

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que iaiops — Tap de dados industriais + diagnóstico inteligente faz?

Um servidor MCP governado que expõe 66 ferramentas em 8 protocolos industriais, mais uma camada de inteligência entre protocolos. Toda ferramenta passa pela estrutura de governança do iaiops (auditoria / orçamento / nível de risco / desfazer). Leitura primeiro. As 6 ferramentas de escrita são protegidas como Gestão de Mudanças: risk=HIGH, dry_run=True por padrão, CLI exige dupla confirmação, o valor anterior é capturado para desfazer. Nunca escreva em um sistema de controle de produção sem autorização. Faça pré-visualização / simulação validada — verifique contra equipamento real. Comece com protocols_supported para ver o que está configurado e <protocolo> doctor para testar uma conexão.

Quando rotear aqui

Tarefas que mencionam: OPC-UA / opc.tcp, Modbus, Siemens S7 / S7-1200/1500, Mitsubishi / MELSEC, MTConnect / monitoramento de máquinas CNC, MQTT / Sparkplug B / Namespace Unificado, Allen-Bradley / ControlLogix / CompactLogix / EtherNet-IP, EtherCAT / CoE / SDO / PDO / SOEM, OEE / downtime, inventário de ativos OT, diagnóstico "sem dados / tag obsoleto", inundação de alarmes / ISA-18.2.

Ferramentas por protocolo

OPC-UA (somente leitura) — endpoints opc.tcp

  • opcua_server_info — status, informações de build, array de namespaces
  • opcua_browse — navega pela árvore de nós a partir de um node id (profundidade limitada)
  • opcua_read_node — valor + tipo de dado + timestamp de origem + código de status
  • opcua_read_many — leitura em lote de node ids (limitada)
  • opcua_subscribe_sample — amostragem limitada, depois retorna (nunca em loop)
  • opcua_read_alarms — exposição de alarmes/condições ativos (melhor esforço)
  • opcua_read_history — Acesso Histórico (HDA): histórico bruto em uma janela [início,fim]
  • health_summary — classifica node-ids vs limites de aviso/alarme
  • anomaly_scan — amostra um nó, identifica outliers estatísticos

Modbus-TCP (somente leitura aqui)

  • modbus_read_holding (FC03), modbus_read_input (FC04), modbus_read_coils (FC01), modbus_read_discrete (FC02) — com dicas de decodificação
  • modbus_health_summary — classifica registros vs limites

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

  • s7_cpu_info — identidade da CPU + execução/parada
  • s7_read_area — lê N itens de um tipo de uma área de memória S7
  • s7_read_db — lê N itens de um bloco de dados
  • s7_read_many — lote de strings de endereço pyS7 brutas
  • s7_write_db — [ESCREVER][ALTO][MOC] escreve um valor em um DB (desativado por padrão)

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

  • mc_cpu_status — tipo/código da CPU MELSEC
  • mc_read_words / mc_read_bits — lote de dispositivos word/bit a partir de um dispositivo cabeça
  • mc_read_many — leitura aleatória de word + dword em uma única requisição
  • mc_write_words — [ESCREVER][ALTO][MOC] escreve words (desativado por padrão)

MTConnect (somente leitura; todas as máquinas-ferramenta CNC)

  • mtconnect_probe — modelo do dispositivo (dispositivos → componentes → itens de dados)
  • mtconnect_current — último valor de cada item de dados (snapshot da máquina)
  • mtconnect_sample — fluxo limitado de observações recentes
  • mtconnect_assets — ferramentas de corte / fixações / programas
  • mtconnect_oee_snapshot — disponibilidade / execução / modo / programa (entradas OEE)

MQTT / Sparkplug B / UNS (paho-mqtt; decodificação Tahu protobuf completa)

  • mqtt_read_topic — coleta limitada de mensagens MQTT simples
  • sparkplug_decode_payload — decodifica uma carga Sparkplug B bruta em métricas
  • sparkplug_subscribe_sample — amostragem limitada com decodificação completa + birth/death/seq
  • sparkplug_node_list — nós/dispositivos de borda + status online + estado PRIMARY-HOST
  • uns_browse — navega pela árvore de tópicos ativa (UNS) sob um filtro (limitado)
  • mqtt_publish — [ESCREVER][ALTO][MOC] publica/comando em um tópico (desativado por padrão)

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

  • eip_controller_info — identidade do controlador (prova o link CIP)
  • eip_list_tags — descobre a lista de tags do controlador (nomes/tipos/estruturas)
  • eip_read_tag — lê uma tag (ou elemento de array) com seu tipo
  • eip_read_many — leitura em lote (auto-pacote múltiplo)
  • eip_write_tag — [ESCREVER][ALTO][MOC] escreve um valor de tag (desativado por padrão)

EtherCAT (pysoem/SOEM; Linux + root/CAP_NET_RAW + NIC dedicada + escravos reais)

Instalação extra opcional pip install iaiops[ethercat]; nenhum simulador de software (somente hardware, macOS não suportado). As ferramentas degradam para um erro de ensino se pysoem/permissão/NIC/barramento estiver ausente.

  • ethercat_master_state — estado do mestre/contador de trabalho + contagem esperada vs encontrada de escravos
  • ethercat_slaves — varredura do barramento: enumera escravos (id/fabricante/produto/rev/endereço/estado-AL)
  • ethercat_slave_info — um escravo: configuração SM/FMMU + resumo do dicionário de objetos
  • ethercat_read_sdo — upload CoE SDO (leitura de mailbox acíclica de uma entrada OD)
  • ethercat_read_pdo — um snapshot cíclico da imagem de dados de processo de entrada de um escravo
  • ethercat_write_sdo — [ESCREVER][ALTO][MOC] download CoE SDO (desativado por padrão)
  • ethercat_set_state — [ESCREVER][ALTO][MOC] transição de estado AL (pode INICIAR/PARAR movimento; desativado por padrão)

Inteligência entre protocolos

Diagnóstico — guarda-chuva skills: solução de problemas

  • diagnose_dataflow — localiza uma quebra "sem dados" em saltos acessíveis de um endpoint
  • historian_health — detecção de bad-tag / flatline / lacuna em uma série
  • alarm_bad_actors — análise de inundação de alarmes ISA-18.2 (taxa vs <6/12/30, Pareto de ofensores, chattering, standing) em uma lista de eventos
  • tag_health — classifica tags ofensoras por má qualidade / flatline / faixa / anomalia

Análise

  • oee_compute — OEE = Disponibilidade × Desempenho × Qualidade
  • downtime_events — detecta transições executando→parado, categoriza paradas
  • oee_multidim — agrega OEE por máquina × peça × turno
  • asset_inventory — identifica ativamente endpoints (fabricante/modelo/firmware/protocolo) em um registro de ativos (descoberta ativa, não SPAN/tap passivo)
  • monitor_changes — captura apenas as MUDANÇAS de valor de um ponto em uma janela limitada

Meta / roadmap

  • protocols_supported — mapa de capacidades (protocolos, status, ferramentas, parâmetros de conexão)
  • Roadmap: protocolos de mailbox EtherCAT EoE/FoE/SoE; EtherNet/IP PLC-5 / SLC (PCCC), Micro800; descoberta passiva de ativos; segurança de certificado OPC-UA.

Configuração

iaiops init (assistente interativo, prompts por protocolo) escreve ~/.iaiops/config.yaml; credenciais vão para o armazenamento criptografado (~/.iaiops/secrets.enc, senha mestre via IAIOPS_MASTER_PASSWORD). Execute iaiops doctor para testar cada endpoint configurado. Referência completa por protocolo, parâmetros de conexão, guia de teste com simulador e exemplos JSON MCP estão no README.

Segurança

Leitura primeiro. As 6 ferramentas de escrita (s7_write_db, mc_write_words, mqtt_publish, eip_write_tag, ethercat_write_sdo, ethercat_set_state) usam dry_run=True por padrão, exigem dupla confirmação na CLI e registram um descritor de desfazer a partir do valor/estado anterior capturado. Mudanças de estado EtherCAT podem INICIAR ou PARAR movimento de máquina. Não aponte isso para sistemas de controle de produção sem autorização. Nenhuma ferramenta retorna segredos.

Habilidades Relacionadas