Skip to main content
Glama
schlpbch

open-meteo-mcp

by schlpbch

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_weatherA

Retrieves weather forecast for a location (temperature, rain, sunshine).

Get current weather conditions for any location in Switzerland (or worldwide).

Examples:

  • "What's the weather in Zürich?" → latitude: 47.3769, longitude: 8.5417

  • "Weather at destination" → Use coordinates from journey endpoint

  • "Is it raining in Bern?" → Check precipitation field

Provides:

  • Current temperature (°C)

  • Weather condition (clear, cloudy, rain, snow)

  • Precipitation amount (mm)

  • Wind speed (km/h)

  • Humidity (%)

  • Hourly and daily forecasts

  • Enriched with weather interpretation and formatting

Data Source: Open-Meteo API (free, no API key required)

Performance: < 200ms

Use this tool when:

  • User asks about weather conditions

  • Planning outdoor activities

  • Checking if weather affects travel

  • Combined with journey planning

Args: latitude: Latitude in decimal degrees (e.g., 46.9479 for Bern) longitude: Longitude in decimal degrees (e.g., 7.4474 for Bern) forecast_days: Number of forecast days (1-16, default: 7) include_hourly: Include hourly forecasts (default: true) timezone: Timezone for timestamps (e.g., 'Europe/Zurich', default: 'auto')

Returns: Dictionary containing: - current (dict): Current weather with temperature, weather_code, wind_speed, humidity - current_weather (dict): Enriched current conditions with interpretation, formatting - hourly (list[dict] | None): Hourly forecasts if include_hourly=True - daily (list[dict]): Daily forecasts with min/max temps, precipitation, weather codes - location (dict): Location metadata with coordinates and timezone

get_snow_conditionsA

Retrieves snow conditions and forecasts for mountain locations.

Parameters:

  • latitude (required): Latitude in decimal degrees

  • longitude (required): Longitude in decimal degrees

  • forecast_days (optional): Number of forecast days (1-16, default: 7)

  • include_hourly (optional): Include hourly data (default: true)

  • timezone (optional): Timezone for timestamps (default: "Europe/Zurich")

Returns:

  • Current snow depth (meters)

  • Recent snowfall (cm)

  • Forecast snowfall

  • Temperature trends

  • Hourly and daily snow data

  • Enriched with ski condition assessment

Use this tool for:

  • Ski trip planning

  • Checking snow conditions at resorts

  • Mountain weather forecasts

  • Avalanche risk assessment (via snow depth trends)

Args: latitude: Latitude in decimal degrees (e.g., 45.9763 for Zermatt) longitude: Longitude in decimal degrees (e.g., 7.6586 for Zermatt) forecast_days: Number of forecast days (1-16, default: 7) include_hourly: Include hourly data (default: true) timezone: Timezone for timestamps (default: 'Europe/Zurich')

Returns: Dictionary containing: - current (dict): Current snow depth and recent snowfall with ski assessment - hourly (list[dict] | None): Hourly snow data if include_hourly=True - daily (list[dict]): Daily snow forecasts with accumulation and temperature - location (dict): Mountain location metadata

search_locationA

Searches for locations by name to get coordinates for weather queries.

Convert location names to coordinates using fuzzy search. Essential for natural language weather queries like "weather in Zurich" instead of requiring latitude/longitude coordinates.

Examples:

  • "Zurich" → Returns Zurich, Switzerland with coordinates

  • "Bern" → Returns multiple matches (Bern CH, Bern US, etc.)

  • "Zermatt" → Returns ski resort with elevation data

  • "Lake Geneva" → Returns lake coordinates

Features:

  • Fuzzy matching (handles typos)

  • Multi-language support

  • Country filtering (e.g., country="CH" for Switzerland only)

  • Returns population, timezone, elevation

  • Enriched with feature type descriptions and elevation categories

Workflow:

  1. Search for location by name

  2. Select result (usually first is best match)

  3. Use latitude/longitude for get_weather or get_snow_conditions

Use this tool when:

  • User provides location name instead of coordinates

  • Need to find coordinates for a city, mountain, or landmark

  • Want to discover locations in a specific country

Args: name: Location name to search (e.g., 'Zurich', 'Eiger', 'Lake Lucerne') count: Number of results to return (1-100, default: 10) language: Language for results (default: 'en', options: 'de', 'fr', 'it', etc.) country: Optional country code filter (e.g., 'CH' for Switzerland, 'DE' for Germany)

Returns: Dictionary containing: - results (list[dict]): List of matching locations, each with: - name (str): Location name - latitude (float): Latitude coordinate - longitude (float): Longitude coordinate - elevation (float | None): Elevation in meters - country (str): Country code - timezone (str): Timezone identifier - population (int | None): Population if applicable - feature_type_description (str): Type of location (City, Mountain, Lake, etc.) - elevation_category (str): Low, Medium, High, or Very High

