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.
| Punkt | Wert |
|---|---|
| Endpunkt | POST https://<엣지>/api/v1/mcp |
| Übertragung | Streamable HTTP, stateless |
| Servername | plantpulse-edge (die Version wird direkt von der Box gemeldet) |
| Angebot | 6 Werkzeuge — alle nur lesend |
| Authentifizierung | Derselbe 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.
http:// kommt 403 — auch bei korrektem Schlüssel wird abgelehntDa 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.
/api/* mit 500 fehledge.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.
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
| Werkzeug | Funktion | Pflichtparameter |
|---|---|---|
list_opcs | Liste der auf dieser Box konfigurierten OPC-Verbindungen | — |
get_opc | Abruf einer OPC-Verbindung anhand der id | opcId |
list_tags | Tag-Liste einer OPC-Verbindung | opcId |
get_tag_value | Aktueller Wert eines Tags — kein Cache, sondern frisch vom Gerät gelesen | tagId |
get_monitoring | Zustand der Erfassungs-Pipeline dieser Box | — |
get_transfer_status | Status 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.
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