multi-plc-agent
Lets an AI agent write ladder logic in Mitsubishi GX Works2 by importing/exporting program ladder CSV and device comments, via the gxworks-agent backend. Live PLC and delete operations are withheld.
Lets an AI agent write ladder logic (LAD as S7DCL text) in Siemens TIA Portal through the official TIA Openness API, importing FCs, OBs, and tags and compiling projects. Live PLC writes, deletions and Openness group changes are withheld by default.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@multi-plc-agentWrite a start-stop motor control ladder in GX Works2"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
multi-plc-agent
One MCP server that lets an AI agent write ladder logic in several PLC engineering tools: Mitsubishi GX Works2, Siemens TIA Portal and Omron CX-Programmer.
multi-plc-agent does not drive any PLC software by itself. It starts one existing MCP server per tool, gives every tool a vendor prefix (mitsubishi_, siemens_, omron_) and exposes them as one server. Each backend keeps its own approval flow and safety checks. The router adds one shared rule on top: tools that act on a live PLC or delete project content are not exposed.
Supported software
Vendor | Software | Backend | How it writes | Verified on |
Mitsubishi | GX Works2 1.580 and 1.635 | Wayan123/gxworks-agent (fork of Arienax/gxworks-agent) | Drives the GX Works2 UI: CSV import of the program and device comments | 1.580.0.1 English UI, FX3U: program and comments imported, export matched |
Siemens | TIA Portal V20 / V21 | Official TIA Openness API, LAD as S7DCL text | V20, S7-1200 1212C: FC + OB1 + tags imported, compile 0 errors / 0 warnings | |
Omron | CX-Programmer 9.x, CP1E | Edits | 9.75, CP1E-NA: project opened, compile 0 errors / 0 warnings | |
Mitsubishi | GX Works3 | none yet | — | Not supported, see ROADMAP.md |
"Verified on" lists only what was actually run. Other CPUs and versions may work, but they have not been tested.
Related MCP server: x402-industrial-mcp
Install (Windows)
Install each backend you need by following its own README, then:
git clone https://github.com/Wayan123/multi-plc-agent.git
cd multi-plc-agent
py -3 -m pip install .
copy config.example.json config.jsonThe router has no dependencies outside the Python standard library (3.10+).
Edit config.json, or set the variables it refers to:
Variable | Points to |
| gxworks-agent checkout with its |
| extracted |
| Cx-Proggrammer-MCP checkout with its |
| the |
Set "enabled": false on any backend you don't use. Check that every backend starts:
multi-plc-agent --config config.json --checkThe command exits with 0 only when every enabled backend reports running.
Connect an MCP client
{
"mcpServers": {
"multi-plc": {
"command": "multi-plc-agent",
"args": ["--config", "C:\\path\\to\\config.json"]
}
}
}Ask the agent to call list_plc_backends first. It returns each backend's status, server identity, exposed tool count and the tools that were withheld.
What is not exposed
Backend | Withheld by default | Why |
Siemens |
| Live PLC writes, deletions, and a group change that runs through UAC |
Siemens | The same names called through |
|
Omron |
| Deletion |
To expose a withheld tool on one backend, add "allow": ["ToolName"] to it. To withhold more tools, use "deny".
Per-backend notes
GX Works2. Native compile and live ST/FBD sessions still require 1.635.0.1. On 1.580, only Ladder CSV import and export are enabled. Save the project in GX Works2 yourself, because the tool won't save an unnamed project. The 1.580 support is proposed upstream in Arienax/gxworks-agent#11.
TIA Portal. Add your Windows user to the
Siemens TIA Opennessgroup yourself and sign in again before the first start. Otherwise the server tries to do it through UAC and exits if that fails. TIA Portal asks for Openness access on every connect unless you choose "Yes to all".CX-Programmer. The backend edits one project file, set by
--project. Close the project in CX-Programmer before the agent commits. If it was open, close it without saving and reopen it. The backend was written for CP1E. Its address and instruction checks do not cover CP1L, CP1H, CJ or CS.
Safety
Generated ladder logic is a draft. Review it and test it in a simulator (GX Simulator2, PLCSIM, CX-Simulator) before it reaches equipment. Emergency stop, guarding, two-hand control and overload protection must be implemented by independent safety hardware, not by AI-generated logic.
Development
py -3 -m pip install pytest
py -3 -m pytest tests -qThe tests start fake stdio backends. They need no PLC software.
License
Apache-2.0, see LICENSE. Backends are separate projects under their own licenses, see NOTICE. This repository does not include or redistribute their code.
This server cannot be deployed
Maintenance
Related MCP Connectors
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
One MCP endpoint for Claude, GPT & Gemini: 100+ tools + no-code connectors + agent workers.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceMCP server that connects AI assistants to Siemens TIA Portal via the Openness API. AI-assisted PLC programming, project management, hardware configuration, cross-reference analysis, and deployment. 19 tools, 230 actions.51-
- AlicenseNot gradedqualityDmaintenanceThe first and only MCP server for PLC (Programmable Logic Controller) intelligence. Give any AI agent direct access to industrial automation data — ladder logic, tag databases, cross-references, fault root cause analysis, and sequence blockersMIT
- FlicenseNot gradedqualityCmaintenanceAn MCP bridge for Siemens TIA Portal that enables AI assistants to inspect PLC projects, import/export programs, and compile with read-only defaults and opt-in writes.-
- FlicenseNot gradedqualityBmaintenanceEnables AI to operate STEP 7-Micro/WIN SMART via MCP, supporting offline STL/AWL analysis, project inspection, online PLC monitoring (snap7), and engine-injected operations like compile, download, upload, and symbol management through natural language.8-