Μετάβαση στο περιεχόμενο

MCP για AI assistants

Ο διακομιστής MCP (Model Context Protocol) της HAM συνδέει έναν AI assistant με τις συσκευές σας. Ο assistant μπορεί να δει τη λίστα συσκευών, τις τρέχουσες μετρήσεις και το ιστορικό. Κάθε κλήση γίνεται με τον λογαριασμό σας και τα δικαιώματά σας σε κάθε συσκευή.

Στοιχείο Τιμή
Διεύθυνση https://api.hamsystems.eu/mcp/index.php
Μεταφορά HTTP, JSON-RPC 2.0
Έκδοση πρωτοκόλλου 2024-11-05
Έλεγχος ταυτότητας Κεφαλίδα Authorization: Bearer-API YOUR_API_KEY

Το κλειδί API το δημιουργείτε στη σελίδα Λογαριασμός. Δείτε το REST API.

  1. Δημιουργήστε ένα κλειδί API.

  2. Προσθέστε τον διακομιστή στη ρύθμιση MCP του assistant σας. Για το Claude Code, το αρχείο είναι το .mcp.json:

    {
    "mcpServers": {
    "ham": {
    "type": "http",
    "url": "https://api.hamsystems.eu/mcp/index.php",
    "headers": {
    "Authorization": "Bearer-API YOUR_API_KEY"
    }
    }
    }
    }
  3. Επανεκκινήστε τον assistant.

  4. Ζητήστε π.χ. «Δείξε μου τις συσκευές μου». Ο assistant καλεί το εργαλείο list_devices.

Εργαλείο Παράμετροι Αποτέλεσμα
list_devices compact (προεπιλογή true) Οι συσκευές σας. Με compact: true: serialno, name, icon, groups, floorplans και count. Με compact: false: όλα τα στοιχεία, μαζί με τις ρυθμίσεις.
get_device_state serialno (ένας αριθμός ή λίστα) Η τρέχουσα κατάσταση. Ίδια μορφή με το get_device_state.php. Δείτε το REST API.
get_device_history serialno, level, bin Οι γραμμές ιστορικού. Ίδια επίπεδα και bin με τη λήψη ιστορικών δεδομένων.
get_definitions family_id (προαιρετικό), include_readings (προεπιλογή true) Οι ορισμοί των οικογενειών: μετρήσεις, έξοδοι, ρυθμίσεις
get_docs καμία Οδηγίες για τα εργαλεία
send_command serialno, command Στέλνει μια εντολή σε συσκευή ή ομάδα. Ο assistant παίρνει τις εντολές από το get_docs.

Μια τυπική σειρά κλήσεων: list_devices, μετά get_definitions για την οικογένεια, μετά get_device_state ή get_device_history.

Terminal window
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":{}}}'

Το αποτέλεσμα είναι στο result.content[0].text, ως κείμενο JSON:

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{ "type": "text", "text": "{\"devices\":[{\"serialno\":\"e11:123\",\"name\":\"Ψυγείο 1\",\"icon\":\"\",\"groups\":[],\"floorplans\":[]}],\"count\":1}" }
]
}
}

Υποστηριζόμενες μέθοδοι: initialize, notifications/initialized, tools/list, tools/call.

Κωδικός Σημασία
-32000 Σφάλμα ελέγχου ταυτότητας (HTTP 401) ή σφάλμα εργαλείου
-32700 Το σώμα δεν είναι σωστό JSON
-32600 Μη έγκυρο αίτημα JSON-RPC
-32601 Άγνωστη μέθοδος
-32602 Λείπει το όνομα του εργαλείου
-32603 Εσωτερικό σφάλμα
Chat με την υποστήριξη