FTX MCP — FactoryTalk Optix MCP Server MCP Server
io.github.asqi-carter/ftx-mcp
AI-powered HMI authoring for FactoryTalk Optix Studio—describe changes, preview in the emulator, deploy from Studio.
What is the FTX MCP — FactoryTalk Optix MCP Server MCP server?
The ftx-mcp MCP server connects AI tools to FactoryTalk Optix Studio on Windows, enabling you to author HMI screens, bindings, and logic by natural language description. The LLM makes changes directly in your open Studio project, runs the emulator, and verifies the result via screenshot and interaction—all locally, with no cloud service or API key required.
ftx-mcp is a development companion for FactoryTalk Optix that lets you describe HMI changes in plain English and watch an AI agent implement them live in Studio, test them in the emulator, and show you the result. It handles widget authoring, property binding, expressions, events, and multi-screen navigation, then hands control back to you for final deployment to hardware from Studio itself.
How to install FTX MCP — FactoryTalk Optix MCP Server
Copy-paste configuration for popular MCP clients.
Tools & capabilities
Tools this server exposes to the agent.
optix_status— Check server and bridge health; run doctor mode to diagnose missing dependencies.optix_list_skills— Discover bundled authoring playbooks for navigation, bindings, styles, and expressions.optix_get_skill— Retrieve details and code for a specific authoring playbook.optix_cdp_read_text— Extract text from the emulator UI via OCR (zero vision tokens).find_text— Locate text on screen without vision tokens using OCR.navigate— Click buttons, tabs, and interact with the emulator UI.optix_sweep— Perform pixel-diff visual regression testing between screenshots.Author widgets, properties, bindings— Create and modify HMI elements, bind them to model data, and set up computed expressions.Run emulator— Launch Studio's built-in emulator via F5 and read the runtime log.Verify via webui— Screenshot the emulator, interact with controls, and validate behavior.
Use cases
- Add a header label and button to an HMI screen by describing it, then preview the result in the emulator.
- Bind a control's visibility or value to a model property and verify the binding works at runtime.
- Create multi-screen navigation flows and test them interactively without leaving the MCP interface.
- Perform visual regression testing by comparing emulator screenshots before and after changes.
- Validate HMI logic and user interactions in the emulator before deploying to hardware.
FTX MCP — FactoryTalk Optix MCP Server MCP server FAQ
ftx-mcp is an MCP server that connects AI agents (Claude, Cursor, or any MCP client) to FactoryTalk Optix Studio on Windows. It lets you author HMI screens and logic by describing what you want, preview changes in the emulator, and verify they work—all locally without cloud services.
Yes. ftx-mcp is open-source (MIT license) and requires only a local Windows 11 machine with FactoryTalk Optix Studio 1.7.x installed. You provide your own LLM (Claude, etc.) via an MCP client.
Run `setup.ps1` to install the service, then run `setup-mcp-client.ps1 -WriteConfig` to add it as a connector to Claude Desktop. Restart Claude and ask it to run `optix_status(action='doctor')` to verify everything is working.
No. The default install is loopback-only with auth disabled—no token needed. Auth is only required if you bind to the LAN, which you can enable with `setup.ps1 -EnableAuth`.
Windows 11, FactoryTalk Optix Studio 1.7.x, Google Chrome (for emulator verification), Node.js (for Claude Desktop connector), and Python 3.12. Setup auto-installs Tesseract OCR and Pillow.
No. ftx-mcp authors changes in Studio, tests them in the emulator, and shows you the result. You deploy to hardware from Studio's Deploy dialog—shipping stays in your hands.
README (reference)
Source of truth, from the repository.
ftx-mcp
<!-- mcp-name: io.github.asqi-carter/ftx-mcp -->Talk to your FactoryTalk Optix project. ftx-mcp connects AI tools (Desktop, Cowork, Code — or any MCP client) to FactoryTalk Optix Studio on your Windows machine, so you can build and change HMI screens by describing what you want:
"Add a header that says 'Hello Optix' to Screen 1 and show me."
"Bind that label's visibility to Model/PumpRunning."
"Looks right. Launch the emulator and validate it."
Your LLM authors the change directly into your open Studio project, runs the emulator, and looks at the rendered runtime to confirm it worked. It is a development and testing companion: shipping to hardware stays in Studio's own Deploy dialog, in your hands. Everything besides the LLM calls runs locally on your machine. No cloud service, no API key; your LLM of choice provides the intelligence.
Install (10 minutes)
Requirements: Windows 11, FactoryTalk Optix Studio 1.7.x, and an MCP client
like Claude Cowork. Also: Google Chrome (the CDP verify loop; skip with
setup.ps1 -NoCdp) and — for the Claude Desktop Microsoft Store build
connector path — Node.js (winget install OpenJS.NodeJS.LTS; the config
uses npx mcp-remote). Setup auto-installs Tesseract OCR via winget for
the zero-vision-token text tools (skip with -NoOcr; everything else works
without it) and Pillow into the venv for pixel diffing.
Run setup.ps1 from a regular PowerShell window — not a shell hosted
inside a packaged app like the Store build of Claude Desktop, whose
%LOCALAPPDATA% writes are virtualized (setup now detects this and refuses).
If you downloaded a ZIP instead of cloning, run
Get-ChildItem -Recurse | Unblock-File first.
If setup.ps1 (or any bootstrap\*.ps1) fails to run at all with a script-
execution / "running scripts is disabled" error, your machine's execution
policy is blocking unsigned scripts. Unblock them for the current window only —
no admin, no persistent policy change — then re-run:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
git clone https://github.com/asqi-carter/ftx-mcp.git
cd ftx-mcp
.\bootstrap\setup.ps1 # install (does not start anything)
.\bootstrap\services.ps1 start # start the service + cdp chrome
.\bootstrap\services.ps1 status # verify health
http://127.0.0.1:8765/ui # health dashboard
Auth: the default install is loopback-only with auth OFF — setup never
prompts, and no token is needed on your own box. Binding to the LAN is the
one case that requires auth: install with .\bootstrap\setup.ps1 -EnableAuth
(see docs/security.md). If a UI/API unexpectedly asks
for a bearer token, a previous install enabled auth — re-run setup with
-NoAuth to clear it.
To remove an install (or reset before a clean reinstall):
.\bootstrap\uninstall.ps1 stops and unregisters the scheduled tasks and
reaps any leftover CDP chrome; add -All to also delete state (issued
tokens, chrome profile, persisted auth choice) and the venv.
Start the Studio Bridge (5 minutes)
- One-time bridge setup (per project): in the Studio project tree,
right-click NetLogic → add a new DesignTime NetLogic named
StudioMCPBridge, double-click it to open the C# editor, and paste instudio-bridge/StudioMCPBridge.cs(make sure to rebuild in your code editor or save in Studio to trigger a rebuild) - Setup the Project once per Studio session: right-click StudioMCPBridge → SetupProject → This just adds a webui for validation access at localhost:8081
- Start the bridge once per Studio session: right-click StudioMCPBridge → StartBridge → accept Studio's one-time security prompt.
- Verify bridge health: Studio Output will show
listening on http://127.0.0.1:8768(the bridge). The service dashboard at http://127.0.0.1:8765/ui shows bridge status too.
Cowork (5 minutes)
Requirements: MCP server and bridge running. Claude desktop app downloaded.
cd ftx-mcp # install + start the service
.\bootstrap\setup-mcp-client.ps1 -WriteConfig # adds as a connector to desktop app
Restart Claude Desktop (You might have to end task in task manager to fully restart), then ask Claude to "run optix_status(action='doctor')" — it reports anything missing, with a plain-English fix for each item. In settings > connectors you can adjust the permissions for each of the tools
Claude Code (5 minutes)
Requirements: MCP server healthy and claude accessible in cli
claude mcp add --transport http ftx-mcp http://127.0.0.1:8766/mcp
Then in Claude Code, run /mcp and confirm ftx-mcp shows as connected.
Visual Studio Code (5 minutes)
Create or open .vscode/mcp.json and add:
{
"servers": {
"ftx-mcp": {
"type": "http",
"url": "http://127.0.0.1:8766/mcp"
}
}
}
Your first change
- Ask for a change, e.g. "Using the ftx mcp, Add a Start and stop button that toggles Model/MotorRun on MainWindow, and verify it works with a label with the text of 'MOTOR RUNNING' that has visibility tied to MotorRun."
- Watch it work: author → emulator preview → screenshot → and when it looks right, you deploy it to your hardware from Studio as usual.
What it's capable of
- Author widgets, properties, bindings, computed expressions, events, translations, and multi-screen navigation — live in the open Studio project.
- Run Studio's built-in emulator via F5 key and read the runtime log.
- Verify by looking at the webui: screenshot, click buttons and tabs, type into fields.
- Hand back to you to ship when the preview looks right, you deploy from Studio as usual. This distribution only runs the emulator.
The full tool list (33 tools by default — gate env vars can add more — plus
the same surface over plain HTTP for scripts and CI) is in
docs/tool-reference.md.
Token economy: screenshots cost ~1-2k vision tokens each; the OCR tool
family (optix_cdp_read_text, find_text, navigate, sweep/diff) turns
most checks into free text reads — see the optix-blind-authoring and
optix-visual-regression playbooks for the workflow (setup installs
tesseract automatically; -NoOcr opts out).
Bundled authoring playbooks (navigation, bound controls, styles,
expressions) ship with the server itself — Claude discovers them via
optix_list_skills / optix_get_skill, so every connected client gets
them with zero setup. (In Claude Code they also load natively as
skills.)
Security & safety posture
- Local only. The service binds
127.0.0.1and talks to nothing off the machine. Optional bearer-token auth, enforced before any LAN bind. - Read-only by default. Every tool carries MCP
readOnlyHint/destructiveHintannotations (contract-pinned by tests) so your MCP host can auto-approve reads and gate writes. - Write gates, not hope. Undeclared properties, array writes, duplicate names, and unsafe re-parents are refused with typed errors; composite operations roll back on failure. File-level edits are refused while Studio has the project open.
- Audited. Every model mutation appends a JSON line to a local audit
trail (
%LOCALAPPDATA%\ftx-mcp\logs\audit.jsonl) what, when, outcome. - Shipping stays in your hands. Previewing never touches your runtime; deploying to hardware happens from Studio, full stop. This distribution does design time edits and testing via the emulator.
The full posture including the prompt-injection surface analysis is in SECURITY.md.
Documentation
| Runbook | First session, step by step |
| Tool reference | Every MCP tool + the HTTP API |
| Architecture | How the pieces fit together |
| Troubleshooting | Symptom-indexed fixes |
| Security | Auth, ports, what talks to what |
Compatibility
Tested with FactoryTalk Optix Studio 1.7.x on Windows 11, Python 3.12. Optix CLI behavior is not contract-stable across major versions — pin your Studio version in production.
License
MIT · © 2026 ASQI · Not affiliated with or endorsed by Rockwell Automation. FactoryTalk Optix is a trademark of Rockwell Automation, Inc.; this project orchestrates locally installed Optix binaries without redistributing them. See NOTICE.
Related MCP servers

Icons for agentic development: search & fetch 366,000+ open-source icons as SVG/PNG. No API key.
Italian cattle market: daily official quotations, marketplace listings, transporters. No auth.

Expense
Receipt tracker with no friction: receipts arrive by email and file themselves
Search a curated directory of 300+ verified AI agents, MCP servers, and agentic tools.
Role guidance for technical go-to-market job fit (SA, CSM, SE, TAM, Support, FDE).
View repository →
Verifies AI agent work end to end: real artifacts and outcomes checked, not self-reported success.
