Für einige Clients (z. B. mobile oder den Sprachclient, den du oben gezeigt hast) glaube ich, dass eine über das Internet zugängliche Version notwendig ist.
Danke für die Information, ich werde versuchen, das auch zu implementieren. Es wäre wirklich cool, lokal darauf zugreifen zu können, besonders für diejenigen, die mit Gladys anfangen.
Wow! Pierre-Gilles, du bist so schnell, danke! Ich werde es auch integrieren.
Ich habe gerade die lokale Authentifizierung hochgeschoben, das Bild wird gerade gebaut. Um auf das MCP zuzugreifen, müssen Sie jetzt einen API-Schlüssel über die Integrationsschnittstelle generieren und Ihren MCP-Client so konfigurieren, dass er einen Header Authorization mit dem generierten Schlüssel sendet.
Zum Beispiel, um es über Github Copilot in VS Code zu verwenden, hier ist die Konfiguration
Anschließend geben Sie diese URL in Ihren MCP-Client ein: https://api.gladysgateway.com/v1/api/mcp/<OPEN_API_KEY>, wobei Sie <OPEN_API_KEY> durch den gerade generierten Schlüssel ersetzen.
Zum Beispiel in Le Chat de Mistral, gehen Sie zu Intelligence → Connecteurs
Tatsächlich passiert das vielleicht nicht sofort. Es gibt zwei Dinge zu beachten. Erstens: Auf Gladys-Seite wird das Schema beim Start des Dienstes generiert. Wir könnten einen „Neustart“-Button hinzufügen, wie wir es für HomeKit gemacht haben, um das Schema erneut zu generieren, falls der Benutzer gerade ein neues Gerät hinzugefügt hat. Für die Client-Seite hängt das von der Implementierung ab. Normalerweise habe ich festgestellt, dass der Client das Schema beim Start überprüft und wenn du die Konfiguration des MCP in deinem Client änderst und speicherst.
Normalerweise denke ich, dass ich alle Sensortypen eingebunden habe, aber vielleicht fehlen noch einige.
Ich werde das präzisieren. Es sind alle Sensoren plus die steuerbaren Geräte, die kompatibel sind (heute Lampen, Schalter).
Könntest du mir bitte die Kategorie und den Feature-Typ nennen, der mit dieser Funktion verbunden ist? Ich werde das überprüfen.
Seit kurzem lerne ich auf YouTube, wie man mit N8N einen KI-Agenten erstellt. Wenn ich den MCP richtig verstanden habe, würde mir dieser Server ermöglichen, Gladys mit meinem KI-Agenten zu verbinden und mit ihm zu sprechen, um Szenen zu starten, Sensorinformationen abzurufen und meine Steckdosen und Lichter zu steuern, ohne Google Home oder Alexa zu nutzen, die sehr eingeschränkt sind?
Ich habe die geforderten Änderungen eingereicht. Zur Info habe ich auch ein kleines Update durchgeführt, um das vom Benutzer angeforderte Gerät zu finden. Falls der exakte Name nicht existiert, wird eine Überprüfung ähnlicher Namen mit dem Levenshtein-Abstand durchgeführt. In den meisten Fällen sollte dies nicht notwendig sein, da das gesamte Schema auf Aufzählungen basiert, aber einige MCP-Kunden scheinen diese nicht zu berücksichtigen. Nach einem kleinen Test mit 11ai, den du oben erwähnt hast, scheint er die Aufzählungen nicht korrekt zu verarbeiten, und diese kleinen Änderungen, obwohl nicht perfekt, sollten ein wenig helfen (eine Verbesserung auf Seiten von 11ai wäre viel effektiver).
@bertrandda ich habe deinen PR überprüft, ich habe nur einen kleinen Hinweis zu einer Codezeile, die, glaube ich, aus der alten Implementierung stammt:
Ansonsten ist es sehr gut, ich habe das Update des Namens eines Geräts getestet und es funktioniert super gut Bravo!
Ich habe gerade mein Gladys aktualisiert, und der Dienst startet in meiner Produktionsumgebung mit einem Fehler. Offensichtlich liegt das an einem Gerät, das keine Raumzuordnung hat (vermute ich).
compose-gladys-1 | 2025-11-03T16:18:35+0100 <info> index.js:27 (Object.start) MCP-Dienst wird gestartet
compose-gladys-1 | 2025-11-03T16:18:35+0100 <warn> service.start.js:44 (Service.start) Dienst mcp kann nicht gestartet werden TypeError: Eigenschaft 'selector' von null kann nicht gelesen werden
compose-gladys-1 | at /src/server/services/mcp/lib/buildSchemas.js:41:28
compose-gladys-1 | at Array.forEach (<anonymous>)
compose-gladys-1 | at MCPHandler.getAllResources (/src/server/services/mcp/lib/buildSchemas.js:28:17)
compose-gladys-1 | at MCPHandler.createServer (/src/server/services/mcp/lib/createServer.js:26:4)
compose-gladys-1 | at Object.start (/src/server/services/mcp/index.js:29:5)
compose-gladys-1 | at Service.start (/src/server/lib/service/service.start.js:33:7)
compose-gladys-1 | at start (/src/server/api/controllers/service.controller.js:22:21)
Ich kann das betreffende Gerät nicht finden, ich werde mal in der Datenbank nachschauen
Edit:
Es ist das Gerät, das mit dem Enedis-Dienst verbunden ist, das Probleme macht. Ich werde es vorerst löschen, ich nutze es nicht
2025-11-03T15:04:03+0100 <warn> service.start.js:44 (Service.start) Unable to start service mcp TypeError: Cannot read properties of null (reading 'selector')
at /src/server/services/mcp/lib/buildSchemas.js:41:28
at Array.forEach (<anonymous>)
at MCPHandler.getAllResources (/src/server/services/mcp/lib/buildSchemas.js:28:17)
at MCPHandler.createServer (/src/server/services/mcp/lib/createServer.js:26:4)
at Object.start (/src/server/services/mcp/index.js:29:5)
at Service.start (/src/server/lib/service/service.start.js:33:7)