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

MCP za AI asistente

HAM MCP (Model Context Protocol) poslužitelj povezuje AI asistenta s vašim uređajima. Asistent može vidjeti popis uređaja, trenutačna mjerenja i povijest. Svaki poziv radi s vašim računom i vašim dopuštenjima na svakom uređaju.

Stavka Vrijednost
Adresa https://api.hamsystems.eu/mcp/index.php
Transport HTTP, JSON-RPC 2.0
Verzija protokola 2024-11-05
Autentikacija Zaglavlje Authorization: Bearer-API YOUR_API_KEY

API ključ izrađujete na stranici Račun. Pogledajte REST API.

  1. Izradite API ključ.

  2. Dodajte poslužitelj u MCP konfiguraciju svog asistenta. Za Claude Code datoteka je .mcp.json:

    {
    "mcpServers": {
    "ham": {
    "type": "http",
    "url": "https://api.hamsystems.eu/mcp/index.php",
    "headers": {
    "Authorization": "Bearer-API YOUR_API_KEY"
    }
    }
    }
    }
  3. Ponovno pokrenite asistenta.

  4. Pitajte, na primjer, “Prikaži mi moje uređaje”. Asistent poziva alat list_devices.

Alat Parametri Rezultat
list_devices compact (zadano true) Vaši uređaji. S compact: true: serialno, name, icon, groups, floorplans i count. S compact: false: svi detalji, s postavkama.
get_device_state serialno (jedan broj ili popis) Trenutačno stanje. Isti format kao get_device_state.php. Pogledajte REST API.
get_device_history serialno, level, bin Retci povijesti. Iste razine i binovi kao u preuzimanju povijesnih podataka.
get_definitions family_id (neobavezno), include_readings (zadano true) Definicije obitelji: mjerenja, izlazi, postavke
get_docs nema Upute za alate
send_command serialno, command Šalje naredbu uređaju ili grupi. Asistent dobiva naredbe iz get_docs.

Tipičan redoslijed poziva: list_devices, zatim get_definitions za obitelj, zatim get_device_state ili 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":{}}}'

Rezultat je u result.content[0].text, kao JSON tekst:

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

Podržane metode: initialize, notifications/initialized, tools/list, tools/call.

Kôd Značenje
-32000 Greška autentikacije (HTTP 401) ili greška alata
-32700 Tijelo nije valjan JSON
-32600 Nevaljan JSON-RPC zahtjev
-32601 Nepoznata metoda
-32602 Nedostaje naziv alata
-32603 Interna greška
Chat s podrškom