Gå til indhold

MCP til AI-assistenter

HAM MCP-serveren (Model Context Protocol) forbinder en AI-assistent til dine enheder. Assistenten kan se listen over enheder, de aktuelle målinger og historikken. Hvert kald kører med din konto og dine tilladelser til hver enhed.

Element Værdi
Adresse https://api.hamsystems.eu/mcp/index.php
Transport HTTP, JSON-RPC 2.0
Protokolversion 2024-11-05
Godkendelse Headeren Authorization: Bearer-API YOUR_API_KEY

Du opretter API-nøglen på siden Konto. Se REST API.

  1. Opret en API-nøgle.

  2. Tilføj serveren til din assistents MCP-konfiguration. For Claude Code er filen .mcp.json:

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

  4. Spørg for eksempel “Vis mig mine enheder”. Assistenten kalder værktøjet list_devices.

Værktøj Parametre Resultat
list_devices compact (standard true) Dine enheder. Med compact: true: serialno, name, icon, groups, floorplans og count. Med compact: false: alle detaljer med indstillingerne.
get_device_state serialno (ét nummer eller en liste) Den aktuelle tilstand. Det samme format som get_device_state.php. Se REST API.
get_device_history serialno, level, bin Historikkens rækker. De samme niveauer og bins som i Download historiske data.
get_definitions family_id (valgfri), include_readings (standard true) Familiernes definitioner: målinger, udgange, indstillinger
get_docs ingen Instruktioner til værktøjerne
send_command serialno, command Sender en kommando til en enhed eller en gruppe. Assistenten får kommandoerne fra get_docs.

En typisk rækkefølge af kald: list_devices, derefter get_definitions for familien, derefter 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 er i result.content[0].text som JSON-tekst:

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

Understøttede metoder: initialize, notifications/initialized, tools/list, tools/call.

Kode Betydning
-32000 Fejl i godkendelsen (HTTP 401) eller fejl i værktøjet
-32700 Indholdet er ikke gyldig JSON
-32600 Ugyldig JSON-RPC-anmodning
-32601 Ukendt metode
-32602 Værktøjets navn mangler
-32603 Intern fejl
Chat med support