Skip to main content
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.

Genel Bakış

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.

Gereksinimler

  • Node.js >= 18 (ES2022 desteği gerekli)
  • npm >= 9
  • iklim.co API erişim bilgileri: HMAC secret, kullanıcı adı ve şifre

Kurulum

Kaynak kod git.tarla.io/iklim.co/mcp-server adresindeki public repository’den indirilebilir.

Ortam Değişkenleri

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):
Ortama göre base URL:
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.

Build ve Çalıştırma

Başarılı başlatmada çıktı:
Sunucu stdio transportu üzerinden iletişim kurar. Doğrudan terminalde çalıştırmak yerine bir MCP istemcisi tarafından yönetilmesi beklenir.

MCP İstemci Konfigürasyonu

Claude CLI (.mcp.json)

Proje kök dizinine bir .mcp.json dosyası ekleyin. Claude CLI bunu otomatik olarak yükler:
Global olarak tanımlamak için aynı mcpServers bloğunu ~/.claude/settings.json dosyasına ekleyin.

OpenClaw

openclaw mcp set komutu env parametresini ayrı olarak desteklemez; tüm alanları tek bir JSON nesnesi olarak geçirin:
Ya da ~/.openclaw/openclaw.json dosyasını doğrudan düzenleyin:

Diğer MCP İstemcileri

MCP stdio standardını destekleyen her istemci bağlanabilir. Gerekli parametreler:

Araç Kataloğu

⚡ Yıldırım

🌪️ Fırtına

🌧️ Yağış

Yoğunluk seviyeleri (en düşükten en yükseğe): DRIZZLE < LIGHT < MODERATE < HEAVY < VERY_HEAVY < EXTREME

🌤️ Hava Tahmini

WEATHER_ICON, TEMPERATURE, APPARENT_TEMPERATURE, DEW_POINT_TEMPERATURE, HUMIDITY, CLOUD_COVER, CLOUD_COVER_LOW, CLOUD_COVER_MID, CLOUD_COVER_HIGH, WIND_SPEED, WIND_GUST, WIND_DIRECTION, WIND_SPEED_AT_100M, WIND_DIRECTION_AT_100M, PRECIPITATION, RAIN, SHOWERS, SNOWFALL, SNOW_DEPTH, PRECIPITATION_PROBABILITY, WEATHER_CODE, PRESSURE_MSL, SURFACE_PRESSURE, VISIBILITY, EVAPOTRANSPIRATION, ET0_FAO_EVAPOTRANSPIRATION, VAPOUR_PRESSURE_DEFICIT, CAPE, LIFTED_INDEX, CONVECTIVE_INHIBITION, SUNSHINE_DURATION, SHORTWAVE_RADIATION, DIRECT_RADIATION, DIFFUSE_RADIATION, DIRECT_NORMAL_IRRADIANCE, GLOBAL_TILTED_IRRADIANCE, TERRESTRIAL_RADIATION, SHORTWAVE_RADIATION_INSTANT, DIRECT_RADIATION_INSTANT, DIFFUSE_RADIATION_INSTANT, DIRECT_NORMAL_IRRADIANCE_INSTANT, GLOBAL_TILTED_IRRADIANCE_INSTANT, TERRESTRIAL_RADIATION_INSTANT, SOIL_TEMPERATURE_0CM, SOIL_TEMPERATURE_6CM, SOIL_TEMPERATURE_18CM, SOIL_TEMPERATURE_54CM, SOIL_MOISTURE_0_TO_1CM, SOIL_MOISTURE_1_TO_3CM, SOIL_MOISTURE_3_TO_9CM, SOIL_MOISTURE_9_TO_27CM, SOIL_MOISTURE_27_TO_81CM, IS_DAY

👤 Auth & Kullanıcı

🏢 Hesap

📍 Nokta Alarmları

GPS koordinatı ve yapılandırılabilir yarıçap etrafındaki olaylar için uyarı abonelikleri.

🗺️ Coğrafi Alarmlar

İdari sınır, poligon veya H3 adresi bazlı uyarı abonelikleri. Üç sınır tipi desteklenir:
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:

📅 Tahmin Alarmları

Eşik aşıldığında sabah 04:00 UTC veya akşam 16:00 UTC’de gönderilen uyarılar. Eşik parametreleri: 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.

Mimari

İstek akışı:

Kimlik Doğrulama ve Güvenlik

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.

Otomatik Auth Akışı

Sunucu, ilk araç çağrısında otomatik olarak giriş yapar. Manuel bir login adımı gerekmez.
login ve refresh endpoint’leri Authorization: Bearer header’ı içermez — bu istekler yalnızca HMAC imzasıyla doğrulanır.

HTTP İstek Header’ları

HMAC-SHA256 İmza Hesabı

X-Signature değeri dört bileşenin | ile birleştirilmesinin HMAC-SHA256’sıdır:
Örnek — GET isteği:
Örnek — POST isteği:

Güvenlik Önerileri

  • IKLIM_HMAC_SECRET ve IKLIM_PASSWORD değerlerini kaynak koda veya git geçmişine eklemeyin
  • Üretim ortamında .env dosyası yerine sistem ortam değişkenlerini veya bir secrets manager kullanın
  • Her ortam için ayrı kimlik bilgileri kullanın (prod / test / local)
  • HMAC secret’ı düzenli olarak rotate edin