get_air_qualityA

Retrieves air quality forecast including AQI, pollutants, UV index, and pollen data.

Monitor air quality for health-aware outdoor planning, allergy management, and UV exposure assessment. Provides both European and US Air Quality Indices along with detailed pollutant measurements and health interpretations.

Examples:

  • "What's the air quality in Zurich?" → AQI, PM2.5, PM10, ozone levels

  • "Pollen forecast for Bern?" → Grass, birch, alder pollen counts

  • "UV index for tomorrow?" → UV radiation forecast

Provides:

  • European AQI (0-100+) and US AQI (0-500) with health interpretations

  • Particulate matter (PM10, PM2.5)

  • Gases (O3, NO2, SO2, CO, NH3)

  • UV index (current and clear sky)

  • Pollen data (Europe only): alder, birch, grass, mugwort, olive, ragweed

Health Guidelines:

  • European AQI: 0-20 (Good), 20-40 (Fair), 40-60 (Moderate), 60-80 (Poor), 80-100 (Very Poor), 100+ (Extremely Poor)

  • US AQI: 0-50 (Good), 51-100 (Moderate), 101-150 (Unhealthy for Sensitive), 151-200 (Unhealthy), 201-300 (Very Unhealthy), 301-500 (Hazardous)

  • UV Index: 0-2 (Low), 3-5 (Moderate), 6-7 (High), 8-10 (Very High), 11+ (Extreme)

Use this tool when:

  • Planning outdoor activities for people with asthma/allergies

  • Assessing air quality for exercise or sports

  • Checking pollen levels during allergy season

  • Monitoring UV exposure for sun safety

Args: latitude: Latitude in decimal degrees longitude: Longitude in decimal degrees forecast_days: Number of forecast days (1-5, default: 5) include_pollen: Include pollen data (default: true, Europe only) timezone: Timezone for timestamps (default: 'auto')

Returns: Dictionary containing: - current (dict): Current AQI with interpretations, pollutants, UV index - hourly (list[dict]): Hourly air quality forecasts with AQI interpretations - pollen (dict | None): Pollen data if include_pollen=True and location is in Europe - location (dict): Location metadata

get_weather_alertsA

Generate weather alerts based on thresholds and current forecast.

Automatically identifies severe weather conditions and generates actionable alerts.

Alert Types:

  • Heat warnings (temperature > 30°C for 3+ hours)

  • Cold warnings (temperature < -10°C)

  • Storm warnings (wind gusts > 80 km/h or thunderstorms)

  • UV warnings (UV index > 8)

  • Wind advisories (gusts 50-80 km/h)

Severity Levels:

  • Advisory: Precautionary, plan accordingly

  • Watch: Conditions favorable for alert type

  • Warning: Conditions expected, take precautions

Examples:

  • Check for heat waves during summer

  • Monitor for storms before outdoor events

  • Plan sun protection based on UV alerts

Args: latitude: Latitude in decimal degrees longitude: Longitude in decimal degrees forecast_hours: Hours to check for alerts (1-168, default: 24) timezone: Timezone for timestamps (default: 'auto')

Returns: Dictionary containing: - latitude, longitude: Location coordinates - timezone: Timezone name - alerts (list): List of active alerts with type, severity, timing, and recommendations

get_historical_weatherA

Retrieves historical weather data for trend analysis and research.

Access 80+ years of historical weather data from Open-Meteo archives.

Use cases:

  • Compare weather patterns year-over-year

  • Climate trend analysis

  • Event planning based on historical patterns

  • Research and academic studies

Examples:

  • "How was the weather in Zurich on this date last year?"

  • "Get average temperatures for July over the past 10 years"

  • "Compare winter snow patterns"

Args: latitude: Latitude in decimal degrees longitude: Longitude in decimal degrees start_date: Start date in ISO format (YYYY-MM-DD) end_date: End date in ISO format (YYYY-MM-DD) include_hourly: Include hourly historical data (default: false) timezone: Timezone for timestamps (default: 'auto')

Returns: Dictionary containing: - historical weather data with temperature, precipitation, wind, etc. - daily summaries (temperature min/max, precipitation, weather codes) - optional hourly data if requested

get_marine_conditionsA

Retrieves marine conditions for lakes and coastal areas.

Get wave height, swell, period, and wind-driven sea states for water activities.

Examples:

  • Check Lake Geneva conditions for sailing

  • Monitor Zurich Lake for water sports

  • Plan boating activities based on wave forecast

