FT Optix MCP について
FT Optix MCPは、Windows上のFactoryTalk Optix StudioにAIツールを接続し、HMIの設計とテストを行います。開いているプロジェクトを編集してエミュレーターを実行し、表示結果を検証します。ハードウェアへのデプロイはStudioで行います。
主な機能
- 01HMIウィジェットとバインディングの作成
- 02組み込みエミュレーターの実行
- 03スクリーンショットと操作による画面検証
- 04Optix作成プレイブックを同梱
- 05書き込み制御と監査ログを備えたローカル実行
活用シーン
- 01Optixプロジェクトのコントロール追加・変更
- 02エミュレーターで画面動作をテスト
- 03デプロイ前に描画画面を確認
MCP 対応
Streamable HTTPでローカルMCPサーバーを実行し、Studioブリッジを介してMCPクライアントとFactoryTalk Optix Studioを接続します。作成、エミュレーター、検証用のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
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、および Claude Cowork などの MCP クライアント。
また、build_check に必要な .NET SDK(8 以降)(これがない場合、build_check は no_dotnet を返します)、Google Chrome(CDP 検証ループ用。setup.ps1 -NoCdp でスキップ可能)、さらに Claude Desktop の Microsoft Store 版コネクターパスを使う場合は Node.js(winget install OpenJS.NodeJS.LTS。設定では npx mcp-remote を使用します)が必要です。セットアップでは、ゼロビジョントークンのテキストツール用に Tesseract OCR が winget 経由で自動インストールされます(-NoOcr でスキップ可能。なくてもほかの機能は動作します)。また、ピクセル差分のために Pillow(必須依存関係)が venv にインストールされます。
setup.ps1 は 通常の PowerShell ウィンドウから実行してください。Claude Desktop の Store 版のようなパッケージアプリ内でホストされたシェルからは実行しないでください。こうしたアプリでは %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
認証: デフォルトのインストールはループバックのみで、認証は OFF です。セットアップで認証を求められることはなく、ご自身のマシン上でトークンは必要ありません。LAN にバインドする場合に限り認証が必要です。.\bootstrap\setup.ps1 -EnableAuth を指定してインストールしてください(docs/security.md を参照)。UI/API で予期せずベアラートークンを求められた場合は、以前のインストールで認証が有効になっています。セットアップを -NoAuth を指定して再実行すると解除できます。
インストールを削除する(またはクリーン再インストールの前にリセットする)には、
.\bootstrap\uninstall.ps1 を実行します。スケジュールされたタスクを停止・登録解除し、残っている CDP chrome を削除します。状態(発行済みトークン、chrome プロファイル、保存された認証設定)と venv も削除するには、-All を追加してください。
pip/レジストリからのインストール
pip install ftx-mcp を実行すると、サービスとその依存関係がインストールされます(Pillow を含みます。現在は必須依存関係です。ftx-mcp[visual] は古い手順との互換性のため、空の追加機能として残されています)。wheel にはオーサリングスキル(skills/*/SKILL.md)、Studio ブリッジのソース(StudioMCPBridge.cs)、および /ui ダッシュボードも含まれます。そのため、チェックアウトなしでスキルツールと optix_bridge_arm ブリッジ同期が動作します。チェックアウトからインストールした場合は、引き続きリポジトリ内の skills/ と studio-bridge/ を読み込みます。
pip からは入手できず、手動で用意する必要があるものは次のとおりです(docs/runbook.md を参照):Studio、Tesseract OCR、CDP ループ用の Chrome、スケジュールされたタスク/サービスの登録、認証のセットアップ、および BridgeTemplate の更新です。Windows でサポートされているインストール方法は、チェックアウトから bootstrap\setup.ps1 を実行することです。
チェックアウトがない場合に、プロジェクトまたはテンプレート用のブリッジソースを取得するには、稼働中のサービスから取得してください。
Invoke-WebRequest http://127.0.0.1:8765/bridge-source -OutFile StudioMCPBridge.cs
GET /bridge-source は、同梱ファイルを text/plain として返し、X-Ftx-Mcp-Version ヘッダーを付与します。
アップグレード
チェックアウト版をアップグレードするには(例:1.0.8 → 1.0.9)、チェックアウト内で通常の PowerShell ウィンドウを開き、以下の5つの手順を順番に実行します。
bootstrap\services.ps1 stopgit pull(またはチェックアウトを置き換えます)bootstrap\uninstall.ps1 -PurgeVenvbootstrap\setup.ps1bootstrap\services.ps1 start
状態、シークレット、ログは %LOCALAPPDATA%\ftx-mcp\ に保存されており、この手順を実行しても保持されます(-PurgeVenv で削除されるのは仮想環境だけです)。
- 既存のプロジェクト: 既存の各プロジェクトで最初に
optix_bridge_armを実行すると、ブリッジのソースが配布版に同期され、以前のソースのバックアップがProjectFiles\.ftx-mcp-backups\に保存されます。 - BridgeTemplate: 登録済みの BridgeTemplate は、
docs/runbook.mdの手動コピー手順に従って更新します。古いテンプレートから作成されたプロジェクトは、最初に arm したときに同期されます。 pip install --upgradeはサポートされている方法ではありません。 チェックアウト版はアップグレードされず、サービスがチェックアウトのコードを実行し続けているのに、pip が報告するバージョンだけが更新されることがあります。上記の5つの手順を使用してください。
docs/release-notes-v1.0.9.md も参照してください。
Studio Bridge を起動する(5分)
- ブリッジの初回セットアップ(プロジェクトごと):Studio のプロジェクトツリーで NetLogic を右クリックし、DesignTime NetLogic を新規追加して
StudioMCPBridgeという名前を付けます。ダブルクリックして C# エディターで開き、studio-bridge/StudioMCPBridge.csを貼り付けます(コードエディターで再ビルドするか、Studio で保存して再ビルドを実行してください)。 - プロジェクトをセットアップ(Studio のセッションごとに1回):StudioMCPBridge を右クリック → SetupProject → これにより、localhost:8081 で検証アクセス用の webui が追加されます。
- ブリッジを起動(Studio のセッションごとに1回):StudioMCPBridge を右クリック → StartBridge → Studio の初回セキュリティプロンプトを承認します。
- ブリッジの正常性を確認: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 に "run optix_status(action='doctor')" と尋ねます。問題があれば、不足している項目とそれぞれのわかりやすい修正方法が報告されます。 設定 > コネクタで、各ツールの権限を調整できます。
Claude Code(5分)
ftx-mcp は http://127.0.0.1:8766/mcp で、ストリーミング可能な HTTP を介して MCP を提供します。
要件:MCP サーバーが正常に動作し、CLI から claude にアクセスできること。
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"
}
}
}
最初の変更
- 変更内容を依頼します。例:「ftx mcp を使って、MainWindow に Model/MotorRun を切り替える Start ボタンと stop ボタンを追加し、MotorRun に表示状態を連動させた、テキストが 'MOTOR RUNNING' のラベルで動作を確認してください。」
- 動作を確認します:作成 → エミュレーターでプレビュー → スクリーンショット。見た目がよければ、いつものように Studio からハードウェアにデプロイします。
できること
- オープン状態の Studio プロジェクトで、ウィジェット、プロパティ、バインディング、計算式、イベント、翻訳、複数画面のナビゲーションを作成します。
- F5 キーで Studio の組み込みエミュレーターを実行し、ランタイムログを読み取ります。
- Web UI でスクリーンショットを撮影し、ボタンやタブをクリックし、フィールドに入力して検証します。
- プレビューに問題がなければ、デプロイはお客様にお任せします。通常どおり Studio からデプロイしてください。この配布版で実行できるのはエミュレーターのみです。
ツールの全一覧(デフォルトで 36 個。環境変数で追加可能。スクリプトや CI 向けに、同じ機能をプレーン HTTP 経由でも利用可能)は、docs/tool-reference.md にあります。
トークンの節約: スクリーンショット 1 枚につき約 1~2k のビジョントークンを消費します。optix_observe の OCR モード(read_text、find_text、diff)を使うと、ほとんどの確認を無料のテキスト読み取りにできます。ワークフローについては、optix-blind-authoring と optix-visual-regression のプレイブックを参照してください(セットアップ時に tesseract が自動でインストールされます。-NoOcr を指定すると無効になります)。
19 個のオーサリングプレイブック(ナビゲーション、バインドされたコントロール、スタイル、式)がサーバーに同梱されています。Claude は optix_list_skills / optix_get_skill を使ってこれらを検出するため、接続されたすべてのクライアントがセットアップなしで利用できます。(Claude Code では、skills としてもネイティブに読み込まれます。)
セキュリティと安全性
- ローカルのみ。 サービスは
127.0.0.1にバインドされ、マシン外とは通信しません。オプションのベアラートークン認証は、LAN へのバインドより前に適用されます。 - デフォルトは読み取り専用。 すべてのツールに MCP の
readOnlyHint/destructiveHintアノテーションが付与されています(テストで契約を固定)。そのため、MCP ホストは読み取りを自動承認し、書き込みを制限できます。 - 希望ではなく、書き込みの制限。 宣言されていないプロパティ、配列への書き込み、名前の重複、安全でない親の再設定は、型付きエラーで拒否されます。複合操作は失敗時にロールバックされます。プロジェクトファイルの読み取り(
optix_read_file)は、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 を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。