Skip to main content
Glama
Nodeblue-AI

ignition-mcp-server

by Nodeblue-AI

ignition-mcp-server

Das erste KI-gestützte Entwicklungstool für Ignition SCADA – ein MCP-Server, der jedem KI-Agenten ermöglicht, Ihre Ignition-Projekte und Gateways zu lesen, zu verstehen und mit ihnen zu interagieren.

License: MIT Python 3.10+ MCP

[!NOTE] Dieser Connector ist frühe Community-Software von Nodeblue. Das vollständige System ist Nexus, unsere industrielle Intelligenzplattform – diese Repos sind nur ihre Konnektor-Ebenen.

Nexus liest und analysiert Ihren gesamten Betrieb: SPS-Logik, SCADA-Systeme, Live-Controller-Daten, Dokumentation, Störhistorie und MES/ERP-Aufzeichnungen. Es funktioniert herstellerübergreifend – Rockwell, Siemens, Ignition, die CODESYS-Familie und 500+ weitere Marken über PLCopen. Es diagnostiziert Störungen an der laufenden Linie, behält eine dauerhafte Erinnerung an den Betrieb und antwortet in einfachem Englisch, mit Quellenangabe.

Die Nodeblue-Open-Source-Konnektoren

Konnektor

Funktion

studio5000-mcp-server

Rockwell/Allen-Bradley Studio 5000 – L5X-Exporte parsen: Tags, UDTs, Routinen, AOIs, Querverweise

ignition-mcp-server (dieses Repo)

Ignition SCADA – Views, Skripte, Tags, UDTs, Alarme, Live-Gateway-Lesen/Schreiben

bridge-mcp-server

Korreliert Ignition-SCADA-Tags mit Studio-5000-SPS-Logik über den gesamten Prozess


Was dieses Tool tut

ignition-mcp-server verbindet KI-Agenten (Claude, GPT, lokale LLMs) über das Model Context Protocol mit Ihren Ignition-SCADA-Projekten. Es gibt der KI strukturierten Zugriff auf:

  • Tags – Tag-Hierarchien durchsuchen, nach Ordnerpfad filtern, Datentypen und Werte anzeigen

  • Perspective Views – Komponentenbäume, Bindungen, Ereignisbehandlungen (Event Handler) und Stile lesen

  • Skripte – Projektbibliotheksskripte und Gateway-Ereignisskripte mit Gültigkeitsbereich (Scope) lesen

  • UDTs – Definitionen benutzerdefinierter Typen (User Defined Types) mit Mitgliederdetails auflisten und untersuchen

  • Alarm-Pipelines – Alarmbenachrichtigungskonfigurationen mit Stufen, Profilen und Übergängen lesen

  • Benannte Abfragen – SQL-Abfragedefinitionen mit Parametern, Datenbankzielen und Typen lesen

  • Live-Tag-Lesen/Schreiben – Tag-Werte auf einem laufenden Ignition-Gateway über WebDev lesen; Schreiben ist optional (--enable-writes)

  • Skriptausführung – Python-Skripte im Gateway-Bereich (Gateway Scope) auf dem Gateway ausführen (optional, --enable-writes)

  • Tag-Verlauf – historische Tag-Daten mit Zeitbereichsfilter abfragen

Funktioniert sowohl mit Ignition-8.1+-Projektexporten (.zip-Dateien) als auch mit dateisystembasierten Projekten ab 8.3+ (direkter Zugriff auf Verzeichnisse).

Related MCP server: ignition-mcp

Warum es dieses Tool gibt

Ignition hat rund 300.000+ Installationen weltweit und null KI-Tools – kein Hersteller-Copilot, keine Drittanbieter-Tools, keine akademische Forschung. Jede andere große Automatisierungsplattform (Siemens, Rockwell, Schneider) hat KI-Assistenten. Ignition hat nichts.

Dieser Server schließt diese Lücke. Er ist Open Source, agentenunabhängig und arbeitet offline.

Entwickelt und gepflegt von Nodeblue. Diese Konnektoren sind frühe Community-Software aus unserer Arbeit an Nexus, wo diese Fähigkeit in Produktionsqualität ausgeliefert wird – zusammen mit herstellerübergreifender Korrelation, Live-Störungsdiagnose und einer dauerhaften Erinnerung an den Betrieb.


Installation

pip install ignition-mcp-server

Erfordert Python 3.10+.

Um stattdessen aus dem Quellcode zu installieren:

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

Schnellstart

stdio (lokal – kiro-cli, Claude Desktop, Claude Code)

ignition-mcp-server

