{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "OT AI Hub tool index",
  "alternateName": "Industrial Agent Index tools",
  "description": "Hand-checked directory records published by OT AI Hub. The compilation and wording are CC-BY 4.0. Pages linked from each record stay under their own terms.",
  "url": "https://otaihub.com/data/tools.json",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "licenseName": "CC-BY 4.0",
  "dateModified": "2026-11-03",
  "creator": {
    "@type": "Organization",
    "name": "OT AI Hub",
    "alternateName": "Industrial Agent Index",
    "url": "https://otaihub.com"
  },
  "tools": [
    {
      "slug": "eigen-engineering-agent",
      "name": "Eigen Engineering Agent",
      "description": "Siemens agent connected to TIA Portal that executes engineering tasks in the open project, then checks its own result.",
      "category": "vendor-plc-copilots",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "Siemens",
      "pricing": "paid",
      "homepage": "https://www.siemens.com/en-us/products/tia-portal/eigen-engineering-agent/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "ide-integrated",
      "notes": "Requires TIA Portal V19, V20, or V21, TIA Portal Openness, and an Industry Organization Account. Siemens describes SCL and LAD generation, WinCC Unified scripts, drive and PROFINET setup, ECAD import, and standards-based project generation. It acts inside the project rather than pasting suggestions. Public list price was not on the product page checked here. The short URL siemens.com/EngineeringCopilotTIA currently presents this product.",
      "sources": [
        {
          "label": "Product page",
          "url": "https://www.siemens.com/en-us/products/tia-portal/eigen-engineering-agent/"
        },
        {
          "label": "Siemens news",
          "url": "https://news.siemens.com/en-us/the-new-ai-agent-doesnt-just-make-suggestions/"
        }
      ],
      "profile": {
        "group": "engineering",
        "host": "TIA Portal V19–V21",
        "scope": "SCL, LAD, WinCC Unified, drives, hardware, PROFINET setup, ECAD import, project generation",
        "models": "Not stated on the product page",
        "availability": "Subscription via an Industry Organization Account"
      }
    },
    {
      "slug": "siemens-industrial-copilot-tia",
      "name": "Siemens Industrial Copilot for TIA Portal",
      "description": "Earlier Siemens assistant for SCL generation, code explanation, WinCC Unified drafts, and natural-language manual search.",
      "category": "vendor-plc-copilots",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "Siemens",
      "pricing": "paid",
      "homepage": "https://press.siemens.com/global/en/pressrelease/siemens-xcelerator-scaling-roll-out-generative-ai-siemens-industrial-copilot",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "ide-integrated",
      "notes": "Announced at Hannover Messe 2024 and offered from the Siemens Xcelerator marketplace starting summer 2024. Siemens said it uses Azure OpenAI and can run against a customer's private instance that is not used to retrain models. Eigen Engineering Agent is the newer, more autonomous product. Treat Copilot and Eigen as two generations, not two names for one SKU.",
      "sources": [
        {
          "label": "2024 press release",
          "url": "https://press.siemens.com/global/en/pressrelease/siemens-xcelerator-scaling-roll-out-generative-ai-siemens-industrial-copilot"
        },
        {
          "label": "Customer reference",
          "url": "https://references.siemens.com/en/reference/engineering-copilot?id=43756"
        }
      ],
      "profile": {
        "group": "engineering",
        "host": "TIA Portal",
        "scope": "SCL generation and explanation, starter WinCC Unified visualization, documentation search",
        "models": "Azure OpenAI, with an option Siemens described as a private instance",
        "availability": "Xcelerator marketplace since summer 2024. Eigen is the newer agent."
      }
    },
    {
      "slug": "factorytalk-design-studio-copilot",
      "name": "FactoryTalk Design Studio Copilot",
      "description": "Generative assistant inside FactoryTalk Design Studio for Logix code, explanations, device changes, and project questions.",
      "category": "vendor-plc-copilots",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "Rockwell Automation",
      "pricing": "paid",
      "homepage": "https://www.rockwellautomation.com/en-us/products/software/factorytalk/design-studio.html",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "ide-integrated",
      "notes": "Design Studio is the cloud Logix engineering environment. Copilot is a feature of it, not a separate protocol server. Rockwell's docs say prompts are not used to train Azure OpenAI. Engineers are expected to review changes before they land. Rockwell also describes Plan and Build agents in the same product. FactoryTalk Conductor is a later orchestration layer, not this copilot.",
      "sources": [
        {
          "label": "Design Studio",
          "url": "https://www.rockwellautomation.com/en-us/products/software/factorytalk/design-studio.html"
        },
        {
          "label": "Copilot docs",
          "url": "https://www.rockwellautomation.com/en-us/docs/factorytalk-design-studio/current/contents-ditamap/getting-started/factorytalk-design-studio-copilot.html"
        }
      ],
      "profile": {
        "group": "engineering",
        "host": "FactoryTalk Design Studio",
        "scope": "Natural-language code, explanations from a rung up to a project, device add/remove/assign, help search",
        "models": "Docs refer to Azure OpenAI and say prompts are not used to train it",
        "availability": "In Design Studio. Conductor is a separate, later product."
      }
    },
    {
      "slug": "factorytalk-conductor",
      "name": "FactoryTalk Conductor",
      "description": "Announced AI orchestration layer that coordinates agents and workflows across Rockwell engineering tools.",
      "category": "vendor-plc-copilots",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "Rockwell Automation",
      "pricing": "paid",
      "homepage": "https://www.rockwellautomation.com/en-us/products/software/factorytalk/conductor.html",
      "lastVerified": "2026-11-03",
      "maturity": "announced",
      "writePolicy": "ide-integrated",
      "notes": "Public debut at Automation Fair 2026. Rockwell says commercial availability is planned for the first quarter of 2027, so this is not something you can buy and install today. Launch integrations named by Rockwell: Studio 5000 Logix Designer, Logix Echo, Emulate3D, and FactoryTalk Optix. Design Studio, Historian, Plex, and Fiix are described as later. Rockwell says customers can use FactoryTalk Hub models or their own, including local open-weight models.",
      "sources": [
        {
          "label": "Product page",
          "url": "https://www.rockwellautomation.com/en-us/products/software/factorytalk/conductor.html"
        },
        {
          "label": "Press release, 21 Oct 2026",
          "url": "https://www.rockwellautomation.com/en-us/company/news/press-releases/Rockwell-Automation-Introduces-FactoryTalk-Conductor-an-AI-Native-Orchestration-Platform-for-Industrial-Automation.html"
        }
      ],
      "profile": {
        "group": "engineering",
        "host": "Studio 5000, Logix Echo, Emulate3D, FactoryTalk Optix at the announced launch",
        "scope": "Multi-step engineering workflows across those tools, not a single chat pane",
        "models": "FactoryTalk Hub-hosted, or customer models including local open-weight",
        "availability": "Announced. Commercial availability planned for Q1 2027."
      }
    },
    {
      "slug": "twincat-coagent",
      "name": "TwinCAT CoAgent",
      "description": "Beckhoff multi-agent assistant for TwinCAT engineering, built as an MCP client with a choice of cloud or local models.",
      "category": "vendor-plc-copilots",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "Beckhoff",
      "pricing": "paid",
      "homepage": "https://www.beckhoff.com/en-us/products/automation/twincat-projects-with-ai-supported-engineering/",
      "lastVerified": "2026-11-03",
      "maturity": "announced",
      "writePolicy": "ide-integrated",
      "notes": "TE1700 TwinCAT 3 CoAgent for Engineering is the engineering product. Beckhoff says it is an MCP client with agents for PLC, I/O, HMI, and the Information System, and that customers can attach their own MCP servers. Models can be cloud (OpenAI, Anthropic, or others) or local for air-gapped use. Beckhoff says specialists review results before execution. A third-party roundup described market release as on request; confirm fulfillment with Beckhoff. The unofficial twincat-mcp project is a different piece of software.",
      "sources": [
        {
          "label": "Product page",
          "url": "https://www.beckhoff.com/en-us/products/automation/twincat-projects-with-ai-supported-engineering/"
        },
        {
          "label": "Press release, 23 Jun 2026",
          "url": "https://www.beckhoff.com/en-us/company/press/open-model-independent-ai-assistance-for-automation-programming-and-controls-engineering-2026-06.html"
        }
      ],
      "profile": {
        "group": "engineering",
        "host": "TwinCAT 3 XAE (TE1700)",
        "scope": "PLC code, I/O configuration, HMI, documentation, via MCP agents",
        "models": "Cloud or local. OpenAI and Anthropic are named examples, not a lock-in.",
        "availability": "Announced June 2026. Confirm how you actually order TE1700."
      }
    },
    {
      "slug": "automation-studio-copilot",
      "name": "Automation Studio CoPilot",
      "description": "B&R coding assistant inside Automation Studio Code that turns natural-language prompts into Structured Text.",
      "category": "vendor-plc-copilots",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "B&R Industrial Automation",
      "pricing": "paid",
      "homepage": "https://www.br-automation.com/en-us/technologies/automation-software/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "ide-integrated",
      "notes": "Described on B&R's automation software page as part of Automation Studio 6, alongside Automation Studio Code. The published capability is help writing, optimizing, and commenting Structured Text. Model vendor, data-retention terms, and a separate price were not on that page. It is a vendor IDE assistant, not an MCP server.",
      "sources": [
        {
          "label": "Automation software",
          "url": "https://www.br-automation.com/en-us/technologies/automation-software/"
        }
      ],
      "profile": {
        "group": "engineering",
        "host": "Automation Studio 6 / Automation Studio Code",
        "scope": "Structured Text generation, optimization, and comments",
        "models": "Not stated on the product page",
        "availability": "Described as part of the current Automation Studio 6 tooling"
      }
    },
    {
      "slug": "schneider-industrial-copilot",
      "name": "Schneider Industrial Copilot",
      "description": "PLC code assistant embedded in EcoStruxure Automation Expert. Schneider does not sell it as a standalone product.",
      "category": "vendor-plc-copilots",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "Schneider Electric",
      "pricing": "paid",
      "homepage": "https://blog.se.com/digital-transformation/artificial-intelligence/2025/11/14/engineering-at-scale-how-ai-is-transforming-plc-coding/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "ide-integrated",
      "notes": "Announced with the EcoStruxure Automation Expert platform around Hannover Messe 2025. Schneider's own writing says it generates, explains, and tests PLC code against Schneider libraries, and that it is a module inside that platform. An Automation World interview with Aurelien LeSant says the same: not available independently of EcoStruxure Automation Expert. No public price or model card was on the pages checked.",
      "sources": [
        {
          "label": "Schneider blog, 14 Nov 2025",
          "url": "https://blog.se.com/digital-transformation/artificial-intelligence/2025/11/14/engineering-at-scale-how-ai-is-transforming-plc-coding/"
        },
        {
          "label": "Automation World interview",
          "url": "https://www.automationworld.com/process/digital-transformation/article/55305398/schneider-electric-inside-the-new-industrial-copilot-with-schneider-electrics-aurelien-lesant"
        }
      ],
      "profile": {
        "group": "engineering",
        "host": "EcoStruxure Automation Expert",
        "scope": "Generate, explain, and test PLC code; application structure from documentation",
        "models": "Not stated on the pages checked",
        "availability": "Module inside EcoStruxure Automation Expert, not a separate download"
      }
    },
    {
      "slug": "copia-ai",
      "name": "Copia AI",
      "description": "Paid copilot for Rockwell and Siemens projects stored in Copia: code help, documentation, and change summaries.",
      "category": "vendor-plc-copilots",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "Copia Automation",
      "pricing": "paid",
      "homepage": "https://copia.io/product/copia-ai/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "ide-integrated",
      "notes": "Copia is a multi-vendor source-control product, not a PLC brand. Docs list Copilot chat, Copilot for DeviceLink, and Copilot for Source Control. The support chart shows Rockwell Studio 5000 across those features. Siemens TIA Portal chat is marked supported; DeviceLink and source-control copilot for Siemens were still marked in progress. Copia says customer files are not used to train the models. It does not talk to a live controller by itself.",
      "sources": [
        {
          "label": "Product page",
          "url": "https://copia.io/product/copia-ai/"
        },
        {
          "label": "Copilot docs",
          "url": "https://docs.copia.io/docs/copilot/copia-copilot"
        }
      ],
      "profile": {
        "group": "engineering",
        "host": "Copia, for Studio 5000 and TIA Portal projects",
        "scope": "Code generation and edits, documentation, change summaries on backups and revisions",
        "models": "Not named. Docs say uploads are not used to train the model.",
        "availability": "Paid add-on for subscribed Copia users"
      }
    },
    {
      "slug": "codesys-development-system-mcp",
      "name": "CODESYS Development System MCP Server",
      "description": "Official CODESYS add-on that lets an MCP client read and write the open project, compile, and fix Structured Text.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "CODESYS",
      "pricing": "paid",
      "homepage": "https://www.codesys.com/products/engineering/ai-supported-engineering/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "ide-integrated",
      "notes": "Standalone add-on for CODESYS V3.5 SP22 or later, licensed through the CODESYS Professional Developer Edition. CODESYS says it works with cloud models and local LLMs, and names Claude Desktop and GPT as examples that exchanged data successfully. Help text reported by LADX says the server is local stdio, Structured Text can be written, and graphical languages can be read but not created. CODESYS recommends Git because undo is limited, and a local model when the project is sensitive. Readers of Computer & Automation voted it Product of the Year 2026 in Software and IT.",
      "sources": [
        {
          "label": "CODESYS AI engineering",
          "url": "https://www.codesys.com/products/engineering/ai-supported-engineering/"
        },
        {
          "label": "LADX notes on the published tool list",
          "url": "https://ladx.ai/resources/plc-mcp-server"
        }
      ],
      "profile": {
        "group": "engineering",
        "host": "CODESYS Development System V3.5 SP22+",
        "scope": "Read the open project, generate and modify Structured Text, compile, explain code",
        "models": "Whichever MCP client you attach. Cloud or local. CODESYS is the server, not the model.",
        "availability": "v1.0 around April 2026, v1.1 around July 2026, via the CODESYS Installer"
      }
    },
    {
      "slug": "industri-connect-modbus",
      "name": "IndustriConnect Modbus MCP",
      "description": "Open-source Modbus TCP, UDP, and RTU client for MCP hosts, with a mock device and writes off by default.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "modbus"
      ],
      "vendor": "IndustriAgents",
      "pricing": "open",
      "homepage": "https://github.com/IndustriAgents/MODBUS-MCP",
      "github": "https://github.com/IndustriAgents/MODBUS-MCP",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-gated",
      "notes": "MIT-licensed server in the IndustriConnect suite. Reads registers and coils, including typed and named values. The mock server ships a register map so you can try it without a meter. Writes stay off until you set the documented switch. A register number is not a meaning: bring your own map or you will mis-scale a float.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/IndustriAgents/MODBUS-MCP"
        },
        {
          "label": "Suite overview",
          "url": "https://github.com/NordicAgents/IndustriConnect-MCPs"
        },
        {
          "label": "IndustriAgents",
          "url": "https://industriagents.com/connect"
        }
      ]
    },
    {
      "slug": "industri-connect-opcua",
      "name": "IndustriConnect OPC UA MCP",
      "description": "Python and Node OPC UA MCP servers with the same tools: browse, read, history, alarms, and gated writes.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "opc-ua"
      ],
      "vendor": "IndustriAgents",
      "pricing": "open",
      "homepage": "https://github.com/IndustriAgents/OPCUA-MCP",
      "github": "https://github.com/IndustriAgents/OPCUA-MCP",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-gated",
      "notes": "One stdio process targets one OPC UA endpoint. Writes and method calls need an operator profile, an allowlist, and an authenticated server (pinned certificate or a trust store). Published as opcua-mcp-server for Node and Python. A mock plant is in the repo. Do not confuse this with kukapay/opcua-mcp, which exposes writes without that gate.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/IndustriAgents/OPCUA-MCP"
        },
        {
          "label": "IndustriAgents",
          "url": "https://industriagents.com/connect"
        }
      ]
    },
    {
      "slug": "industri-connect-mqtt",
      "name": "IndustriConnect MQTT / Sparkplug MCP",
      "description": "MQTT client that publishes, subscribes, and decodes Sparkplug B instead of handing the model raw bytes.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "mqtt-sparkplug"
      ],
      "vendor": "IndustriAgents",
      "pricing": "open",
      "homepage": "https://github.com/IndustriAgents/MQTT-MCP",
      "github": "https://github.com/IndustriAgents/MQTT-MCP",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-gated",
      "notes": "MIT server for any MQTT 3.1.1 broker, with Sparkplug B encode and decode. The mock edge nodes need a separate broker such as Mosquitto. Publishing is a write: it stays gated. This is one of the few public servers that actually implements Sparkplug rather than plain MQTT.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/IndustriAgents/MQTT-MCP"
        },
        {
          "label": "IndustriAgents",
          "url": "https://industriagents.com/connect"
        }
      ]
    },
    {
      "slug": "industri-connect-ethernetip",
      "name": "IndustriConnect EtherNet/IP MCP",
      "description": "Logix tag client for ControlLogix, CompactLogix, and Micro800, using pycomm3, plus a JSON mock.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "ethernet-ip"
      ],
      "vendor": "IndustriAgents",
      "pricing": "open",
      "homepage": "https://github.com/IndustriAgents/EtherNetIP-MCP",
      "github": "https://github.com/IndustriAgents/EtherNetIP-MCP",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-gated",
      "notes": "Reads and, if you arm it, writes named tags, arrays, strings, and batches, and can list the tag database. The mock is a JSON bridge, not a real PLC, and needs ENIP_JSON_BRIDGE. Writes are off by default. Tag writes on a running Logix controller are process writes. Keep this on a lab network.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/IndustriAgents/EtherNetIP-MCP"
        },
        {
          "label": "IndustriAgents",
          "url": "https://industriagents.com/connect"
        }
      ]
    },
    {
      "slug": "industri-connect-s7",
      "name": "IndustriConnect S7 MCP",
      "description": "S7comm client for S7-300 through S7-1500 via python-snap7, with a mock PLC for DB, I/O, and SZL tests.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "s7"
      ],
      "vendor": "IndustriAgents",
      "pricing": "open",
      "homepage": "https://github.com/IndustriAgents/S7comm-MCP",
      "github": "https://github.com/IndustriAgents/S7comm-MCP",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-gated",
      "notes": "Absolute addressing of data blocks, I/O, and markers, plus CPU identity and state. Port 102. Writes are disabled unless you opt in. Optimized S7-1200/1500 blocks are not the same as absolute offsets; a successful connection is not proof you are reading the variable you think. This does not open TIA Portal. For project editing, look at Eigen or a TIA-specific tool.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/IndustriAgents/S7comm-MCP"
        },
        {
          "label": "IndustriAgents",
          "url": "https://industriagents.com/connect"
        }
      ]
    },
    {
      "slug": "industri-connect-bacnet",
      "name": "IndustriConnect BACnet MCP",
      "description": "BACnet/IP client for Who-Is discovery and property reads and writes, with a mock device.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "bacnet"
      ],
      "vendor": "IndustriAgents",
      "pricing": "open",
      "homepage": "https://github.com/IndustriAgents/BACnet-MCP",
      "github": "https://github.com/IndustriAgents/BACnet-MCP",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-gated",
      "notes": "Uses bacpypes3 on the local subnet. Useful for HVAC and building controllers, not for PLC logic. Writes are gated. BACnet discovery will see every device that answers; point it at a lab VLAN.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/IndustriAgents/BACnet-MCP"
        },
        {
          "label": "IndustriAgents",
          "url": "https://industriagents.com/connect"
        }
      ]
    },
    {
      "slug": "industri-connect-dnp3",
      "name": "IndustriConnect DNP3 MCP",
      "description": "DNP3 master for outstations and serial-to-TCP gateways, with a mock outstation.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "dnp3"
      ],
      "vendor": "IndustriAgents",
      "pricing": "open",
      "homepage": "https://github.com/IndustriAgents/DNP3-MCP",
      "github": "https://github.com/IndustriAgents/DNP3-MCP",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-gated",
      "notes": "Python master using dnp3py. IndustriAgents says CI also tests against an OpenDNP3 outstation. This is a utility/SCADA protocol. Operate and select-before-operate commands are control, so leave the write switch off until you mean it.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/IndustriAgents/DNP3-MCP"
        },
        {
          "label": "IndustriAgents",
          "url": "https://industriagents.com/connect"
        }
      ]
    },
    {
      "slug": "industri-connect-ethercat",
      "name": "IndustriConnect EtherCAT MCP",
      "description": "PySOEM EtherCAT master exposed as MCP tools. Hardware use is not claimed as done.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "ethercat"
      ],
      "vendor": "IndustriAgents",
      "pricing": "open",
      "homepage": "https://github.com/IndustriAgents/EtherCAT-MCP",
      "github": "https://github.com/IndustriAgents/EtherCAT-MCP",
      "lastVerified": "2026-11-03",
      "maturity": "preview",
      "writePolicy": "writes-gated",
      "notes": "Needs a raw network interface and elevated privileges (root, or CAP_NET_RAW and CAP_NET_ADMIN). IndustriAgents says it has not yet been run on hardware. The mock slave is for local smoke tests. Do not put an unfinished EtherCAT master on a machine network.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/IndustriAgents/EtherCAT-MCP"
        },
        {
          "label": "IndustriAgents",
          "url": "https://industriagents.com/connect"
        }
      ]
    },
    {
      "slug": "industri-connect-profibus",
      "name": "IndustriConnect PROFIBUS MCP",
      "description": "PROFIBUS DP tooling with GSD parsing and a TCP mock. A real DP master is not implemented.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "profibus"
      ],
      "vendor": "IndustriAgents",
      "pricing": "open",
      "homepage": "https://github.com/IndustriAgents/PROFIBUS-MCP",
      "github": "https://github.com/IndustriAgents/PROFIBUS-MCP",
      "lastVerified": "2026-11-03",
      "maturity": "preview",
      "writePolicy": "writes-gated",
      "notes": "IndustriAgents marks PROFIBUS as preview. The default serial backend is not implemented. An optional pyprofibus class-1 master is described as tested only against a simulated PHY. Use PROFIBUS_BACKEND=mock. Listing it here so the gap is visible: this will not run a real DP segment.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/IndustriAgents/PROFIBUS-MCP"
        },
        {
          "label": "IndustriAgents",
          "url": "https://industriagents.com/connect"
        }
      ]
    },
    {
      "slug": "industri-connect-profinet",
      "name": "IndustriConnect PROFINET MCP",
      "description": "PROFINET DCP discovery and GSDML parsing. Cyclic I/O in the public server goes through a mock.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "profinet"
      ],
      "vendor": "IndustriAgents",
      "pricing": "open",
      "homepage": "https://github.com/IndustriAgents/PROFINET-MCP",
      "github": "https://github.com/IndustriAgents/PROFINET-MCP",
      "lastVerified": "2026-11-03",
      "maturity": "preview",
      "writePolicy": "writes-gated",
      "notes": "Discovery, naming, and IP assignment need raw sockets and are described as not yet tested on hardware. Cyclic I/O is documented only through a mock, or through a pre-commissioned Hilscher cifX card on Linux. Set PROFINET_BACKEND=mock for the JSON device. For a production line, use the PLC vendor's engineering tool or OPC UA.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/IndustriAgents/PROFINET-MCP"
        },
        {
          "label": "IndustriAgents",
          "url": "https://industriagents.com/connect"
        }
      ]
    },
    {
      "slug": "proxus-industrial-mcp",
      "name": "Proxus Industrial MCP Server",
      "description": "Read-only Modbus TCP and OPC UA server with named register maps and a connection diagnostic.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "modbus",
        "opc-ua"
      ],
      "vendor": "Proxus",
      "pricing": "free",
      "homepage": "https://proxus.io/tools/industrial-mcp-server/",
      "lastVerified": "2026-11-03",
      "maturity": "preview",
      "writePolicy": "read-only",
      "notes": "Single binary or the GHCR image proxus-mcp, listed in the beta range 0.1.0-beta.5 when checked. Proxus says no tool writes a value, starts a machine, or changes a controller, and the assistant can only reach devices named in proxus-mcp.json. OPC UA security policies and certificates are supported. Passwords come from the environment. Shipped maps cover meters and drives such as Schneider PM5500, Siemens PAC3200, and ABB B23. A source license was not stated on the product page, so this is filed as free rather than open source. The separate Proxus platform MCP is a different product.",
      "sources": [
        {
          "label": "Product page",
          "url": "https://proxus.io/tools/industrial-mcp-server/"
        }
      ]
    },
    {
      "slug": "plctap",
      "name": "plctap",
      "description": "One MCP server for Modbus, FINS, MELSEC, S7, IEC 104, EtherNet/IP, and OPC UA, with protocol detection.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "modbus",
        "fins",
        "melsec",
        "s7",
        "iec-104",
        "ethernet-ip",
        "opc-ua"
      ],
      "vendor": "ymxc152",
      "pricing": "open",
      "homepage": "https://github.com/ymxc152/plctap",
      "github": "https://github.com/ymxc152/plctap",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-gated",
      "notes": "MIT, v0.6.2 on PyPI when checked. Install with uvx plctap. detect_device probes common ports and is read-only. plc_write and send_frame are not registered unless PLCTAP_ALLOW_WRITE=true. IEC 104 and OPC UA are read-only in this version, and the OPC UA path is documented as SecurityPolicy None for diagnosis, not as a secured session. EtherNet/IP and MELSEC SLMP share port 44818; the detector uses the response fingerprint. Author is an individual maintainer, not a vendor.",
      "sources": [
        {
          "label": "GitHub",
          "url": "https://github.com/ymxc152/plctap"
        },
        {
          "label": "PyPI",
          "url": "https://pypi.org/project/plctap/"
        }
      ]
    },
    {
      "slug": "kukapay-opcua-mcp",
      "name": "kukapay/opcua-mcp",
      "description": "Small Python OPC UA MCP server with read, write, browse, and batch tools turned on together.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "opc-ua"
      ],
      "vendor": "kukapay",
      "pricing": "open",
      "homepage": "https://github.com/kukapay/opcua-mcp",
      "github": "https://github.com/kukapay/opcua-mcp",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-exposed",
      "notes": "MIT. The published tool list includes write_opcua_node and a multi-write, with no documented allowlist or arming switch. Fine against a simulator. A poor choice pointed at a production server. Prefer a read-only server (Proxus, or IndustriConnect in its default profile) if you do not already have a write procedure.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/kukapay/opcua-mcp"
        }
      ]
    },
    {
      "slug": "kukapay-modbus-mcp",
      "name": "kukapay/modbus-mcp",
      "description": "Python Modbus MCP server for TCP, UDP, or serial, including write tools in the default set.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "modbus"
      ],
      "vendor": "kukapay",
      "pricing": "open",
      "homepage": "https://github.com/kukapay/modbus-mcp",
      "github": "https://github.com/kukapay/modbus-mcp",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-exposed",
      "notes": "MIT. Tools cover holding registers, coils, and input registers. Writes are part of the advertised surface, configured by host environment variables. There is no register map, so the model sees raw values. Do not aim it at a production gateway.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/kukapay/modbus-mcp"
        }
      ]
    },
    {
      "slug": "opc-foundation-ua-mcp",
      "name": "OPC Foundation OPC UA MCP",
      "description": "Official .NET tool that exposes OPC UA services to MCP clients, with selectable tool profiles.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "opc-ua"
      ],
      "vendor": "OPC Foundation",
      "pricing": "open",
      "homepage": "https://github.com/OPCFoundation/UA-.NETStandard/blob/master/tools/Opc.Ua.Mcp/McpREADME.md",
      "github": "https://github.com/OPCFoundation/UA-.NETStandard",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "writes-exposed",
      "notes": "Package OPCFoundation.NetStandard.Opc.Ua.Mcp, run with dotnet tool exec or a global install as opcua-mcp. Profiles select a bounded tool catalog (core, machinery, alarms, history, and others). The default profile is broad, and UA services include writes, so treat the default as able to write. The repository is under the OPC Foundation MIT license. A WoT profile can also reach HTTP, MQTT, and Modbus TCP; that is optional and not the reason to install it.",
      "sources": [
        {
          "label": "McpREADME",
          "url": "https://github.com/OPCFoundation/UA-.NETStandard/blob/master/tools/Opc.Ua.Mcp/McpREADME.md"
        },
        {
          "label": "UA-.NETStandard",
          "url": "https://github.com/OPCFoundation/UA-.NETStandard"
        }
      ]
    },
    {
      "slug": "ignition-mcp-module",
      "name": "Ignition MCP Module",
      "description": "Inductive Automation's early-access gateway module. You define the tools; the module does not ship a protocol driver.",
      "category": "industrial-mcp-servers",
      "protocols": [],
      "vendor": "Inductive Automation",
      "pricing": "paid",
      "homepage": "https://forum.inductiveautomation.com/t/mcp-module-early-access/113966",
      "lastVerified": "2026-11-03",
      "maturity": "preview",
      "writePolicy": "writes-gated",
      "notes": "Early access announced on the Inductive Automation forum. It needs an Ignition nightly until Ignition 8.3.5, speaks MCP over streamable HTTP, and adds Designer resources for tools, resources, and prompts that you script. The forum post says the module itself provides no primitives and is not an out-of-the-box solution. Ignition is commercially licensed. Whether the module runs on Maker edition was not stated. The community project JonathanGrocott/ignition-mcp is unofficial and ships its own tool list.",
      "sources": [
        {
          "label": "Early-access forum post",
          "url": "https://forum.inductiveautomation.com/t/mcp-module-early-access/113966"
        }
      ]
    },
    {
      "slug": "ignition-mcp-community",
      "name": "ignition-mcp (community)",
      "description": "Unofficial Ignition 8.3 module with a fixed tool list for tags, projects, alarms, and gated writes.",
      "category": "industrial-mcp-servers",
      "protocols": [],
      "vendor": "Jonathan Grocott",
      "pricing": "free",
      "homepage": "https://github.com/JonathanGrocott/ignition-mcp",
      "github": "https://github.com/JonathanGrocott/ignition-mcp",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-gated",
      "notes": "Not from Inductive Automation. README for 0.4.0 describes 42 tools: tag browse and read, Perspective inspection, gateway status, named queries, alarms, and preview/apply for a limited set of resource changes. It tells you to start read-only. GitHub reported no license file on 2026-11-03, so public source is not an open-source grant. Read the repo before you install the module on a gateway.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/JonathanGrocott/ignition-mcp"
        }
      ]
    },
    {
      "slug": "fieldworks-adapters",
      "name": "FieldWorks protocol adapters",
      "description": "Rust MCP adapters with one tool surface. MQTT and OPC UA are implemented; Modbus, DNP3, and EtherNet/IP are stubs.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "mqtt-sparkplug",
        "opc-ua"
      ],
      "vendor": "FieldWorks",
      "pricing": "open",
      "homepage": "https://github.com/fieldworks-build/fieldworks-adapters",
      "github": "https://github.com/fieldworks-build/fieldworks-adapters",
      "lastVerified": "2026-11-03",
      "maturity": "preview",
      "writePolicy": "writes-exposed",
      "notes": "Apache-2.0 workspace. mqtt-mcp and opcua-mcp are marked complete. modbus-mcp, dnp3-mcp, ethernetip-mcp, and aveva-mcp are marked stubs, so they are not listed as protocols here. The MQTT adapter is MQTT 3.1.1/5, not Sparkplug B. The shared surface includes setpoint writes. Check topology.yaml before connecting anything real.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/fieldworks-build/fieldworks-adapters"
        }
      ]
    },
    {
      "slug": "twincat-mcp",
      "name": "twincat-mcp",
      "description": "Unofficial MCP server over the TwinCAT Automation Interface and ADS: build, deploy, read, and write.",
      "category": "industrial-mcp-servers",
      "protocols": [
        "ads",
        "iec-61131-3"
      ],
      "vendor": "eponce00",
      "pricing": "open",
      "homepage": "https://github.com/eponce00/twincat-mcp",
      "github": "https://github.com/eponce00/twincat-mcp",
      "lastVerified": "2026-11-03",
      "maturity": "community",
      "writePolicy": "writes-gated",
      "notes": "MIT. Not affiliated with Beckhoff. Wraps TcXaeShell and ADS so a client can build, read compile errors, deploy, run TcUnit, and read or write symbols. The README says dangerous operations need to be armed. Static analysis calls TE1200 and needs that license. This can change a target runtime. It is not TwinCAT CoAgent.",
      "sources": [
        {
          "label": "Repository",
          "url": "https://github.com/eponce00/twincat-mcp"
        }
      ]
    },
    {
      "slug": "aws-iot-sitewise-mcp",
      "name": "AWS IoT SiteWise MCP Server",
      "description": "AWS Labs MCP server for SiteWise asset models, time series, and related industrial data in an AWS account.",
      "category": "industrial-mcp-servers",
      "protocols": [],
      "vendor": "Amazon Web Services",
      "pricing": "freemium",
      "homepage": "https://awslabs.github.io/mcp/servers/aws-iot-sitewise-mcp-server",
      "github": "https://github.com/awslabs/mcp/tree/main/src/aws-iot-sitewise-mcp-server",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "writes-exposed",
      "notes": "Open-source server in awslabs/mcp. It calls SiteWise APIs in your account, so IAM is the real permission boundary and SiteWise itself is a paid AWS service. It does not speak Modbus or OPC UA; something else has to land data in SiteWise first. Asset writes and ingestion tools are part of the surface. Keep the IAM policy narrower than the demo.",
      "sources": [
        {
          "label": "Docs",
          "url": "https://awslabs.github.io/mcp/servers/aws-iot-sitewise-mcp-server"
        },
        {
          "label": "Source",
          "url": "https://github.com/awslabs/mcp/tree/main/src/aws-iot-sitewise-mcp-server"
        }
      ]
    },
    {
      "slug": "highbyte-intelligence-hub",
      "name": "HighByte Intelligence Hub MCP",
      "description": "Commercial industrial DataOps hub that publishes pipelines you model as MCP tools, including optional write-back.",
      "category": "edge-dataops-ai",
      "protocols": [],
      "vendor": "HighByte",
      "pricing": "paid",
      "homepage": "https://www.highbyte.com/intelligence-hub/industrial-mcp-services",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "writes-gated",
      "notes": "Intelligence Hub already connects OPC servers, PI, Ignition, and similar sources. MCP Services, described as present since version 4.2 (July 2025), exposes those pipelines as tools instead of handing an agent a raw protocol session. HighByte's FAQ says an agent can request current or historical data and can trigger operations such as a work order or a setpoint change if you built that pipeline. There is also an MCP client for third-party servers. You design the tool list. That is the governance, and also the way a setpoint write gets into the plant.",
      "sources": [
        {
          "label": "MCP services",
          "url": "https://www.highbyte.com/intelligence-hub/industrial-mcp-services"
        },
        {
          "label": "FAQ",
          "url": "https://www.highbyte.com/intelligence-hub/faqs"
        }
      ]
    },
    {
      "slug": "litmus-edge-mcp",
      "name": "Litmus MCP Server",
      "description": "Open-source MCP plugin over Litmus Edge: devices, tags, telemetry, containers, and a large SDK fallback.",
      "category": "edge-dataops-ai",
      "protocols": [],
      "vendor": "Litmus",
      "pricing": "open",
      "homepage": "https://litmus.io/litmus-mcp-server",
      "github": "https://github.com/litmusautomation/litmus-mcp-plugin",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "writes-gated",
      "notes": "Apache-2.0 plugin for Claude Code and Codex. Litmus says it exposes Edge devices, telemetry, history, containers, and data models. The repo README describes 62 curated tools plus an SDK fallback of hundreds of functions, with writes behind a per-call approval gate. The plugin is open source; Litmus Edge is the commercial product it attaches to. Protocol drivers live in Edge, not in this server, so it is not tagged as Modbus or OPC UA.",
      "sources": [
        {
          "label": "Product page",
          "url": "https://litmus.io/litmus-mcp-server"
        },
        {
          "label": "Plugin repo",
          "url": "https://github.com/litmusautomation/litmus-mcp-plugin"
        }
      ]
    },
    {
      "slug": "cognite-industrial-mcp",
      "name": "Cognite Industrial MCP",
      "description": "MCP endpoint on Cognite Data Fusion that reuses the signed-in user's permissions for graph, time series, and documents.",
      "category": "edge-dataops-ai",
      "protocols": [],
      "vendor": "Cognite",
      "pricing": "paid",
      "homepage": "https://docs.cognite.com/cdf/build/mcp/setup",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "not-applicable",
      "notes": "Documented setup copies a JSON config into Cursor, Claude, or Copilot. The endpoint shape is https://{cluster}.cognitedata.com/mcp, bound to one CDF project at sign-in. Tools match what Atlas AI agents use: query, time series, and documents. Access is the user's existing CDF permissions. This is an industrial knowledge graph, not a PLC driver. CDF is a paid platform.",
      "sources": [
        {
          "label": "Setup docs",
          "url": "https://docs.cognite.com/cdf/build/mcp/setup"
        }
      ]
    },
    {
      "slug": "proxus-platform-mcp",
      "name": "Proxus platform MCP",
      "description": "Governed MCP server for the Proxus operations product: device health, graph, telemetry, and explicit writes.",
      "category": "edge-dataops-ai",
      "protocols": [],
      "vendor": "Proxus",
      "pricing": "paid",
      "homepage": "https://proxus.io/platform/proxus-ai/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "writes-gated",
      "notes": "Different product from the Proxus Industrial MCP Server. This one sits on Proxus itself: the agent acts as a Proxus user, with that user's permissions, and Proxus says database credentials and control-system sessions are not handed to the agent. The page describes about 20 tools and says a write needs the human request, target, method, and body to line up. Pricing is not published on the page. It does not speak Modbus or OPC UA directly.",
      "sources": [
        {
          "label": "Platform page",
          "url": "https://proxus.io/platform/proxus-ai/"
        }
      ]
    },
    {
      "slug": "seeq-ai",
      "name": "Seeq AI",
      "description": "Industrial analytics suite with an AI assistant and a newer agent layer for operational decisions.",
      "category": "edge-dataops-ai",
      "protocols": [],
      "vendor": "Seeq",
      "pricing": "paid",
      "homepage": "https://www.seeq.com/products/seeq-ai/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "not-applicable",
      "notes": "Seeq's page splits AI-enabled analytics from Seeq Intelligence, which it describes as agents over operational data, prior decisions, and subject-matter context. It connects to historians such as AVEVA data rather than to a field bus. This entry is the analytics product, not an MCP server and not a PLC coder. Commercial license. No public model card was on the page.",
      "sources": [
        {
          "label": "Seeq AI",
          "url": "https://www.seeq.com/products/seeq-ai/"
        },
        {
          "label": "AVEVA connectivity note",
          "url": "https://www.seeq.com/connectivity-partners/aveva/"
        }
      ]
    },
    {
      "slug": "tulip-ai",
      "name": "Tulip AI",
      "description": "Shop-floor AI built into Tulip's frontline platform: copilot features plus configurable agents over production apps.",
      "category": "edge-dataops-ai",
      "protocols": [],
      "vendor": "Tulip",
      "pricing": "paid",
      "homepage": "https://tulip.co/platform/native-ai/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "not-applicable",
      "notes": "Tulip describes Frontline Copilot and native AI as part of the operations platform, not a separate PLC tool. Agents are configurable inside Tulip apps. Tulip says models run through Azure OpenAI or AWS Bedrock, customer environments are isolated, and customer data is not used to train third-party models. It can be turned off. It does not generate IEC 61131-3 for a controller.",
      "sources": [
        {
          "label": "Native AI",
          "url": "https://tulip.co/platform/native-ai/"
        },
        {
          "label": "Frontline Copilot overview",
          "url": "https://tulip.co/blog/ai-manufacturing-copilot/"
        }
      ]
    },
    {
      "slug": "aveva-industrial-ai-assistant",
      "name": "AVEVA Industrial AI Assistant",
      "description": "Natural-language assistant over CONNECT data, with permission checks and source-linked answers.",
      "category": "edge-dataops-ai",
      "protocols": [],
      "vendor": "AVEVA",
      "pricing": "paid",
      "homepage": "https://www.aveva.com/en/perspectives/blog/generative-ai-in-connect-with-industrial-ai-assistant/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "not-applicable",
      "notes": "AVEVA's October 2024 description: a question-and-answer assistant on CONNECT that returns process values, summaries, dashboards, trends, and documents. Answers are limited to the signed-in user's permissions and include citations. AVEVA says it is not trained on customer data. It is an operations search assistant, not a controls programmer. CONNECT is a commercial AVEVA cloud.",
      "sources": [
        {
          "label": "AVEVA blog, 1 Oct 2024",
          "url": "https://www.aveva.com/en/perspectives/blog/generative-ai-in-connect-with-industrial-ai-assistant/"
        }
      ]
    },
    {
      "slug": "ladx",
      "name": "LADX",
      "description": "Free, open PLC workbench in the browser: ladder and structured text, a checker, and a virtual PLC. No live download.",
      "category": "ai-for-plc-saas",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "LADX",
      "pricing": "open",
      "homepage": "https://ladx.ai/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "not-applicable",
      "notes": "Apache-2.0 workbench. Chat writes rungs onto the canvas, then runs the editor's validator and a seal-in check. Structured text is compiled with LADX's LADV compiler. Without your own key it uses free models through LADX's OpenRouter account; you can attach OpenRouter, Anthropic, OpenAI, or an OpenAI-compatible local endpoint. It reads and writes Siemens SCL, Rockwell L5X, CODESYS, and PLCopen XML as project exchange, not as a live session. LADX says it cannot download to a live controller, and a passing check is not a safety case.",
      "sources": [
        {
          "label": "LADX",
          "url": "https://ladx.ai/"
        },
        {
          "label": "Chat",
          "url": "https://ladx.ai/products/chat"
        }
      ],
      "profile": {
        "group": "saas",
        "host": "Browser. Optional self-host.",
        "scope": "Ladder and ST authoring, conversion, virtual PLC. No live controller download.",
        "models": "Free shared models, or your own OpenRouter, Anthropic, OpenAI, or local endpoint",
        "availability": "Free to use. Source is Apache-2.0."
      }
    },
    {
      "slug": "plccode-ai",
      "name": "PLCcode.ai",
      "description": "Paid browser workspace for Studio 5000 L5X and L5K projects, with AI grounded in the open project.",
      "category": "ai-for-plc-saas",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "PLCcode.ai",
      "pricing": "paid",
      "homepage": "https://plccode.ai/",
      "lastVerified": "2026-11-03",
      "maturity": "available",
      "writePolicy": "not-applicable",
      "notes": "Rockwell Studio 5000 import, edit, and export today. The pricing page says Siemens and CODESYS are coming. Standard was listed at $20 a month when checked, with more AI on higher tiers and a quoted enterprise plan that can be self-hosted. Cloud plans store the project and send questions to the model you pick. Their own homepage says AI output can be wrong and to test it before it touches equipment. PLCconnect, the plant-network link, is marked coming soon, so this is not a live controller session yet.",
      "sources": [
        {
          "label": "Home",
          "url": "https://plccode.ai/"
        },
        {
          "label": "Pricing",
          "url": "https://plccode.ai/start/pricing"
        }
      ],
      "profile": {
        "group": "saas",
        "host": "Browser. Enterprise can be self-hosted.",
        "scope": "Studio 5000 L5X/L5K edit, explain, review workflows, generated documents",
        "models": "Depends on plan. Enterprise can be air-gapped.",
        "availability": "Standard listed at $20/month on the pricing page checked 2026-11-03"
      }
    },
    {
      "slug": "autofactory-bench",
      "name": "AutoFactory-Bench",
      "description": "Closed-loop benchmark: agents write one Structured Text file for 100 factory tasks and a simulator grades success and safety.",
      "category": "benchmarks-datasets",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "AutoFactory-Bench",
      "pricing": "free",
      "homepage": "https://autofactorybench.com/",
      "lastVerified": "2026-11-03",
      "maturity": "research",
      "writePolicy": "not-applicable",
      "notes": "Leaderboard dated 28 October 2026. Headline metric is pass rate on 30 Hard tasks. A run passes only if every condition succeeds with no safety violation. The site says 10 of 100 tasks are public and the full set, verifier, and traces are private, shared with research partners under license. An indexed GitHub path Koomook/autofactory-bench returned 404 to an unauthenticated request on the same day, so this entry does not link it. Scores are not comparable with the original PLCWorld paper: the project says version 1.2 audited and changed tasks.",
      "sources": [
        {
          "label": "Leaderboard",
          "url": "https://www.autofactorybench.com/leaderboard"
        },
        {
          "label": "Method",
          "url": "https://autofactorybench.com/method"
        }
      ]
    },
    {
      "slug": "plcworld",
      "name": "PLCWorld",
      "description": "Research benchmark of 100 Structured Text tasks graded in closed loop, with task success and safety reported separately.",
      "category": "benchmarks-datasets",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "Dongguk University and co-authors",
      "pricing": "open",
      "homepage": "https://yunji0516.github.io/PLCWorld/",
      "lastVerified": "2026-11-03",
      "maturity": "research",
      "writePolicy": "not-applicable",
      "notes": "Paper: Yunji Kim, Yunseok Lee, Hyunwoo Seo, Jaerim Choi, and Woojin Lee, arXiv:2610.02982. 100 synthetic tasks and 473 task-condition pairs across motion control and material handling. Direct GPT-5.5 is reported at 82.70% task success on Easy cases and 25.10% on Hard cases. AutoFactory-Bench adapts this package and says its audited scores are not the same numbers. The project page is the code link given in the paper.",
      "sources": [
        {
          "label": "Project page",
          "url": "https://yunji0516.github.io/PLCWorld/"
        },
        {
          "label": "arXiv",
          "url": "https://arxiv.org/abs/2610.02982"
        }
      ]
    },
    {
      "slug": "agents4plc",
      "name": "Agents4PLC",
      "description": "Multi-agent research framework and a verifiable Structured Text benchmark with formal specs and reference code.",
      "category": "benchmarks-datasets",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "Zhejiang University and co-authors",
      "pricing": "open",
      "homepage": "https://github.com/Luoji-zju/Agents4PLC_release",
      "github": "https://github.com/Luoji-zju/Agents4PLC_release",
      "lastVerified": "2026-11-03",
      "maturity": "research",
      "writePolicy": "not-applicable",
      "notes": "Paper: arXiv:2410.14209. The authors report, on their benchmark, a best verifiable rate of 68% and pass rate of 50% on Easy with GPT-4o, and 42.3% verifiable / 28.6% pass on Medium with GPT-4o. The public repo includes the benchmark and an LLM4PLC baseline. The README says the full agent implementation is withheld because of industrial partners. Do not treat the GitHub tree as a drop-in copilot.",
      "sources": [
        {
          "label": "Release repo",
          "url": "https://github.com/Luoji-zju/Agents4PLC_release"
        },
        {
          "label": "arXiv",
          "url": "https://arxiv.org/abs/2410.14209"
        }
      ]
    },
    {
      "slug": "llm4plc",
      "name": "LLM4PLC",
      "description": "Research pipeline that loops an LLM with grammar checks, a compiler, and an SMV verifier to produce Structured Text.",
      "category": "benchmarks-datasets",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "AICPS Lab",
      "pricing": "open",
      "homepage": "https://github.com/AICPS/LLM_4_PLC",
      "github": "https://github.com/AICPS/LLM_4_PLC",
      "lastVerified": "2026-11-03",
      "maturity": "research",
      "writePolicy": "not-applicable",
      "notes": "Paper: arXiv:2401.05443, Fakih et al. On their Fischertechnik manufacturing testbed they report generation success moving from 47% to 72% with the pipeline, and an expert quality score from 2.25/10 to 7.75/10. Those numbers are that study, not AutoFactory-Bench or PLCWorld. Later papers use LLM4PLC as a baseline with different scaffolding. The code repo is public.",
      "sources": [
        {
          "label": "GitHub",
          "url": "https://github.com/AICPS/LLM_4_PLC"
        },
        {
          "label": "arXiv",
          "url": "https://arxiv.org/abs/2401.05443"
        }
      ]
    },
    {
      "slug": "autoplc",
      "name": "AutoPLC",
      "description": "Research generator for vendor-specific Structured Text, evaluated on Siemens SCL and CODESYS with a compiler in the loop.",
      "category": "benchmarks-datasets",
      "protocols": [
        "iec-61131-3"
      ],
      "vendor": "AutoPLC authors",
      "pricing": "open",
      "homepage": "https://github.com/cangkui/AutoPLC",
      "github": "https://github.com/cangkui/AutoPLC",
      "lastVerified": "2026-11-03",
      "maturity": "research",
      "writePolicy": "not-applicable",
      "notes": "Paper: arXiv:2412.02410. The authors report above 90% compilation success on a 914-task mix (OSCAT, LGF, and a competition set) for Siemens SCL and CODESYS ST, at about $0.13 per task, and a 78% formal-verification pass on the 23-task Agents4PLC set. Compilation is not plant success. PLCWorld later adapted AutoPLC and did not find a consistent closed-loop gain. The repo includes the benchmarks they used.",
      "sources": [
        {
          "label": "GitHub",
          "url": "https://github.com/cangkui/AutoPLC"
        },
        {
          "label": "arXiv",
          "url": "https://arxiv.org/abs/2412.02410"
        }
      ]
    },
    {
      "slug": "plcbench",
      "name": "PLCBench",
      "description": "Hardware-in-the-loop study of whether tool-using agents can turn network access to a real PLC into a sustained physical effect.",
      "category": "benchmarks-datasets",
      "protocols": [],
      "vendor": "Zhejiang University and co-authors",
      "pricing": "free",
      "homepage": "https://arxiv.org/abs/2608.26882",
      "lastVerified": "2026-11-03",
      "maturity": "research",
      "writePolicy": "not-applicable",
      "notes": "Paper: Zhou et al., arXiv:2608.26882. Across five model families and 240 episodes on four commercial PLCs, the authors report 75 episodes (31.3%) meeting their physical objective. The paper says a public code artifact was still to be released. This index records the citation and the headline rate only. It is a security measurement, not a product, and not a procedure.",
      "sources": [
        {
          "label": "arXiv",
          "url": "https://arxiv.org/abs/2608.26882"
        }
      ]
    }
  ]
}
