Model Context Protocol (MCP) kullanarak Claude gibi yapay zeka asistanlarını iklim.co Hava Durumu API’siyle bağlayın.
Bu kılavuz geliştiriciler ve teknik bilgiye sahip kullanıcılar içindir. MCP sunucusunu kurabilmek için Node.js, terminal kullanımı ve yapılandırma dosyaları hakkında temel bilgi gerekmektedir.
57 Araç
iklim.co API”sinin tüm yetenekleri MCP aracı olarak sunulur — yıldırım, fırtına, yağış, tahmin, alarmlar ve daha fazlası.
Otomatik Auth
JWT token”lar otomatik olarak alınır ve yenilenir. Kimlik bilgilerinizi girin, gerisini sunucu halleder.
HMAC İmzalı
Her istek HMAC-SHA256 ile imzalanır. Kimlik bilgileri düz metin olarak iletilmez; istek başına tekil nonce ile replay saldırıları engellenir.
iklim.co MCP Sunucusu, Model Context Protocol standardını uygular ve iklim.co REST API’sinin tamamını 9 kategoride 57 araç olarak sunar. MCP uyumlu herhangi bir yapay zeka istemcisi (Claude, OpenClaw vb.) doğal dil aracılığıyla canlı hava durumu verileri sorgulayabilir, alarmları yönetebilir ve kullanıcı hesaplarını kontrol edebilir.
Sunucu başlamadan önce aşağıdaki değişkenlerin tanımlı olması gerekir. Geliştirme ortamında mcp-server dizininde bir .env dosyası oluşturabilirsiniz (.gitignore kapsamında):
# .envIKLIM_ENV=test # prod | test | local (IKLIM_BASE_URL yoksa kullanılır)IKLIM_BASE_URL= # Opsiyonel. Tanımlıysa IKLIM_ENV'i override ederIKLIM_HMAC_SECRET=<secret> # Zorunlu. İstek imzalama için HMAC-SHA256 anahtarıIKLIM_USERNAME=<email> # Zorunlu. API hesabı e-postasıIKLIM_PASSWORD=<password> # Zorunlu. API hesabı şifresiIKLIM_TOKEN_STORE_PATH= # Opsiyonel. Access/refresh token'ları kalıcı saklamak için dosya yoluIKLIM_HTTP_LOG_PATH= # Opsiyonel. API istek log dosyası yoluIKLIM_HTTP_LOG_MAX_BYTES=5242880 # Opsiyonel. Rotate eşiği (byte), varsayılan: 5 MBIKLIM_HTTP_LOG_MAX_FILES=5 # Opsiyonel. Tutulacak rotated dosya sayısıIKLIM_HTTP_LOG_REQUEST_BODY_MAX_BYTES=16384 # Opsiyonel. Request body log boyut sınırıIKLIM_HTTP_LOG_RESPONSE_BODY_MAX_BYTES=16384 # Opsiyonel. Response body log boyut sınırı
Ortama göre base URL:
IKLIM_ENV
URL
prod
https://api.iklim.co
test
https://api-test.iklim.co
local
http://localhost:8080
IKLIM_HTTP_LOG_PATH tanımlıysa her API çağrısı tek satır JSON olarak loglanır. Hassas alanlar (Authorization, X-Signature, password, token vb.) otomatik olarak maskelenir.
openclaw mcp set komutu env parametresini ayrı olarak desteklemez; tüm alanları tek bir JSON nesnesi olarak geçirin:
openclaw mcp set iklim '{"type":"stdio","command":"node","args":["/tam/yol/mcp-server/dist/index.js"],"env":{"IKLIM_ENV":"test","IKLIM_HMAC_SECRET":"<secret>","IKLIM_USERNAME":"<email>","IKLIM_PASSWORD":"<password>"}}'
Ya da ~/.openclaw/openclaw.json dosyasını doğrudan düzenleyin:
CRUD araçları (geo_alarm_register, geo_alarm_update, geo_alarm_delete, geo_alarm_get_by_id, geo_alarm_get_by_recipient, geo_alarm_list) Nokta Alarmları ile aynı imzayı paylaşır.Konum kataloğu:
Eşik aşıldığında sabah 04:00 UTC veya akşam 16:00 UTC’de gönderilen uyarılar.Eşik parametreleri:
Parametre
Değerler
precipitationThreshold
mm cinsinden sayısal değer
snowFallThreshold
LIGHT | MODERATE | HEAVY
windGustThreshold
STRONG_WIND | STORM | SEVERE_STORM | HURRICANE
hotTemperatureThreshold
HOT_SNAP | HEAVY_HOT_SNAP | EXTREME_HOT_SNAP
coldTemperatureThreshold
COLD_SNAP | HEAVY_COLD_SNAP | EXTREME_COLD_SNAP
CRUD araçları Nokta Alarmları ile aynı imzayı takip eder. Ek konum kataloğu araçları: forecast_alarm_list_cities, forecast_alarm_get_city, forecast_alarm_list_districts, forecast_alarm_get_district.
Her API etkileşimi iki bağımsız güvenlik katmanı kullanır: JWT tabanlı kimlik doğrulama ve HMAC-SHA256 istek imzalama. Her ikisi de her isteğe uygulanır.