Provides:

  • Wave height (m)

  • Wave direction and period (seconds)

  • Swell characteristics

  • Wind-wave parameters

  • Hourly and daily forecasts

Use this tool when:

  • Planning water sports (sailing, windsurfing, kayaking)

  • Boating safety assessment

  • Recreation planning on Swiss lakes

Args: latitude: Latitude in decimal degrees longitude: Longitude in decimal degrees forecast_days: Number of forecast days (1-16, default: 7) include_hourly: Include hourly data (default: true) timezone: Timezone for timestamps (default: 'auto')

Returns: Dictionary containing: - wave_height, wave_direction, wave_period - swell wave data - wind-wave parameters - hourly and daily forecasts

get_comfort_indexA

Calculates outdoor activity comfort index (0-100). Takes latitude, longitude, and timezone parameters.

Combines weather, air quality, UV, and precipitation factors into a single comfort score for planning outdoor activities.

Score Interpretation:

  • 80-100: Perfect for outdoor activities

  • 60-79: Good conditions

  • 40-59: Fair conditions, plan accordingly

  • 20-39: Poor conditions, seek indoor alternatives

  • 0-19: Very poor conditions

Factors Included:

  • Thermal comfort (temperature, humidity, wind chill)

  • Air quality (PM2.5, PM10, AQI)

  • Precipitation risk

  • UV safety (skin protection needs)

  • Weather conditions (storms, visibility)

Examples:

  • "Is it good weather for hiking?"

  • "What's the outdoor comfort level?"

  • "Can I do outdoor sports today?"

Args: latitude: Latitude in decimal degrees longitude: Longitude in decimal degrees timezone: Timezone for timestamps (default: 'auto')

Returns: Dictionary containing: - overall: Comfort index (0-100) - factors: Breakdown of individual factors - recommendation: Text recommendation for activities

get_astronomyA

Provides astronomical data for a location (sunrise, sunset, golden hour).

Useful for photography, event planning, and outdoor activity scheduling.

Data Provided:

  • Sunrise and sunset times

  • Day length

  • Golden hour (best lighting for photography)

  • Blue hour (evening twilight)

  • Moon phase information

  • Best photography windows

Use cases:

  • Photography location scouting

  • Outdoor event planning

  • Sunrise/sunset viewing trips

  • Time-lapse and video production planning

Examples:

  • "When is sunset in Zurich?"

  • "Best time for golden hour photography?"

  • "What's the sunrise time for hiking?"

Args: latitude: Latitude in decimal degrees longitude: Longitude in decimal degrees timezone: Timezone for timestamps (default: 'auto' tries to auto-detect)

Returns: Dictionary containing: - sunrise: Sunrise time (ISO format) - sunset: Sunset time (ISO format) - day_length_hours: Total daylight hours - golden_hour: Start and end times for optimal lighting - blue_hour: Twilight window for photography - moon_phase: Current lunar phase - best_photography_windows: Recommended times for photos

search_location_swissA

Search for locations in Switzerland with optional geographic features.

Specialized search for Swiss locations including cities, mountains, lakes, and passes.

Feature Types Supported:

  • PPL: Populated places (cities, towns, villages)

  • MT: Mountains and peaks

  • LK: Lakes and water bodies

  • PS: Mountain passes

  • STM: Streams and rivers

Examples:

  • "Find Zurich" → Zurich city

  • "Search for Matterhorn" → Mountain peak

  • "Find Lake Geneva" → Lake location

  • "Find Gotthard Pass" → Mountain pass

Use this tool when:

  • Searching specifically within Switzerland

  • Looking for mountains, lakes, or geographic features

  • Need precise coordinates for Swiss locations

  • Want to filter by location type

Args: name: Location name to search include_features: Include geographic features like mountains, lakes (default: false) language: Language for results (de, fr, it, en; default: en) count: Number of results (1-50, default: 10)

Returns: Dictionary containing: - results: List of matching Swiss locations with enriched metadata - total: Number of results found - country: Country code (CH) - include_features: Whether geographic features are included - language: Language of results

compare_locationsA

Compare weather conditions across multiple locations.

Rank locations by specified weather criteria to find the best destination.

Comparison Criteria:

  • best_overall: Overall comfort and conditions

  • warmest: Highest temperature

  • driest: Lowest precipitation probability

  • sunniest: Best weather codes and visibility

  • best_air_quality: Lowest AQI

  • calmest: Lowest wind speeds

Examples:

  • Compare weekend weather between Zurich, Bern, and Geneva

  • Find the warmest location for outdoor activities

  • Identify the driest location for hiking

  • Compare air quality across multiple cities

Use this tool when:

  • Choosing between multiple destination options

  • Planning group activities

  • Finding optimal conditions for specific activities

