Zum Hauptinhalt springen

MCP-Server (KI-Assistenten-Integration)

Die Edge-Box selbst ist der MCP-Server. KI-Assistenten wie Claude fragen die Box vor Ort direkt — wie viele OPC-Verbindungen es gibt, welchen Wert dieser Tag gerade hat, ob die Erfassung hinterherhinkt.

Die Plattform wird dabei nicht eingebunden. Auch wenn die Verbindung zwischen Box und Plattform unterbrochen ist, antwortet sie, solange die Box selbst erreichbar ist.

PunktWert
EndpunktPOST https://<엣지>/api/v1/mcp
ÜbertragungStreamable HTTP, stateless
Servernameplantpulse-edge (die Version wird direkt von der Box gemeldet)
Angebot6 Werkzeuge — alle nur lesend
AuthentifizierungDerselbe API-Schlüssel wie /api/*. Es gibt keine eigene MCP-Authentifizierung

So verbinden Sie sich​

# Claude Code
claude mcp add --transport http plantpulse-edge "https://<엣지>/api/v1/mcp" \
--header "X-API-Key: <edge.rest.api.key>"
// Claude Desktop — .mcp.json
{
"mcpServers": {
"plantpulse-edge": {
"type": "http",
"url": "https://<엣지>/api/v1/mcp",
"headers": { "X-API-Key": "<edge.rest.api.key>" }
}
}
}

Statt X-API-Key geht auch Authorization: Bearer <key>. Der Schlüssel ist derselbe Wert wie bei der REST API (edge.rest.api.key) — siehe REST API.

🔴 Bei Verbindung über http:// kommt 403 — auch bei korrektem Schlüssel wird abgelehnt

Da der Standardwert von edge.rest.api.https_only true ist, müssen externe Client-Aufrufe (X-API-Key · Bearer) über HTTPS erfolgen. Kommt die Anfrage im Klartext, wird sie mit 403 HTTPS_REQUIRED abgebrochen, noch bevor der Schlüssel geprüft wird.

Hinter einem Reverse-Proxy wird auch X-Forwarded-Proto: https akzeptiert. Wenn die Verbindung abgelehnt wird, prüfen Sie zuerst das Schema, nicht zuerst den Schlüssel — wenn es 403 statt 401 ist, liegt genau dieser Fall vor.

Ist der Schlüssel leer, schlägt der gesamte /api/* mit 500 fehl

edge.rest.api.auth ist standardmäßig true (fail-closed), und wenn dabei edge.rest.api.key leer ist, blockiert die Box alle /api/*-Anfragen mit 500 MISCONFIGURED. Es gilt nicht „ohne Konfiguration erlaubt“, sondern „ohne Konfiguration blockiert“ — eine bewusste Verhaltensweise, damit eine Box mit verlorener Konfigurationsdatei nicht ungeschützt offen steht.

Bei bereits im Browser eingeloggter Konsole ist kein Schlüssel nötig

Der /api/*, den die /ui/*-Oberfläche derselben Domain aufruft, wird durchgelassen, da bereits eine angemeldete Sitzung besteht. Der API-Schlüssel schützt externe Aufrufe (REST-Client · Node-RED · MCP).

6 Werkzeuge — alle nur lesend​

WerkzeugFunktionPflichtparameter
list_opcsListe der auf dieser Box konfigurierten OPC-Verbindungen—
get_opcAbruf einer OPC-Verbindung anhand der idopcId
list_tagsTag-Liste einer OPC-VerbindungopcId
get_tag_valueAktueller Wert eines Tags — kein Cache, sondern frisch vom Gerät gelesentagId
get_monitoringZustand der Erfassungs-Pipeline dieser Box—
get_transfer_statusStatus der Store-and-Forward-Übertragung zur Plattform—

Die Werkzeuge sind kein neuer Code. Sie rufen genau denselben Dienst auf (ConnectService · MonitoringQueryService), den auch der KI-Chat verwendet — um zu vermeiden, dass zwei Pfade dieselbe Frage unterschiedlich beantworten.

🔴 Werkzeuge, die eine SPS steuern, fehlen absichtlich​

Der Werkzeugsatz der Edge enthält auch start_opc · stop_opc · write_tag. Diese sind für MCP nicht freigegeben.

Im Chat-Pfad durchlaufen diese drei einen manuellen Freigabebildschirm (/ui/ai/approve). MCP-Clients durchlaufen diesen Bildschirm nicht. Und write_tag schreibt auf die SPS — es bewegt sich etwas Physisches. Ein Pfad ohne Freigabe darf dort nicht ankommen.

Sollte später ein Schreibwerkzeug wirklich benötigt werden, wird zuerst die Freigabe in MCP integriert und erst danach geöffnet. Werkzeuge zuerst hinzuzufügen wäre der einfachste Weg, die Sicherung zu umgehen. Das Produkt enthält Regressionstests, die genau das verhindern.

Warum stateless​

Weil es zur Vor-Ort-Box passt. Übertragungen mit Sitzungen erfordern, dass der Server Zustand pro Sitzung hält — aber Vor-Ort-Leitungen sind ständig unterbrochen und wieder verbunden, und jedes Mal müsste der Client wiedererkannt und die Sitzung fortgesetzt werden. Bei einem Neustart der Box verschwinden alle Sitzungen auf einmal.

Stateless betrachtet jede Anfrage einzeln — es gibt nichts fortzusetzen und nichts zu verlieren, und auf einem Gerät mit 2 GB Heap wächst keine Sitzungstabelle.

Prüfen, ob die Verbindung korrekt ist​

Prüfen Sie, ob tools/list alle 6 Werkzeuge zurückgibt.

Die Werkzeugliste kann «leer» sein, obwohl der Server gesund wirkt

Selbst wenn der Werkzeug-Scan nichts findet, startet der MCP-Server normal — er meldet lediglich ein leeres tools/list. Der Client kann das nicht unterscheiden von „diese Edge hat keine Werkzeuge“. Eine unterbrochene Verkabelung liest sich dann wie ein Produktmerkmal.

Deshalb protokolliert die Box diesen Zustand deutlich als ERROR. Ist die Liste leer, suchen Sie im Edge-Log nach MCP tool scan produced NO tools.

Siehe auch​

REST API (v1) · Plattform-MCP-Server — auf Plattformseite gibt es 22 Werkzeuge, einschließlich Assets, Alarmen und Ontologie