Skip to main content
Glama
cuolm

meteo-swiss-mcp

by cuolm

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NOMINATIM_USER_AGENTYesUser agent string for Nominatim geocoding service

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
current_date_and_timeA
        Get a human-readable string of the current time, weekday and date.

        Returns:
            str: A string in the format "Today is <weekday> <day>.<month>.<year> <hour>:<minute>:<second>"
        
total_rainfallA
        Get total rainfall for a location and offset period.

        Args:
            location (str): Location name (e.g., "Zurich").
            lead_time_start_swiss (int): Start hour offset from today at 00:00 Swiss local time. Min offset time is 2 hours.
            lead_time_end_swiss (int): End hour offset from today at 00:00 Swiss local time. Max offset time is 121 hours.

        Returns:
            float: Total precipitation accumulation in millimeters for the given period.

        Examples:
            total_rainfall("Zurich", 2, 24)    # Total rainfall today
            total_rainfall("Zurich", 24, 48)   # Total rainfall tomorrow
            total_rainfall("Zurich", 24, 30)   # Total rainfall tonight
            total_rainfall("Zurich", 30, 36)   # Total rainfall tomorrow morning
            total_rainfall("Zurich", 36, 42)   # Total rainfall tomorrow afternoon
            total_rainfall("Zurich", 42, 48)   # Total rainfall tomorrow evening
        
sunshine_hoursA
        Get sunshine hours for a location and offset period.

        Args:
            location (str): Location name (e.g., "Zurich").
            lead_time_start_swiss (int): Start hour offset from today at 00:00 Swiss local time. Min offset time is 2 hours.
            lead_time_end_swiss (int): End hour offset from today at 00:00 Swiss local time. Max offset time is 121 hours.

        Returns:
            float: Predicted sunshine hours for the specified period.

        Examples:
            sunshine_hours("Zurich", 2, 24)    # Total sunshine hours today
            sunshine_hours("Zurich", 24, 48)   # Total sunshine hours tomorrow
            sunshine_hours("Zurich", 30, 36)   # Total sunshine hours tomorrow morning
            sunshine_hours("Zurich", 36, 42)   # Total sunshine hours tomorrow afternoon
            sunshine_hours("Zurich", 42, 48)   # Total sunshine hours tomorrow evening
        
temperatureA
        Get air temperature for a location at a specific offset time.

        Args:
            location (str): Location name (e.g., "Zurich").
            lead_time_swiss (int): Hour offset from today at 00:00 Swiss local time. Min offset time is 2 hours. Max offset time is 121 hours.

        Returns:
            float: Maximum air temperature in Celsius for the given lead time.

        Examples:
            temperature("Zurich", 2)    # Temperature at 02:00 Swiss local time today
            temperature("Zurich", 14)   # Temperature at 14:00 Swiss local time today
            temperature("Zurich", 36)   # Temperature at 12:00 Swiss local time tomorrow
            temperature("Zurich", 113)  # Temperature at 17:00 Swiss local time in 4 days
        
wind_speedA
        Get predicted wind speed for a location at a specific offset time.

        Args:
            location (str): Location name (e.g., "Zurich").
            lead_time_swiss (int): Hour offset from today at 00:00 Swiss local time. Min offset time is 2 hours. Max offset time is 121 hours.

        Returns:
            float: Predicted wind speed in meters per second.

        Examples:
            wind_speed("Zurich", 2)    # Wind speed at 02:00 Swiss local time today
            wind_speed("Zurich", 14)   # Wind speed at 14:00 Swiss local time today
            wind_speed("Zurich", 36)   # Wind speed at 12:00 Swiss local time tomorrow
            wind_speed("Zurich", 113)  # Wind speed at 17:00 Swiss local time in 4 days
        
