Siirry sisältöön

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.

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.

  1. Luo API-avain.

  2. 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"
    }
    }
    }
    }
  3. Käynnistä avustaja uudelleen.

  4. Kysy esimerkiksi “Näytä laitteeni”. Avustaja kutsuu työkalua list_devices.

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.

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

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.

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
Chat tuen kanssa