Args: locations: List of location dicts with 'name', 'latitude', 'longitude' criteria: Comparison criteria (default: 'best_overall') forecast_days: Days to forecast (1-16, default: 1)

Returns: Dictionary containing: - criteria: The comparison criteria used - locations: Ranked list of locations with scores - winner: Best location based on criteria - details: Key weather metrics for each location

Prompts

Interactive templates invoked by user choice

NameDescription
ski-trip-weatherGenerates a guide for checking snow conditions and weather for ski trips to Swiss resorts. Args: resort: Name of the Swiss ski resort (e.g., 'Zermatt', 'Verbier', 'St. Moritz') dates: Specific dates or time period (e.g., 'this weekend', 'next week', 'January 10-15') Returns: Prompt template string instructing the LLM to check snow conditions, weather forecasts, and provide actionable ski trip guidance.
plan-outdoor-activityGenerates a weather-aware outdoor activity planning workflow for hiking, cycling, and other outdoor pursuits. Args: activity: Type of outdoor activity (e.g., 'hiking', 'cycling', 'climbing', 'camping') location: Location for the activity (city, mountain, trail name) timeframe: When planning to do the activity (e.g., 'this weekend', 'next week', specific dates) Returns: Prompt template string instructing the LLM to assess weather suitability, identify optimal activity windows, and provide safety recommendations based on the activity type and conditions.
weather-aware-travelGenerates an integration pattern for combining weather forecasts with journey planning. Args: destination: Travel destination (city, resort, or location name) travel_dates: When traveling (e.g., 'tomorrow', 'this weekend', 'January 10-15') trip_type: Type of trip (e.g., 'day trip', 'weekend getaway', 'ski trip', 'business travel') Returns: Prompt template string instructing the LLM to integrate weather data with travel planning, provide packing recommendations, and assess weather impact on the journey.

Resources

Contextual data attached and managed by the client

NameDescription
weather_codesProvides WMO weather code reference with descriptions, categories, and travel impact. Use this to interpret weather_code values returned by weather tools. Contains 28 weather codes with: - Description (e.g., "Clear sky", "Moderate rain") - Category (Clear, Cloudy, Rain, Snow, Fog, Thunderstorm) - Icon suggestions - Travel impact assessments Returns: JSON string with complete weather code reference data including descriptions, categories, and impact assessments for all 28 WMO codes.
weather_parametersProvides available weather and snow parameters from Open-Meteo API. Documents all available parameters for: - Hourly weather data - Daily weather data - Snow conditions - Units and descriptions Use this to understand what data is available from the API. Returns: JSON string documenting all available weather and snow parameters, their units, and descriptions for API queries.
aqi_referenceProvides air quality index (AQI) reference data and pollution level descriptions. Contains: - AQI calculation methodology - Pollutant descriptions (PM2.5, PM10, NO2, O3, SO2, CO) - Health impact categories - Activity recommendations Use this to interpret air quality data and provide health guidance. Returns: JSON string with complete AQI reference data including pollutant descriptions, health impacts, and activity recommendations.
swiss_locationsProvides major Swiss cities and locations with coordinates for weather queries. Contains: - Major cities (Zurich, Geneva, Basel, Bern, etc.) - Ski resorts and mountain locations - Tourist destinations - GPS coordinates for weather API queries Use this to quickly find coordinates for popular Swiss locations. Returns: JSON string with Swiss locations and their geographic coordinates for use in weather and snow condition queries.

TDQS

A4.2/5.0

Scored across 11 tools

Disambiguation3/5

Most tools are aimed at distinct domains, but there is meaningful overlap: get_weather, get_snow_conditions, and get_marine_conditions all provide weather-type data for different contexts, and get_comfort_index/get_weather_alerts derive from the same underlying forecast data. search_location and search_location_swiss are especially easy to confuse despite the Swiss-specific scope being documented.

Naming Consistency5/5

All tool names follow a clear lowercase snake_case verb_noun pattern: get_* for data retrieval, search_* for location lookups, and compare_locations for comparison. The style is consistent and predictable across the entire set.

Tool Count4/5

Eleven tools is a reasonable size for a comprehensive weather/meteorology server. The count is not excessive, though a couple of tools (search_location_swiss, comfort_index) are arguably conveniences that overlap with or combine the functionality of other tools.

Completeness4/5

The server covers current weather, forecasts, historical data, air quality, marine conditions, astronomy, alerts, and location search, which is broad coverage for the weather domain. Minor gaps exist, such as no dedicated tool for official severe weather warnings and the lack of a reverse geocoding lookup, but agents can work around these.

Maintenance

ActivityInactive
ResponsivenessNo issues