Skip to main content
Glama
Nodeblue-AI

ignition-mcp-server

by Nodeblue-AI

ignition-mcp-server

Ignition SCADA向けの初のAI搭載開発ツール — あらゆるAIエージェントがIgnitionプロジェクトとゲートウェイを読み取り、理解し、操作できるようにするMCPサーバーです。

License: MIT Python 3.10+ MCP

[!NOTE] このコネクタは、Nodeblueによる初期のコミュニティツールです。 完全なシステムは、当社の産業インテリジェンスプラットフォームであるNexusです。これらのリポジトリは、そのコネクタレイヤーにすぎません。

Nexusは、PLCロジック、SCADAシステム、ライブコントローラデータ、ドキュメント、障害履歴、MES/ERPレコードなど、運用全体を読み取り、推論します。Rockwell、Siemens、Ignition、CODESYSファミリー、そしてPLCopenを通じた500以上のブランドに対応しています。稼働中のラインの障害を診断し、運用の永続的なメモリを保持し、出典を明記して平易な英語で回答します。

Nodeblueオープンソースコネクタ

コネクタ

機能

studio5000-mcp-server

Rockwell/Allen-Bradley Studio 5000 — L5Xエクスポートを解析: タグ、UDT、ルーチン、AOI、相互参照

ignition-mcp-server(このリポジトリ)

Ignition SCADA — ビュー、スクリプト、タグ、UDT、アラーム、ライブゲートウェイの読み取り/書き込み

bridge-mcp-server

Ignition SCADAタグとStudio 5000 PLCロジックをエンドツーエンドで関連付けます


このツールの機能

