Pereiti prie turinio

MCP AI asistentams

HAM MCP (Model Context Protocol) serveris prijungia AI asistentą prie Jūsų įrenginių. Asistentas gali matyti įrenginių sąrašą, dabartinius rodmenis ir istoriją. Kiekvienas iškvietimas vykdomas su Jūsų paskyra ir Jūsų teisėmis kiekvienam įrenginiui.

Elementas Reikšmė
Adresas https://api.hamsystems.eu/mcp/index.php
Transportas HTTP, JSON-RPC 2.0
Protokolo versija 2024-11-05
Autentifikavimas Antraštė Authorization: Bearer-API YOUR_API_KEY

API raktą sukuriate puslapyje Paskyra. Žr. REST API.

  1. Sukurkite API raktą.

  2. Pridėkite serverį į savo asistento MCP konfigūraciją. Claude Code atveju failas yra .mcp.json:

    {
    "mcpServers": {
    "ham": {
    "type": "http",
    "url": "https://api.hamsystems.eu/mcp/index.php",
    "headers": {
    "Authorization": "Bearer-API YOUR_API_KEY"
    }
    }
    }
    }
  3. Paleiskite asistentą iš naujo.

  4. Paklauskite, pavyzdžiui, „Parodyk mano įrenginius“. Asistentas iškviečia įrankį list_devices.

Įrankis Parametrai Rezultatas
list_devices compact (numatytasis true) Jūsų įrenginiai. Su compact: true: serialno, name, icon, groups, floorplans ir count. Su compact: false: visi duomenys su nustatymais.
get_device_state serialno (vienas numeris arba sąrašas) Dabartinė būsena. Tas pats formatas kaip get_device_state.php. Žr. REST API.
get_device_history serialno, level, bin Istorijos eilutės. Tie patys lygiai ir bin kaip puslapyje Istorinių duomenų atsisiuntimas.
get_definitions family_id (neprivaloma), include_readings (numatytasis true) Šeimų apibrėžtys: rodmenys, išvestys, nustatymai
get_docs nėra Įrankių nurodymai
send_command serialno, command Siunčia komandą įrenginiui arba grupei. Asistentas gauna komandas iš get_docs.

Įprasta iškvietimų tvarka: list_devices, tada get_definitions šeimai, tada get_device_state arba 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":{}}}'

Rezultatas yra result.content[0].text kaip JSON tekstas:

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

Palaikomi metodai: initialize, notifications/initialized, tools/list, tools/call.

Kodas Reikšmė
-32000 Autentifikavimo klaida (HTTP 401) arba įrankio klaida
-32700 Turinys nėra galiojantis JSON
-32600 Negaliojanti JSON-RPC užklausa
-32601 Nežinomas metodas
-32602 Trūksta įrankio pavadinimo
-32603 Vidinė klaida
Pokalbis su pagalba