SSE (remote – Server auf einem Rechner, Agent auf einem anderen)

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

Mit Live-Gateway-Verbindung

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

Dies aktiviert die schreibgeschützten Live-Tools: read_tag und get_history. Erfordert das WebDev-Modul auf dem Gateway mit konfigurierten API-Endpunkten (siehe Gateway-Einrichtung unten).

[!WARNING] Live-Schreibzugriffe sind standardmäßig deaktiviert. write_tag und execute_script können Werte auf einem laufenden SCADA-System ändern und echte Anlagen betätigen. Um sie zu aktivieren, müssen Sie ausdrücklich mit --enable-writes zustimmen:

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

Verwenden Sie dies nur gegen Nicht-Produktions-Gateways oder wenn Sie vollständig verstehen, was der verbundene KI-Agent berühren darf. Gesteuerte, protokollierte und von Menschen genehmigte Live-Schreibzugriffe sind Teil von Nexus.


Konfiguration

kiro-cli

Fügen Sie Folgendes zu Ihrer ~/.kiro/settings.json hinzu:

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

Mit Live-Gateway-Zugriff:

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

Claude Desktop

Fügen Sie Folgendes zu Ihrer Claude-Desktop-MCP-Konfiguration hinzu:

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

SSE (remote)

Starten Sie den Server auf Ihrer Engineering-Workstation:

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

Verbinden Sie sich von jedem MCP-Client aus über die SSE-URL: http://<host>:8080/sse


Verfügbare Tools

ping

Health-Check. Gibt "pong" zurück.

get_tags(project_path, tag_path?, provider?)

Tags im Projekt durchsuchen. Optional nach Ordnerpfad und Tag-Provider filtern.

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

Gibt Tag-Namen, Typen, Datentypen, Werte und Dokumentation zurück.

list_tag_providers(project_path)

Alle Tag-Provider-Namen im Projekt auflisten (z. B. default, edge, MQTT).

list_views(project_path)

Alle Perspective-View-Pfade im Projekt auflisten.

get_view(project_path, view_path)

Den Komponentenbaum einer Perspective-View mit Bindungen und Ereignissen abrufen.

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

Gibt Komponentenhierarchie, Eigenschaftsbindungen und Event-Handler-Anzahl zurück.

list_scripts(project_path)

Alle Skripte mit ihrem Gültigkeitsbereich (Gateway, Client, alle) auflisten.

get_script(project_path, script_path)

Den Quellcode eines Projektskripts abrufen.

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

list_udts(project_path)

Alle Namen der UDT-Definitionen (User Defined Type) auflisten.

get_udt(project_path, udt_name?)

UDT-Definition(en) mit Mitgliederdetails, Parametern und Dokumentation abrufen.

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

list_alarms(project_path)

Alle Alarm-Pipeline-Namen im Projekt auflisten.

get_alarm(project_path, pipeline_name)

Die Konfiguration einer Alarm-Pipeline einschließlich Stufen, Benachrichtigungsprofilen und Übergängen abrufen.

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

Gibt Pipeline-Stufen mit Typ (Verzögerung, Benachrichtigung), Namen der Benachrichtigungsprofile, Kontaktinformationen, Konsolidierungszeiträume und Übergangszahlen zurück.

list_named_queries(project_path)

Alle Namen der benannten Abfragen (Named Queries) im Projekt auflisten.

get_named_query(project_path, query_name)

SQL, Parameter, Datenbankverbindung und Typ (Query vs. Update) einer benannten Abfrage abrufen.

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

Gibt den SQL-Text, Parameterdefinitionen mit Datentypen und Standardwerten, Zieldatenbank und Beschreibung zurück.

read_tag(tag_path)

Den aktuellen Wert eines oder mehrerer Tags von einem Live-Gateway lesen. Für mehrere Tags durch Komma trennen.

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

Erfordert --gateway-url beim Start.

write_tag(tag_path, value)

Schreibt einen Wert auf ein Tag auf einem Live-Gateway. Übernimmt die boolesche/numerische Umwandlung automatisch.

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

Standardmäßig deaktiviert. Erfordert --gateway-url und --enable-writes beim Start.

execute_script(code)

Ein Python-Skript auf dem Ignition-Gateway im Gateway-Bereich ausführen.

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

Standardmäßig deaktiviert. Erfordert --gateway-url und --enable-writes beim Start.

get_history(tag_path, start, end)

Historische Tag-Daten vom Historian des Gateways abfragen.

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

Erfordert --gateway-url beim Start.


Unterstützte Projektformate

Format

Verwendung

Projektverzeichnis (8.1+ oder 8.3+)

