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.
Verbindungsdaten
Abschnitt betitelt „Verbindungsdaten“| 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.
Den Assistenten einrichten
Abschnitt betitelt „Den Assistenten einrichten“-
Erstellen Sie einen API-Schlüssel.
-
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"}}}} -
Starten Sie den Assistenten neu.
-
Fragen Sie zum Beispiel “Zeige mir meine Geräte”. Der Assistent ruft das Werkzeug
list_devicesauf.
Werkzeuge
Abschnitt betitelt „Werkzeuge“| 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.
Mit curl testen
Abschnitt betitelt „Mit curl testen“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 |

