Hoppa till innehåll

MCP för AI-assistenter

HAM MCP-servern (Model Context Protocol) ansluter en AI-assistent till dina enheter. Assistenten kan se listan över enheter, de aktuella avläsningarna och historiken. Varje anrop körs med ditt konto och dina behörigheter på varje enhet.

Objekt Värde
Adress https://api.hamsystems.eu/mcp/index.php
Transport HTTP, JSON-RPC 2.0
Protokollversion 2024-11-05
Autentisering Huvudet Authorization: Bearer-API YOUR_API_KEY

Du skapar API-nyckeln på sidan Konto. Se REST API.

  1. Skapa en API-nyckel.

  2. Lägg till servern i assistentens MCP-konfiguration. För Claude Code är filen .mcp.json:

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

  4. Fråga till exempel “Visa mina enheter”. Assistenten anropar verktyget list_devices.

Verktyg Parametrar Resultat
list_devices compact (standard true) Dina enheter. Med compact: true: serialno, name, icon, groups, floorplans och count. Med compact: false: alla detaljer, med inställningarna.
get_device_state serialno (ett nummer eller en lista) Det aktuella tillståndet. Samma format som get_device_state.php. Se REST API.
get_device_history serialno, level, bin Historikens rader. Samma nivåer och bins som i ladda ner historiska data.
get_definitions family_id (valfri), include_readings (standard true) Familjedefinitionerna: avläsningar, utgångar, inställningar
get_docs inga Instruktioner för verktygen
send_command serialno, command Skickar ett kommando till en enhet eller en grupp. Assistenten får kommandona från get_docs.

En typisk ordning för anropen: list_devices, sedan get_definitions för familjen, sedan get_device_state eller 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":{}}}'

Resultatet finns i result.content[0].text, som JSON-text:

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

Metoder som stöds: initialize, notifications/initialized, tools/list, tools/call.

Kod Betydelse
-32000 Fel vid autentisering (HTTP 401) eller fel i verktyget
-32700 Innehållet är inte giltig JSON
-32600 Ogiltig JSON-RPC-begäran
-32601 Okänd metod
-32602 Verktygets namn saknas
-32603 Internt fel
Chatta med supporten