Zeigen Sie project_path auf den Projektordner, der project.json enthält

Projektexport (.zip)

Zeigen Sie project_path auf die aus Ignition Gateway oder Designer exportierte .zip-Datei

8.3-Dateisystem

Zeigen Sie auf data/projects/<ProjectName>/ auf dem Gateway


Beispielkonversation

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

Gateway-Einrichtung

Die Live-Tools (read_tag, write_tag, execute_script, get_history) erfordern das WebDev-Modul auf Ihrem Ignition-Gateway mit den folgenden REST-Endpunkten:

Endpunkt

Methode

Zweck

/system/webdev/api/tags/read

POST

Tag-Werte lesen

/system/webdev/api/tags/write

POST

Tag-Werte schreiben

/system/webdev/api/script/run

POST

Gateway-Skripte ausführen

/system/webdev/api/history/query

POST

Tag-Verlauf abfragen

Beispiel einer WebDev-Python-Ressource für /api/tags/read:

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
        ]
    }

Vollständige Einrichtungsanweisungen finden Sie in der Ignition-WebDev-Dokumentation.


Roadmap

v0.2 – Alarme & benannte Abfragen ✅

  • list_alarms / get_alarm – Alarm-Pipeline-Konfigurationen parsen

  • list_named_queries / get_named_query – SQL-Named-Queries mit Parametern parsen

v0.3 – Live-Gateway-Interaktion ✅

  • read_tag(tag_path) / write_tag(tag_path, value) – Live-Tag-Interaktion über das Ignition-WebDev-Modul

  • execute_script(code) – Skripte auf dem Gateway ausführen

  • get_history(tag_path, start, end) – Tag-Verlauf abfragen

v0.4 – Plattformübergreifende Intelligenz ✅

  • Ignition-Tags mit Studio-5000-L5X-SPS-Logik per bridge-mcp-server verknüpfen

  • "Dieser Alarm wird ausgelöst, wenn Tag X auf true geht – hier ist die SPS-Logik, die X antreibt"

  • OPC-Item-Pfad-Extraktion (opcItemPath, opcServer) in Tag-Zusammenfassungen

v0.5 – Schreibschutz-Gate ✅

  • write_tag / execute_script standardmäßig deaktiviert – Opt-in mit --enable-writes

  • Sicherheitswarnungen in Tool-Beschreibungen und CLI-Hilfe

Wartung

  • PyPI-Veröffentlichung (pip install ignition-mcp-server)

  • Unterstützung neuer Ignition-Versionsformate, sobald Releases erscheinen

  • Fehlerbehebungen und Randfälle aus echten Projektexporten – Issues willkommen

Dieser Connector ist für seinen Zweck funktionsvollständig: Verständnis einzelner Projekte plus Gateway-Konnektivität. Die Entwicklung über diesen Zweck hinaus findet in Nexus statt.


Dieser Connector vs. Nexus

Der Connector ist die Zugriffsebene. Nexus ist die Intelligenz, die darauf sitzt – und auf jedem anderen Connector – als ein System.

Funktion

Dieser Konnektor

Nexus

Ignition-Projekte parsen (Tags, Ansichten, Skripte, UDTs, Alarme, Abfragen)

Live-Gateway-Lesen / Historie

Live-Schreibvorgänge

⚠️ Opt-in-Flag, ungeprüft

✅ abgesichert, auditiert, von Menschen genehmigt

Herstellerübergreifend: Rockwell, Siemens, CODESYS-Familie (500+ Marken), OPC UA

Live-Fehlerdiagnose an der laufenden Linie (Ursachenanalyse, mit Quellenangabe)

Wissensebene: Ihre Handbücher, SFS/DOO-Dokumente, Fehlerhistorie — durchsuchbar, mit Logik verknüpft

Dauerhaftes Gedächtnis des Betriebs über Sitzungen hinweg

Skriptgenerierung, View-Scaffolding, Codegenerierung

Flottenmaßstab: automatische Erkennung, Gesamtanlageninventar, Überwachung, Alarmierung

Lokales LLM / Air-Gapped-Bereitstellung

Wenn Sie diesen Konnektor für mehr als ein einzelnes Projekt auf einem einzelnen Gateway evaluieren, sprechen Sie mit uns über Nexus.


Entwicklung

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

Projektstruktur

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

Mitwirken

Beiträge sind willkommen. Dies ist ein Open-Source-Projekt unter der MIT-Lizenz.

Wenn Sie echte Ignition-Projektexporte teilen können (oder anonymisierte Versionen), sind diese besonders wertvoll, um Grenzfälle zu testen.


Lizenz

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