pressure_mslA
        Get sea-level pressure for a location at a specific offset time.

        Args:
            location (str): Location name (e.g., "Zurich").
            lead_time_swiss (int): Hour offset from today at 00:00 Swiss local time. Min offset time is 2 hours. Max offset time is 121 hours.

        Returns:
            float: Sea-level pressure in Pascals (Pa).

        Examples:
            pressure_msl("Zurich", 2)    # Pressure at 02:00 Swiss local time today
            pressure_msl("Zurich", 14)   # Pressure at 14:00 Swiss local time today
            pressure_msl("Zurich", 36)   # Pressure at 12:00 Swiss local time tomorrow
            pressure_msl("Zurich", 113)  # Pressure at 17:00 Swiss local time in 4 days
        
total_cloud_coverA
        Get total cloud cover percentage for a location at a specific offset time.

        Args:
            location (str): Location name (e.g., "Zurich").
            lead_time_swiss (int): Hour offset from today at 00:00 Swiss local time. Min offset time is 2 hours. Max offset time is 121 hours.

        Returns:
            float: Total cloud cover percentage.

        Examples:
            total_cloud_cover("Zurich", 2)    # Cloud cover at 02:00 Swiss local time today
            total_cloud_cover("Zurich", 14)   # Cloud cover at 14:00 Swiss local time today
            total_cloud_cover("Zurich", 36)   # Cloud cover at 12:00 Swiss local time tomorrow
            total_cloud_cover("Zurich", 113)  # Cloud cover at 17:00 Swiss local time in 4 days
        
snow_depthA
        Get forecasted snow depth for a location at a specific offset time.

        Args:
            location (str): Location name (e.g., "Zurich").
            lead_time_swiss (int): Hour offset from today at 00:00 Swiss local time. Min offset time is 2 hours. Max offset time is 121 hours.

        Returns:
            float: Forecasted snow depth in meters.

        Examples:
            snow_depth("Zurich", 2)    # Snow depth at 02:00 Swiss local time today
            snow_depth("Zurich", 14)   # Snow depth at 14:00 Swiss local time today
            snow_depth("Zurich", 36)   # Snow depth at 12:00 Swiss local time tomorrow
            snow_depth("Zurich", 113)  # Snow depth at 17:00 Swiss local time in 4 days
        
precipitation_rateA
        Get precipitation rate for a location at a specific offset time.

        Args:
            location (str): Location name (e.g., "Zurich").
            lead_time_swiss (int): Hour offset from today at 00:00 Swiss local time. Min offset time is 2 hours. Max offset time is 121 hours.

        Returns:
            float: Precipitation rate in millimeters per second.

        Examples:
            precipitation_rate("Zurich", 2)    # Precipitation rate at 02:00 Swiss local time today
            precipitation_rate("Zurich", 14)   # Precipitation rate at 14:00 Swiss local time today
            precipitation_rate("Zurich", 36)   # Precipitation rate at 12:00 Swiss local time tomorrow
            precipitation_rate("Zurich", 113)  # Precipitation rate at 17:00 Swiss local time in 4 days
        

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 9 tools

Disambiguation5/5

Each tool returns a distinct meteorological variable or time-related value. Total rainfall and precipitation rate are related but clearly differentiated by period vs. instantaneous rate, so no tool boundaries are ambiguous.

Naming Consistency5/5

All tool names follow a consistent snake_case noun pattern describing the measured quantity (e.g., total_cloud_cover, wind_speed, pressure_msl). Current_date_and_time fits the same noun-phrase style and does not deviate from the naming convention.

Tool Count5/5

Nine tools is well-scoped for a weather data server, covering the main forecast variables without unnecessary duplication or bloat. Each tool earns its place in the set.

Completeness4/5

The surface covers core weather variables (temperature, precipitation, wind, pressure, cloud cover, sunshine, snow) and time-based queries. Minor gaps like humidity or wind direction are absent, but agents can still answer most common weather questions without workarounds.

Maintenance

ActivityMaintained
ResponsivenessNo issues