İçeriğe geç

Yapay zeka asistanları için MCP

HAM MCP (Model Context Protocol) sunucusu bir yapay zeka asistanını cihazlarınıza bağlar. Asistan cihaz listesini, geçerli ölçümleri ve geçmişi görebilir. Her çağrı sizin hesabınızla ve her cihazdaki izinlerinizle çalışır.

Öğe Değer
Adres https://api.hamsystems.eu/mcp/index.php
Aktarım HTTP, JSON-RPC 2.0
Protokol sürümü 2024-11-05
Kimlik doğrulama Authorization: Bearer-API YOUR_API_KEY başlığı

API anahtarını Hesap sayfasında oluşturursunuz. Bkz. REST API.

  1. Bir API anahtarı oluşturun.

  2. Sunucuyu asistanınızın MCP yapılandırmasına ekleyin. Claude Code için dosya .mcp.json dosyasıdır:

    {
    "mcpServers": {
    "ham": {
    "type": "http",
    "url": "https://api.hamsystems.eu/mcp/index.php",
    "headers": {
    "Authorization": "Bearer-API YOUR_API_KEY"
    }
    }
    }
    }
  3. Asistanı yeniden başlatın.

  4. Örneğin “Cihazlarımı göster” diye sorun. Asistan list_devices aracını çağırır.

Araç Parametreler Sonuç
list_devices compact (varsayılan true) Cihazlarınız. compact: true ile: serialno, name, icon, groups, floorplans ve count. compact: false ile: ayarlar dahil tüm ayrıntılar.
get_device_state serialno (bir numara veya bir liste) Geçerli durum. get_device_state.php ile aynı biçim. Bkz. REST API.
get_device_history serialno, level, bin Geçmiş satırları. Geçmiş verileri indirme ile aynı seviyeler ve bin’ler.
get_definitions family_id (isteğe bağlı), include_readings (varsayılan true) Aile tanımları: ölçümler, çıkışlar, ayarlar
get_docs yok Araçlar için talimatlar
send_command serialno, command Bir cihaza veya bir gruba komut gönderir. Asistan komutları get_docs aracından alır.

Tipik bir çağrı sırası: list_devices, sonra aile için get_definitions, sonra get_device_state veya 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":{}}}'

Sonuç, JSON metni olarak result.content[0].text içindedir:

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

Desteklenen yöntemler: initialize, notifications/initialized, tools/list, tools/call.

Kod Anlamı
-32000 Kimlik doğrulama hatası (HTTP 401) veya araç hatası
-32700 Gövde geçerli JSON değil
-32600 Geçersiz JSON-RPC isteği
-32601 Bilinmeyen yöntem
-32602 Araç adı eksik
-32603 İç hata
Destekle sohbet