MCP tekoälyavustajille
HAM MCP (Model Context Protocol) -palvelin yhdistää tekoälyavustajan laitteisiisi. Avustaja näkee laiteluettelon, nykyiset mittaukset ja historian. Jokainen kutsu toimii tililläsi ja oikeuksillasi kuhunkin laitteeseen.
Yhteyden tiedot
Osio nimeltä “Yhteyden tiedot”| Kohde | Arvo |
|---|---|
| Osoite | https://api.hamsystems.eu/mcp/index.php |
| Siirto | HTTP, JSON-RPC 2.0 |
| Protokollan versio | 2024-11-05 |
| Todennus | Otsake Authorization: Bearer-API YOUR_API_KEY |
Luot API-avaimen sivulla Tili. Katso REST API.
Määritä avustaja
Osio nimeltä “Määritä avustaja”-
Luo API-avain.
-
Lisää palvelin avustajasi MCP-määrityksiin. Claude Codessa tiedosto on
.mcp.json:{"mcpServers": {"ham": {"type": "http","url": "https://api.hamsystems.eu/mcp/index.php","headers": {"Authorization": "Bearer-API YOUR_API_KEY"}}}} -
Käynnistä avustaja uudelleen.
-
Kysy esimerkiksi “Näytä laitteeni”. Avustaja kutsuu työkalua
list_devices.
Työkalut
Osio nimeltä “Työkalut”| Työkalu | Parametrit | Tulos |
|---|---|---|
list_devices |
compact (oletus true) |
Laitteesi. Kun compact: true: serialno, name, icon, groups, floorplans ja count. Kun compact: false: kaikki tiedot ja asetukset. |
get_device_state |
serialno (yksi numero tai luettelo) |
Nykyinen tila. Sama muoto kuin get_device_state.php. Katso REST API. |
get_device_history |
serialno, level, bin |
Historian rivit. Samat tasot ja binit kuin sivulla lataa historiatiedot. |
get_definitions |
family_id (valinnainen), include_readings (oletus true) |
Perheiden määritykset: mittaukset, lähdöt, asetukset |
get_docs |
ei mitään | Työkalujen ohjeet |
send_command |
serialno, command |
Lähettää komennon laitteelle tai ryhmälle. Avustaja saa komennot työkalusta get_docs. |
Tavallinen kutsujärjestys: list_devices, sitten get_definitions perheelle, sitten get_device_state tai get_device_history.
Testaa curlilla
Osio nimeltä “Testaa curlilla”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":{}}}'Tulos on kentässä result.content[0].text JSON-tekstinä:
{ "jsonrpc": "2.0", "id": 1, "result": { "content": [ { "type": "text", "text": "{\"devices\":[{\"serialno\":\"e11:123\",\"name\":\"Fridge 1\",\"icon\":\"\",\"groups\":[],\"floorplans\":[]}],\"count\":1}" } ] }}Tuetut metodit: initialize, notifications/initialized, tools/list, tools/call.
Virheet
Osio nimeltä “Virheet”| Koodi | Merkitys |
|---|---|
-32000 |
Todennusvirhe (HTTP 401) tai työkalun virhe |
-32700 |
Runko ei ole kelvollista JSONia |
-32600 |
Virheellinen JSON-RPC-pyyntö |
-32601 |
Tuntematon metodi |
-32602 |
Työkalun nimi puuttuu |
-32603 |
Sisäinen virhe |

