AI Assisted Development Studio 5000 MCP
lgx-mcp is an MCP server for Logix: an AI agent makes real online rung edits in Logix Designer while you watch, through the pending-edit lifecycle you already use. You decide when to test and assemble. Open source under MIT.
lgx-mcp is an MCP server for Allen-Bradley Logix controllers: with it, an AI agent makes real online rung edits in Logix Designer while you watch, through the same pending-edit lifecycle you already use. With no Rockwell software installed at all, it also analyses .L5X projects and reads live tags over CIP.
The proof is a request every plant sends sooner or later: add fail-to-start detection to every motor on a four-motor pump station. That is 14 rung edits across two routines and 8 new tags. It was one ask. All 14 arrived together as pending online edits on Logix Echo, Edits Present in Studio with the old logic still running. On the engineer's word they were tested, and Studio's own animation showed P101 trip as designed. Then they were assembled. No rung was exported or imported.
In the video, the Studio footage is the real session, at real speed. The Claude window is a re-creation of the real prompts and tool calls, trimmed to fit. In the video the model presses Test Edits and Assemble on the engineer's word. That is the opt-in path described below; by default you press them yourself.
One design decision up front: by default the agent only proposes. What goes live, and when, stays yours.
The loop: propose, test, assemble
Every online edit you have ever made went through the same gates. lgx-mcp follows them in Studio's own terms:
- Propose. The agent stages rung replacements, inserts and new tags on the workstation, routine by routine, then sends them to the controller as one change set. Studio shows Edits Present; the controller still runs the old logic.
- Test. Studio's Test Edits: the new logic runs and the original is kept. Untest puts the original back.
- Assemble, or cancel. Assemble makes the change permanent; cancel walks away from it. Accept does both steps at once when you do not need a test.
Before anything reaches the controller, the change is built on an offline copy of the project, so an undefined tag shows up first. The online session itself is never built. The tool reads the pending-edit state from the controller before and after every step, and refuses a step that does not fit the state. logix_pending_edits answers "what state am I in?" by asking the controller, not by remembering what the agent did.
By default you press Test and Assemble in Logix Designer, as you always have. Switch Studio automation on and the agent can do those steps on your word, with the same menu commands you would pick. It reads Studio's confirmation dialog, presses Yes only if it names the right step and program, and then reads the controller back to confirm the step happened. It sends no keystrokes or mouse clicks, and never launches Studio or takes it online. That path is opt-in and experimental, built against the Studio v38 menus.
On Logix Echo, logix_run_test adds scripted checks: set inputs, wait, read outputs, pass or fail. It refuses any controller that is not an emulator. On 12 October, through Claude Desktop's Cowork, the agent published a rung as a pending edit, accepted it and ran five test cases. All five passed.
Three lanes, and what each needs
| Lane | What it does | What it needs |
|---|---|---|
| Static analysis | Opens an .L5X: tags, routines rung by rung, cross-references, where a tag's value comes from, lint, interlock proof, diffs, documentation |
No Rockwell software. Windows, macOS or Linux |
| Live tags over CIP | Reads and polls tags; gated writes to designated command tags | No Rockwell software. A reachable controller; writes switched on |
| Logix Designer SDK | Online rung edits, the pending-edit lifecycle, the build check, .ACD projects, emulator tests |
Windows, your own licensed Logix Designer (v36 or later, verified on v38) and the Logix Designer SDK |
The SDK lane is optional, and you build it against your own install. lgx-mcp redistributes no Rockwell software.
Tools are SOPs
There are 42 tools: 29 in the core build and 13 more in the SDK lane. Each one is a step an engineer would recognise, with typed parameters and a description that says what it does, what it can change and what it refuses. Ask "does every rung that sets Motor_Run also check Safety_OK?" and logix_verify_interlock answers statically, with the exact rungs that do not.
Refusals are answers. A refused call returns a typed error with enough detail for the agent to correct itself, the way a good interlock message names the missing permissive. Bundled playbooks (logix_list_skills, logix_get_skill) give the agent the procedures, and logix_doctor checks the setup and returns the next step for every problem.
Safety is structural, not hopeful
The write gate comes from your own project. When a session connects, lgx-mcp reads the program and decides what the agent may write. Tags written by logic are denied, and the check covers more than OTE: aliases, structured text, function block, SFC and MSG destinations count too. Safety_ tags, tags whose External Access forbids it, and consumed tags are denied as well. Only designated command tags pass, and every decision names the element of the program behind it. None of it comes from a config file the agent can edit.
Some things are off unless you turn them on. Live writes are off by default, and by default publishing to a controller also needs your confirmation on each call. Studio test and assemble are a separate opt-in. A controller mode change is never applied on a live controller. Download exists for commissioning a bench, but it is off unless you set its switch and confirm each one. There is no force tool.
Every decision leaves a trail. Gate decisions, writes and connects append to a local audit log. One honest limit: a confirmation is the agent's word that you approved, and the server cannot check it. Use a client that asks you before it calls the tool.
What this is not
- It is not verified on a physical controller. Everything here was verified on FactoryTalk Logix Echo with Logix Designer v38, and Rockwell itself says emulated behaviour can differ from hardware. Re-verify on your own controller before relying on anything.
- It is not a safety system, and nothing in it may be used to satisfy a safety function.
- It is not remote access. It is a local server on the engineering workstation, with your MCP client and your model subscription.
In your world, in this world
| In your world | In this world |
|---|---|
| Online edit, Edits Present | A proposed rung (pending edit) |
| Test Edits / Untest | logix_test_pending_edits / logix_untest_pending_edits |
| Accept (accept and assemble in one step) | logix_accept_pending_edits |
| Assemble / Cancel | logix_assemble_pending_edits / logix_cancel_pending_edits |
| Who's allowed to write this tag | The write gate, derived from the program |
| Shift log | The local audit trail (JSONL) |
The tool is specific. The method is not.
lgx-mcp is Logix-specific. The method is the one behind ftx-mcp: stage on an emulator, keep the dangerous paths off and explicit, derive authority from the system itself rather than a config, and never let the agent hold a state you cannot see. Building that surface well is the actual engineering work.
Get it
On Windows, from PowerShell:
git clone https://github.com/asqi-carter/lgx-mcp.git
cd lgx-mcp
powershell -ExecutionPolicy Bypass -File bootstrap\install.ps1install.ps1 needs only PowerShell and winget. It builds the SDK lane if it finds your Logix Designer SDK package and the no-SDK build otherwise, checks that no Rockwell file is in the output, and registers lgx-mcp with Claude Desktop (add -Client ClaudeCode or -Client VSCode for those). Live writes and Studio automation stay off unless you add -EnableLiveWrites and -EnableStudioAutomation. Then ask the agent to run logix_doctor.
- Clone github.com/asqi-carter/lgx-mcp and point it at Logix Echo before you point it at anything else.
- Read SECURITY.md and the safety model before you form an opinion. Security reports go to [email protected].
- Contact ASQI →
Previously: ftx-mcp, an agent that authors and verifies FactoryTalk Optix screens.
Not affiliated with or endorsed by Rockwell Automation. Allen-Bradley, Logix, Studio 5000, ControlLogix and FactoryTalk are trademarks of Rockwell Automation, Inc.