Skip to main content
Glama

ftx-mcp

与你的 FactoryTalk Optix 项目对话。 ftx-mcp 将 AI 工具(Desktop、Cowork、Code —— 或任何 MCP 客户端)连接到 Windows 机器上的 FactoryTalk Optix Studio,让你通过描述需求来构建和修改 HMI 画面:

"在 Screen 1 上添加一个显示 'Hello Optix' 的标题,并展示给我看。"

"将该标签的可见性绑定到 Model/PumpRunning。"

"看起来没问题。启动模拟器并验证它。"

你的 LLM 直接将更改写入打开的 Studio 项目,运行模拟器,并查看渲染后的运行时以确认效果。它是一个开发和测试伴侣:部署到硬件仍由 Studio 自己的 Deploy 对话框完成,掌控在你手中。除 LLM 调用外,一切都在本地运行。无云服务,无 API 密钥;智能由你选择的 LLM 提供。

博客文章

安装(10 分钟)

要求:Windows 11、FactoryTalk Optix Studio 1.7.x,以及一个 MCP 客户端(如 Claude Cowork)。另外:Google Chrome(用于 CDP 验证循环;可通过 setup.ps1 -NoCdp 跳过)以及——对于 Claude Desktop Microsoft Store 版本连接器路径——Node.js(winget install OpenJS.NodeJS.LTS;配置使用 npx mcp-remote)。安装程序会通过 winget 自动安装 Tesseract OCR,用于零视觉令牌的文本工具(可通过 -NoOcr 跳过;其他功能无需它也能正常工作),并将 Pillow 安装到虚拟环境中用于像素差异比较。

从普通 PowerShell 窗口运行 setup.ps1 —— 不要从打包应用(如 Claude Desktop 的 Store 版本)内部托管的 shell 中运行,因为其 %LOCALAPPDATA% 写入会被虚拟化(安装程序现在会检测到这种情况并拒绝)。如果你下载的是 ZIP 而不是克隆,请先运行 Get-ChildItem -Recurse | Unblock-File。

如果 setup.ps1(或任何 bootstrap\*.ps1)因脚本执行 / “禁止运行脚本”错误而完全无法运行,说明你的机器执行策略阻止了未签名脚本。仅针对当前窗口解除阻止 —— 无需管理员权限,无需持久更改策略 —— 然后重新运行:

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

认证: 默认安装仅限回环且关闭认证 —— 安装程序从不提示,你自己的机器上也不需要令牌。绑定到局域网是唯一需要认证的情况:使用 .\bootstrap\setup.ps1 -EnableAuth 安装(参见 docs/security.md)。如果 UI/API 意外要求 bearer 令牌,说明之前的安装启用了认证 —— 重新运行安装程序并加上 -NoAuth 以清除。

要移除安装(或在干净重装前重置):.\bootstrap\uninstall.ps1 会停止并注销计划任务,并清理残留的 CDP chrome;添加 -All 还会删除状态(已颁发的令牌、chrome 配置文件、持久化的认证选择)和虚拟环境。

Related MCP server: tiacommander-mcp

启动 Studio 桥接器(5 分钟)

  1. 一次性桥接器设置(每个项目):在 Studio 项目树中,右键单击 NetLogic → 添加一个新的 DesignTime NetLogic,命名为 StudioMCPBridge,双击打开 C# 编辑器,粘贴 studio-bridge/StudioMCPBridge.cs(确保在代码编辑器中重新构建,或在 Studio 中保存以触发重新构建)

  2. 每个 Studio 会话设置一次项目:右键单击 StudioMCPBridge → SetupProject → 这会在 localhost:8081 添加一个用于验证访问的 webui

  3. 每个 Studio 会话启动一次桥接器:右键单击 StudioMCPBridge → StartBridge → 接受 Studio 的一次性安全提示。

  4. 验证桥接器健康状态:Studio 输出将显示 listening on http://127.0.0.1:8768(桥接器)。服务仪表板位于 http://127.0.0.1:8765/ui,也会显示桥接器状态。

Cowork(5 分钟)

要求:MCP 服务器和桥接器正在运行。已下载 Claude 桌面应用。

cd ftx-mcp                   # install + start the service
.\bootstrap\setup-mcp-client.ps1 -WriteConfig          # adds as a connector to desktop app

重启 Claude Desktop(你可能需要在任务管理器中结束任务以完全重启),然后让 Claude "运行 optix_status(action='doctor')" —— 它会报告任何缺失项,并为每项提供通俗易懂的修复方法。在设置 > 连接器中,你可以调整每个工具的权限。

Claude Code(5 分钟)

