This guide is intended for developers and technically proficient users. Setting up the MCP server requires Node.js, a terminal, and basic familiarity with configuration files.
57 Tools
Every iklim.co API capability is exposed as an MCP tool β lightning, thunderstorm, precipitation, forecast, alarms, and more.
Auto Auth
JWT tokens are acquired and refreshed automatically. Just provide your credentials and the server handles the rest.
HMAC-Signed
Every request is signed with HMAC-SHA256. Credentials never travel in plain text and replay attacks are blocked with a per-request nonce.
Overview
The iklim.co MCP Server implements the Model Context Protocol and exposes the full iklim.co REST API as 57 tools across 9 categories. Any MCP-compatible AI client (Claude, OpenClaw, and others) can query live weather data, manage alarms, and handle user accounts through natural language.Requirements
- Node.js >= 18 (ES2022 support required)
- npm >= 9
- iklim.co API credentials: HMAC secret, username, and password
Installation
The source code is publicly available at git.tarla.io/iklim.co/mcp-server.Environment Variables
The following variables must be set before the server starts. For local development, create a.env file in the mcp-server directory (already in .gitignore):
When
IKLIM_HTTP_LOG_PATH is set, every API call is written as a single-line JSON log entry. Sensitive fields (Authorization, X-Signature, password, token, etc.) are automatically masked.Build & Run
MCP Client Configuration
Claude CLI (.mcp.json)
Place a .mcp.json file in your project root. Claude CLI picks it up automatically:
mcpServers block to ~/.claude/settings.json.
OpenClaw
Theopenclaw mcp set command does not support a separate env flag β pass everything as a single JSON object:
~/.openclaw/openclaw.json directly:
Other MCP Clients
Any client that supports the MCP stdio standard can connect. Required parameters:Tool Catalog
β‘ Lightning
πͺοΈ Thunderstorm
π§οΈ Precipitation
Intensity levels (lowest β highest):
DRIZZLE < LIGHT < MODERATE < HEAVY < VERY_HEAVY < EXTREME
π€οΈ Forecast
53 supported forecast metrics
53 supported forecast metrics
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 & User
π’ Account
π Point Alarms
GPS-coordinate-based alert subscriptions for events within a configurable radius.πΊοΈ Geo Alarms
Administrative boundary, polygon, or H3 address-based alert subscriptions. Three boundary types are supported:geo_alarm_register, geo_alarm_update, geo_alarm_delete, geo_alarm_get_by_id, geo_alarm_get_by_recipient, geo_alarm_list) share the same signature as Point Alarms.
Location catalog:
π Forecast Alarms
Threshold-based alerts delivered at 04:00 UTC (morning) or 16:00 UTC (evening). Threshold parameters:
CRUD tools follow the same signature as Point Alarms. Additional location catalog tools:
forecast_alarm_list_cities, forecast_alarm_get_city, forecast_alarm_list_districts, forecast_alarm_get_district.
Architecture
Authentication & Security
Every API interaction uses two independent security layers: JWT-based authentication and HMAC-SHA256 request signing. Both are applied to every request.Automatic Auth Flow
The server logs in automatically on the first tool call. No manual login step is needed.HTTP Request Headers
HMAC-SHA256 Signature
TheX-Signature value is the HMAC-SHA256 of four components joined by |:
Security Recommendations
- Never commit
IKLIM_HMAC_SECRETorIKLIM_PASSWORDto source control or git history - In production, use system environment variables or a secrets manager instead of a
.envfile - Use separate credentials for each environment (prod / test / local)
- Rotate the HMAC secret regularly