ignition-mcp-server は、Model Context Protocol を介して、AIエージェント(Claude、GPT、ローカルLLM)をIgnition SCADAプロジェクトに接続します。AIに構造化されたアクセスを提供します:

  • タグ — タグ階層の参照、フォルダパスによるフィルタリング、データ型と値の表示

  • Perspectiveビュー — コンポーネントツリー、バインディング、イベントハンドラ、スタイルの読み取り

  • スクリプト — スコープ情報付きでプロジェクトライブラリのスクリプトとゲートウェイイベントスクリプトを読み取り

  • UDT — メンバー詳細付きでユーザー定義型(User Defined Type)定義の一覧表示と検査

  • アラームパイプライン — ステージ、プロファイル、遷移を含むアラーム通知設定の読み取り

  • 名前付きクエリ — パラメータ、データベースターゲット、型を含むSQLクエリ定義の読み取り

  • ライブタグの読み取り/書き込み — WebDevを介して稼働中のIgnitionゲートウェイのタグ値を読み取り。書き込みはオプトイン(--enable-writes

  • スクリプト実行 — ゲートウェイスコープでゲートウェイ上にPythonスクリプトを実行(オプトイン、--enable-writes

  • タグ履歴 — 時間範囲フィルタリングを使用して履歴タグデータを照会

Ignition 8.1+ プロジェクトエクスポート.zipファイル)と8.3+ ファイルシステムベースのプロジェクト(ディレクトリ直接アクセス)の両方に対応しています。

Related MCP server: ignition-mcp

なぜこれが必要か

Ignitionは世界に約30万以上の導入実績がありますが、AIツールはゼロです。ベンダーのコパイロットも、サードパーティ製ツールも、学術研究もありません。他の主要なオートメーションプラットフォーム(Siemens、Rockwell、Schneider)にはAIアシスタントがあります。Ignitionには何もありません。

このサーバーはそのギャップを埋めます。オープンソースで、エージェントに依存せず、オフラインで動作します。

Nodeblue によって構築・保守されています。これらのコネクタは、Nexus での取り組みから生まれた初期のコミュニティツールです。Nexusでは、この機能は本番グレードで提供されており、クロスベンダー相関、ライブ障害診断、運用の永続的なメモリも備えています。

インストール

pip install ignition-mcp-server

Python 3.10+ が必要です。

代わりにソースからインストールする場合:

git clone https://github.com/nodeblue-ai/ignition-mcp-server.git
cd ignition-mcp-server
pip install .

クイックスタート

stdio (ローカル — kiro-cli、Claude Desktop、Claude Code)

ignition-mcp-server

SSE (リモート — サーバーは1台のマシン、エージェントは別のマシン)

ignition-mcp-server --transport sse --port 8080

ライブゲートウェイ接続

ignition-mcp-server --gateway-url https://my-gateway:8088 --gateway-username admin --gateway-password changeme

これにより、読み取り専用のライブツール(read_tagget_history)が有効になります。APIエンドポイントが設定されたゲートウェイ上の WebDevモジュール が必要です(下記の ゲートウェイ設定 を参照)。

[!WARNING] ライブ書き込みはデフォルトで無効です。 write_tagexecute_script は、稼働中のSCADAシステムの値を変更し、実際の機器を動作させる可能性があります。有効にするには、--enable-writes で明示的にオプトインする必要があります:

ignition-mcp-server --gateway-url https://my-gateway:8088 --enable-writes

これは、本番環境以外のゲートウェイに対してのみ行うか、接続されたAIエージェントが操作してもよい範囲を完全に理解している場合にのみ行ってください。ゲート付きで監査され、人間の承認を必要とするライブ書き込みは、Nexus の一部です。

設定

kiro-cli

~/.kiro/settings.json に追加:

{
  "mcpServers": {
    "ignition": {
      "command": "ignition-mcp-server",
      "args": []
    }
  }
}

ライブゲートウェイアクセスを使用する場合:

{
  "mcpServers": {
    "ignition": {
      "command": "ignition-mcp-server",
      "args": ["--gateway-url", "https://my-gateway:8088"]
    }
  }
}

Claude Desktop

Claude Desktop MCP 設定に追加:

{
  "mcpServers": {
    "ignition": {
      "command": "ignition-mcp-server",
      "args": []
    }
  }
}

SSE (リモート)

エンジニアリングワークステーションでサーバーを起動:

ignition-mcp-server --transport sse --host 0.0.0.0 --port 8080

任意のMCPクライアントからSSE URLを使用して接続: http://<host>:8080/sse

利用可能なツール

ping

ヘルスチェック。\"pong\" を返します。

get_tags(project_path, tag_path?, provider?)

プロジェクト内のタグを参照します。オプションでフォルダパスとタグプロバイダーでフィルタリングできます。

get_tags("/path/to/project", "Conveyors/Line1")
get_tags("/path/to/project", "", "edge")

タグ名、タイプ、データ型、値、ドキュメントを返します。

list_tag_providers(project_path)

プロジェクト内のすべてのタグプロバイダー名を一覧表示します(例: defaultedgeMQTT)。

list_views(project_path)

プロジェクト内のすべてのPerspectiveビューパスを一覧表示します。

get_view(project_path, view_path)

Perspectiveビューのコンポーネントツリーをバインディングとイベント付きで取得します。

get_view("/path/to/project", "Overview")

コンポーネント階層、プロパティバインディング、イベントハンドラ数を返します。

list_scripts(project_path)

すべてのスクリプトをそのスコープ(gateway、client、all)とともに一覧表示します。

get_script(project_path, script_path)

プロジェクトスクリプトのソースコードを取得します。

get_script("/path/to/project", "ignition/script-python/utils")

list_udts(project_path)

すべてのUDT(ユーザー定義型)定義名を一覧表示します。

get_udt(project_path, udt_name?)

メンバー詳細、パラメータ、ドキュメント付きのUDT定義を取得します。

get_udt("/path/to/project", "Motor_UDT")

list_alarms(project_path)

プロジェクト内のすべてのアラームパイプライン名を一覧表示します。

get_alarm(project_path, pipeline_name)

ステージ、通知プロファイル、遷移を含むアラームパイプラインの設定を取得します。

get_alarm("/path/to/project", "MainAlarmPipeline")

パイプラインのステージ(タイプ: delay、notification)、通知プロファイル名、連絡先情報、集約期間、遷移数を返します。

list_named_queries(project_path)

プロジェクト内のすべての名前付きクエリ名を一覧表示します。

get_named_query(project_path, query_name)

名前付きクエリのSQL、パラメータ、データベース接続、タイプ(Query vs Update)を取得します。

get_named_query("/path/to/project", "GetActiveFaults")

SQLテキスト、データ型とデフォルト値を持つパラメータ定義、ターゲットデータベース、説明を返します。

read_tag(tag_path)

ライブゲートウェイから1つ以上のタグの現在値を読み取ります。複数タグの場合はカンマ区切り。

read_tag("[default]Conveyors/Line1/Speed")
read_tag("[default]Conveyors/Line1/Speed, [default]Conveyors/Line1/Running")

起動時に --gateway-url が必要です。

write_tag(tag_path, value)

ライブゲートウェイ上のタグに値を書き込みます。ブール値/数値への変換を自動的に処理します。

write_tag("[default]Conveyors/Line1/Speed", "1800")

デフォルトでは無効です。 起動時に --gateway-url --enable-writes が必要です。

execute_script(code)

Ignitionゲートウェイ上でPythonスクリプトをゲートウェイスコープで実行します。

execute_script("system.tag.readBlocking(['[default]Conveyors/Line1/Speed'])")

デフォルトでは無効です。 起動時に --gateway-url --enable-writes が必要です。

get_history(tag_path, start, end)

ゲートウェイのヒストリアンから履歴タグデータを照会します。

get_history("[default]Conveyors/Line1/Speed", "2026-04-12T00:00:00Z", "2026-04-12T12:00:00Z")

起動時に --gateway-url が必要です。

対応プロジェクト形式

形式

使用方法

プロジェクトディレクトリ (8.1+ または 8.3+)

project.json を含むプロジェクトフォルダを project_path に指定します

プロジェクトエクスポート (.zip)

Ignition Gateway または Designer からエクスポートした .zip ファイルを project_path に指定します

8.3 ファイルシステム

ゲートウェイ上の data/projects/<ProjectName>/ を指定します

会話例

You: What tags are under the Conveyors folder?

Agent calls: get_tags("/projects/MyPlant", "Conveyors")

Agent: The Conveyors folder contains 2 items:
- Line1 (Folder) — 3 child tags: Running (Boolean), Speed (Float4), Faulted (Boolean)
- Line2_Motor (UDT Instance) — type: Motor_UDT

You: What does the Motor_UDT look like?

Agent calls: get_udt("/projects/MyPlant", "Motor_UDT")

Agent: Motor_UDT has 3 members:
- Running (Boolean) — Motor running status
- Faulted (Boolean) — Motor fault status
- Speed_RPM (Float4) — Motor speed in RPM
Parameters: MotorName (String)

You: Show me the Overview view

Agent calls: get_view("/projects/MyPlant", "Overview")

Agent: The Overview view has a flex container with 3 children:
1. titleLabel (ia.display.label) — bound to view.params.title
2. speedDisplay (ia.display.led-display) — bound to tag [default]Conveyors/Line1/Speed
3. startButton (ia.input.button) — has 1 onClick event handler

ゲートウェイ設定

ライブツール(read_tagwrite_tagexecute_scriptget_history)を使用するには、Ignitionゲートウェイに WebDevモジュール が必要で、以下のRESTエンドポイントが設定されている必要があります:

エンドポイント

メソッド

目的

/system/webdev/api/tags/read

POST

タグ値を読み取り

/system/webdev/api/tags/write

POST

タグ値を書き込み

/system/webdev/api/script/run

POST

ゲートウェイスクリプトを実行

/system/webdev/api/history/query

POST

タグ履歴を照会

/api/tags/read 用のWebDev Pythonリソースの例:

def doPost(request, session):
    import json
    body = json.loads(request["data"])
    paths = body.get("tagPaths", [])
    values = system.tag.readBlocking(paths)
    return {
        "json": [
            {"path": str(v.path), "value": v.value, "quality": str(v.quality)}
            for v in values
        ]
    }

完全なセットアップ手順については、Ignition WebDevドキュメント を参照してください。

ロードマップ

v0.2 — アラームと名前付きクエリ ✅

  • list_alarms / get_alarm — アラームパイプライン設定を解析

  • list_named_queries / get_named_query — パラメータ付きSQL名前付きクエリを解析

v0.3 — ライブゲートウェイ連携 ✅

  • read_tag(tag_path) / write_tag(tag_path, value) — Ignition WebDevモジュールを介したライブタグ操作

  • execute_script(code) — ゲートウェイ上でスクリプトを実行

  • get_history(tag_path, start, end) — タグ履歴を照会

v0.4 — クロスプラットフォームインテリジェンス ✅

  • bridge-mcp-server を介してIgnitionタグをStudio 5000 L5X PLCロジックと相互参照

  • 「タグXがtrueになるとこのアラームが発生する — ここにXを駆動するPLCロジックがあります」

  • タグサマリーでのOPCアイテムパス抽出(opcItemPathopcServer

v0.5 — 書き込み安全ゲート ✅

  • write_tag / execute_script はデフォルトで無効 — --enable-writes でオプトイン

  • ツールの説明とCLIヘルプに安全警告を追加

メンテナンス

  • PyPI公開(pip install ignition-mcp-server

  • 新リリースに合わせたIgnitionバージョン形式のサポート

  • 実際のプロジェクトエクスポートからのバグ修正とエッジケース対応 — issue歓迎

このコネクタは、そのスコープにおいて機能完成しています: 単一プロジェクトの理解とゲートウェイ接続。そのスコープを超える開発はNexusで行われます。

このコネクタとNexusの比較

コネクタはアクセスレイヤーです。Nexus は、その上に、そして他のすべてのコネクタの上に、単一のシステムとして位置するインテリジェンスです。

機能

このコネクタ

Nexus

Ignition プロジェクトの解析(タグ、ビュー、スクリプト、UDT、アラーム、クエリ)

ライブゲートウェイ読み取り / 履歴

ライブ書き込み

⚠️ オプトインフラグ、未監査

✅ ゲート付き、監査済み、人間による承認

クロスベンダー: Rockwell, Siemens, CODESYS ファミリー(500+ ブランド)、OPC UA

稼働ラインのライブ故障診断(根本原因、引用付き)

ナレッジレイヤー: あなたのマニュアル、SFS/DOO ドキュメント、故障履歴 — 検索可能、ロジックにリンク

セッションをまたぐ運用の永続メモリ

スクリプト生成、ビュー雛形、コード生成

フリート規模: 自動検出、プラント全体の在庫、監視、アラーム

ローカルLLM / エアギャップ展開

単一ゲートウェイ上の単一プロジェクトを超えた用途でこのコネクタを評価している場合は、Nexus についてご相談ください


開発

git clone https://github.com/nodeblue-ai/ignition-mcp-server.git
cd ignition-mcp-server
pip install -e .
pip install pytest
pytest tests/ -v

プロジェクト構成

src/ignition_mcp_server/
├── __init__.py
├── __main__.py          # CLI entry point (stdio/SSE, gateway config)
├── server.py            # FastMCP server with all 17 tool definitions
├── project_source.py    # Read from .zip or directory (LRU-cached)
├── gateway_client.py    # HTTP client for live Ignition WebDev API
└── parsers/
    ├── tags.py          # Tag hierarchy parser (multi-provider)
    ├── views.py         # Perspective view parser
    ├── scripts.py       # Script discovery and reader
    ├── udts.py          # UDT definition parser
    ├── alarms.py        # Alarm pipeline parser
    └── named_queries.py # Named query parser

tests/
├── test_server.py       # 59 tests — parsers, project sources, error handling
├── test_gateway.py      # 18 tests — live gateway tools + write gating with mock HTTP server
└── fixtures/
    ├── sample-project/  # Synthetic Ignition project (directory)
    └── sample-project.zip

コントリビューション

貢献は歓迎します。これはMITライセンスのオープンソースプロジェクトです。

共有できる実際のIgnitionプロジェクトのエクスポート(または匿名化されたバージョン)があれば、エッジケースのテストに特に価値があります。


ライセンス

MIT


Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    A
    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. 16 tools, 166 actions.
    27
  • 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
    A
    maintenance
    An MCP server that turns AI assistants into competent Festo/CODESYS PLC engineers by grounding them in curated, manufacturer-accurate knowledge and forcing every artifact through a machine-checked validation pipeline for CODESYS import.
    18
    45
    1
    MIT
  • F
    license
    B
    quality
    B
    maintenance
    Universal MCP server for industrial PLC communication, enabling AI agents to read sensors, alarms, status, setpoints, and write setpoints via adapters for Modbus, S7, or custom PLCs.
    6

View all related MCP servers

Related MCP Connectors

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • An MCP server for Arcjet - the runtime security platform that ships with your AI code.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nodeblue-AI/ignition-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server