Zum Inhalt springen

MCP für KI-Assistenten

Der HAM MCP-Server (Model Context Protocol) verbindet einen KI-Assistenten mit Ihren Geräten. Der Assistent kann die Geräteliste, die aktuellen Messwerte und den Verlauf sehen. Jeder Aufruf läuft mit Ihrem Konto und Ihren Berechtigungen für jedes Gerät.

Element Wert
Adresse https://api.hamsystems.eu/mcp/index.php
Transport HTTP, JSON-RPC 2.0
Protokollversion 2024-11-05
Authentifizierung Header Authorization: Bearer-API YOUR_API_KEY

Den API-Schlüssel erstellen Sie auf der Seite Konto. Siehe die REST-API.

  1. Erstellen Sie einen API-Schlüssel.

  2. Fügen Sie den Server zur MCP-Konfiguration Ihres Assistenten hinzu. Für Claude Code ist die Datei .mcp.json:

    {
    "mcpServers": {
    "ham": {
    "type": "http",
    "url": "https://api.hamsystems.eu/mcp/index.php",
    "headers": {
    "Authorization": "Bearer-API YOUR_API_KEY"
    }
    }
    }
    }
  3. Starten Sie den Assistenten neu.

  4. Fragen Sie zum Beispiel “Zeige mir meine Geräte”. Der Assistent ruft das Werkzeug list_devices auf.

Werkzeug Parameter Ergebnis
list_devices compact (Standard true) Ihre Geräte. Mit compact: true: serialno, name, icon, groups, floorplans und count. Mit compact: false: alle Details, mit den Einstellungen.
get_device_state serialno (eine Nummer oder eine Liste) Der aktuelle Zustand. Dasselbe Format wie get_device_state.php. Siehe die REST-API.
get_device_history serialno, level, bin Die Zeilen des Verlaufs. Dieselben Ebenen und Bins wie bei Historische Daten herunterladen.
get_definitions family_id (optional), include_readings (Standard true) Die Familiendefinitionen: Messwerte, Ausgänge, Einstellungen
get_docs keine Anweisungen für die Werkzeuge
send_command serialno, command Sendet einen Befehl an ein Gerät oder eine Gruppe. Der Assistent erhält die Befehle von get_docs.

Eine typische Reihenfolge der Aufrufe: list_devices, dann get_definitions für die Familie, dann get_device_state oder get_device_history.

Terminal-Fenster
curl -X POST https://api.hamsystems.eu/mcp/index.php \
-H "Authorization: Bearer-API YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_devices","arguments":{}}}'

Das Ergebnis steht in result.content[0].text, als JSON-Text:

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{ "type": "text", "text": "{\"devices\":[{\"serialno\":\"e11:123\",\"name\":\"Fridge 1\",\"icon\":\"\",\"groups\":[],\"floorplans\":[]}],\"count\":1}" }
]
}
}

Unterstützte Methoden: initialize, notifications/initialized, tools/list, tools/call.

Code Bedeutung
-32000 Authentifizierungsfehler (HTTP 401) oder Werkzeugfehler
-32700 Der Body ist kein gültiges JSON
-32600 Ungültige JSON-RPC-Anfrage
-32601 Unbekannte Methode
-32602 Der Werkzeugname fehlt
-32603 Interner Fehler
Chat mit dem Support