Preskočiť na obsah

MCP pre AI asistentov

Server HAM MCP (Model Context Protocol) pripojí AI asistenta k vašim zariadeniam. Asistent vidí zoznam zariadení, aktuálne merania a históriu. Každé volanie beží s vaším účtom a s vašimi oprávneniami ku každému zariadeniu.

Položka Hodnota
Adresa https://api.hamsystems.eu/mcp/index.php
Prenos HTTP, JSON-RPC 2.0
Verzia protokolu 2024-11-05
Overenie Hlavička Authorization: Bearer-API YOUR_API_KEY

API kľúč vytvoríte na stránke Účet. Pozrite REST API.

  1. Vytvorte API kľúč.

  2. Pridajte server do konfigurácie MCP vášho asistenta. Pre Claude Code je to súbor .mcp.json:

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

  4. Opýtajte sa napríklad “Ukáž mi moje zariadenia”. Asistent zavolá nástroj list_devices.

Nástroj Parametre Výsledok
list_devices compact (predvolené true) Vaše zariadenia. S compact: true: serialno, name, icon, groups, floorplans a count. S compact: false: všetky podrobnosti aj s nastaveniami.
get_device_state serialno (jedno číslo alebo zoznam) Aktuálny stav. Ten istý formát ako get_device_state.php. Pozrite REST API.
get_device_history serialno, level, bin Riadky histórie. Tie isté úrovne a biny ako v časti stiahnutie historických údajov.
get_definitions family_id (voliteľné), include_readings (predvolené true) Definície rodín: merania, výstupy, nastavenia
get_docs žiadne Pokyny pre nástroje
send_command serialno, command Pošle príkaz zariadeniu alebo skupine. Asistent dostane príkazy z get_docs.

Typické poradie volaní: list_devices, potom get_definitions pre rodinu, potom get_device_state alebo 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":{}}}'

Výsledok je v result.content[0].text ako text JSON:

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

Podporované metódy: initialize, notifications/initialized, tools/list, tools/call.

Kód Význam
-32000 Chyba overenia (HTTP 401) alebo chyba nástroja
-32700 Telo nie je platný JSON
-32600 Neplatná požiadavka JSON-RPC
-32601 Neznáma metóda
-32602 Chýba názov nástroja
-32603 Interná chyba
Chat s podporou