要求:MCP 服务器健康,且 claude 可在 CLI 中访问。

claude mcp add --transport http ftx-mcp http://127.0.0.1:8766/mcp

然后在 Claude Code 中运行 /mcp,确认 ftx-mcp 显示为已连接。

Visual Studio Code(5 分钟)

创建或打开 .vscode/mcp.json 并添加:

{
  "servers": {
    "ftx-mcp": {
      "type": "http",
      "url": "http://127.0.0.1:8766/mcp"
    }
  }
}

你的第一个更改

  1. 请求一个更改,例如 "使用 ftx mcp,在 MainWindow 上添加一个启动和停止按钮,用于切换 Model/MotorRun,并通过一个文本为 'MOTOR RUNNING' 且可见性绑定到 MotorRun 的标签来验证其工作。"

  2. 观察其工作:编写 → 模拟器预览 → 截图 → 当看起来正确时,你照常从 Studio 部署到硬件。

它能做什么

  • 编写 控件、属性、绑定、计算表达式、事件、翻译和多画面导航 —— 实时在打开的 Studio 项目中。

  • 运行 Studio 内置模拟器(通过 F5 键)并读取运行时日志。

  • 验证 通过查看 webui:截图、点击按钮和选项卡、在字段中输入。

  • 交还给你发布 当预览看起来正确时,你照常从 Studio 部署。此发行版仅运行模拟器。

完整工具列表(默认 33 个工具 —— 可通过环境变量门控添加更多 —— 以及通过纯 HTTP 为脚本和 CI 提供的相同接口)位于 docs/tool-reference.md。 令牌经济: 每次截图约消耗 1-2k 视觉令牌;OCR 工具系列(optix_cdp_read_text、find_text、navigate、sweep/diff)可将大多数检查转换为免费文本读取 —— 参见 optix-blind-authoring 和 optix-visual-regression 操作手册以了解工作流程(安装程序会自动安装 tesseract;-NoOcr 可选择退出)。

捆绑的编写操作手册(导航、绑定控件、样式、表达式)随服务器本身提供 —— Claude 通过 optix_list_skills / optix_get_skill 发现它们,因此每个连接的客户端无需任何设置即可获得它们。(在 Claude Code 中,它们也会作为 skills 原生加载。)

安全与防护态势

  • 仅限本地。 服务绑定 127.0.0.1,不与该机器之外的任何内容通信。可选的 bearer 令牌认证,在任何局域网绑定之前强制执行。

  • 默认只读。 每个工具都带有 MCP readOnlyHint / destructiveHint 注解(由测试固定),因此你的 MCP 主机可以自动批准读取并门控写入。

  • 写入门控,而非侥幸。 未声明的属性、数组写入、重复名称和不安全的重新父级化会被拒绝并返回类型化错误;复合操作在失败时回滚。当 Studio 打开项目时,文件级编辑会被拒绝。

  • 可审计。 每次模型变更都会向本地审计跟踪(%LOCALAPPDATA%\ftx-mcp\logs\audit.jsonl)追加一行 JSON,记录内容、时间和结果。

  • 发布始终由你掌控。 预览从不接触你的运行时;部署到硬件从 Studio 进行,仅此而已。此发行版仅进行设计时编辑和通过模拟器进行测试。

完整态势(包括提示注入表面分析)见 SECURITY.md。

文档

运行手册

首次会话,逐步指导

工具参考

每个 MCP 工具 + HTTP API

架构

各部分如何协同工作

故障排除

按症状索引的修复方法

安全

认证、端口、谁与谁通信

兼容性

已在 Windows 11、Python 3.12 上使用 FactoryTalk Optix Studio 1.7.x 测试。Optix CLI 行为在主要版本之间并非契约稳定 —— 在生产环境中请固定你的 Studio 版本。

许可证

MIT · © 2026 ASQI · 与 Rockwell Automation 无关联,也未获得其认可。FactoryTalk Optix 是 Rockwell Automation, Inc. 的商标;本项目编排本地安装的 Optix 二进制文件,但不重新分发它们。参见 NOTICE。

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      The first AI-powered development tool for Ignition SCADA — an MCP server that lets any AI agent read, understand, and interact with your Ignition projects and gateways.
      17
      12
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      MCP 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.
      55
      -
    • A
      license
      C
      quality
      C
      maintenance
      MCP server for Inductive Automation Ignition, enabling AI assistants to browse and write tags, query history and alarms, manage projects, and deploy Perspective views through natural language.
      43
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server for industrial PLC integration, enabling AI to read tags, monitor alarms, and interact with Allen-Bradley ControlLogix PLCs via natural language.
      9
      MIT