open-meteo-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@open-meteo-mcp-serverwhat's the weather in Tokyo?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Open-Meteo MCP Server
A comprehensive Model Context Protocol (MCP) server that provides access to Open-Meteo weather APIs for use with Large Language Models.
Features
This MCP server provides complete access to Open-Meteo APIs, including:
Core Weather APIs
Weather Forecast (
weather_forecast) - 7-day forecasts with hourly and daily resolutionWeather Archive (
weather_archive) - Historical ERA5 data from 1940 to presentAir Quality (
air_quality) - PM2.5, PM10, ozone, nitrogen dioxide and other pollutantsMarine Weather (
marine_weather) - Wave height, wave period, wave direction and sea surface temperatureElevation (
elevation) - Digital elevation model data for given coordinatesGeocoding (
geocoding) - Search locations worldwide by name or postal code, get coordinates and detailed location information
Specialized Weather Models
DWD ICON (
dwd_icon_forecast) - German weather service high-resolution model for EuropeNOAA GFS (
gfs_forecast) - US weather service global model with high-resolution North America dataMétéo-France (
meteofrance_forecast) - French weather service AROME and ARPEGE modelsECMWF (
ecmwf_forecast) - European Centre for Medium-Range Weather ForecastsJMA (
jma_forecast) - Japan Meteorological Agency high-resolution model for AsiaMET Norway (
metno_forecast) - Norwegian weather service for Nordic countriesEnvironment Canada GEM (
gem_forecast) - Canadian weather service model
Advanced Forecasting Tools
Flood Forecast (
flood_forecast) - River discharge and flood forecasts from GloFAS (Global Flood Awareness System)Seasonal Forecast (
seasonal_forecast) - Long-range forecasts up to 9 months aheadClimate Projections (
climate_projection) - CMIP6 climate change projections for different warming scenariosEnsemble Forecast (
ensemble_forecast) - Multiple model runs showing forecast uncertainty
Related MCP server: Open-Meteo MCP Server
Installation
Method 1: Using npx (Recommended)
No installation required! The server will run directly via npx.
Method 2: Global Installation via npm
npm install -g open-meteo-mcp-serverMethod 3: From Source (Development)
# Clone the repository
git clone https://github.com/cmer81/open-meteo-mcp.git
cd open-meteo-mcp
# Install dependencies
npm install
# Build the project
npm run buildConfiguration
Claude Desktop Configuration
Simple Configuration (Recommended)
Add the following configuration to your Claude Desktop config file:
{
"mcpServers": {
"open-meteo": {
"command": "npx",
"args": ["open-meteo-mcp-server"]
}
}
}Full Configuration (with environment variables)
{
"mcpServers": {
"open-meteo": {
"command": "npx",
"args": ["open-meteo-mcp-server"],
"env": {
"OPEN_METEO_API_URL": "https://api.open-meteo.com",
"OPEN_METEO_AIR_QUALITY_API_URL": "https://air-quality-api.open-meteo.com",
"OPEN_METEO_MARINE_API_URL": "https://marine-api.open-meteo.com",
"OPEN_METEO_ARCHIVE_API_URL": "https://archive-api.open-meteo.com",
"OPEN_METEO_SEASONAL_API_URL": "https://seasonal-api.open-meteo.com",
"OPEN_METEO_ENSEMBLE_API_URL": "https://ensemble-api.open-meteo.com",
"OPEN_METEO_GEOCODING_API_URL": "https://geocoding-api.open-meteo.com"
}
}
}
}Local Development Configuration
If you're developing locally or installed from source:
{
"mcpServers": {
"open-meteo": {
"command": "node",
"args": ["/path/to/open-meteo-mcp/dist/index.js"],
"env": {
"OPEN_METEO_API_URL": "https://api.open-meteo.com",
"OPEN_METEO_AIR_QUALITY_API_URL": "https://air-quality-api.open-meteo.com",
"OPEN_METEO_MARINE_API_URL": "https://marine-api.open-meteo.com",
"OPEN_METEO_ARCHIVE_API_URL": "https://archive-api.open-meteo.com",
"OPEN_METEO_SEASONAL_API_URL": "https://seasonal-api.open-meteo.com",
"OPEN_METEO_ENSEMBLE_API_URL": "https://ensemble-api.open-meteo.com",
"OPEN_METEO_GEOCODING_API_URL": "https://geocoding-api.open-meteo.com"
}
}
}
}Custom Instance Configuration
If you're using your own Open-Meteo instance:
{
"mcpServers": {
"open-meteo": {
"command": "npx",
"args": ["open-meteo-mcp-server"],
"env": {
"OPEN_METEO_API_URL": "https://your-meteo-api.example.com",
"OPEN_METEO_AIR_QUALITY_API_URL": "https://air-quality-api.example.com",
"OPEN_METEO_MARINE_API_URL": "https://marine-api.example.com",
"OPEN_METEO_ARCHIVE_API_URL": "https://archive-api.example.com",
"OPEN_METEO_SEASONAL_API_URL": "https://seasonal-api.example.com",
"OPEN_METEO_ENSEMBLE_API_URL": "https://ensemble-api.example.com",
"OPEN_METEO_GEOCODING_API_URL": "https://geocoding-api.example.com"
}
}
}
}Environment Variables
All environment variables are optional and have sensible defaults:
OPEN_METEO_API_URL- Base URL for Open-Meteo forecast API (default: https://api.open-meteo.com)OPEN_METEO_AIR_QUALITY_API_URL- Air quality API URL (default: https://air-quality-api.open-meteo.com)OPEN_METEO_MARINE_API_URL- Marine weather API URL (default: https://marine-api.open-meteo.com)OPEN_METEO_ARCHIVE_API_URL- Historical data API URL (default: https://archive-api.open-meteo.com)OPEN_METEO_SEASONAL_API_URL- Seasonal forecast API URL (default: https://seasonal-api.open-meteo.com)OPEN_METEO_ENSEMBLE_API_URL- Ensemble forecast API URL (default: https://ensemble-api.open-meteo.com)OPEN_METEO_GEOCODING_API_URL- Geocoding API URL (default: https://geocoding-api.open-meteo.com)
Usage Examples
Geocoding and Location Search
Find the coordinates for Paris, FranceSearch for locations named "Berlin" and return the top 5 resultsWhat are the coordinates for postal code 75001?Search for "Lyon" in France only (countryCode: FR) with results in French (language: fr)Find all cities named "London" in the United Kingdom with English descriptionsBasic Weather Forecast
Can you get me the weather forecast for Paris (48.8566, 2.3522) with temperature, humidity, and precipitation for the next 3 days?Historical Weather Data
What were the temperatures in London during January 2023?Air Quality Monitoring
What's the current air quality in Beijing with PM2.5 and ozone levels?Marine Weather
Get me the wave height and sea surface temperature for coordinates 45.0, -125.0 for the next 5 days.Flood Monitoring
Check the river discharge forecast for coordinates 52.5, 13.4 for the next 30 days.Climate Projections
Show me temperature projections for New York from 2050 to 2070 using CMIP6 models.API Parameters
Required Parameters
latitude: Latitude in WGS84 coordinate system (-90 to 90)longitude: Longitude in WGS84 coordinate system (-180 to 180)
Hourly Weather Variables
temperature_2m: Temperature at 2 metersrelative_humidity_2m: Relative humidityprecipitation: Precipitationwind_speed_10m: Wind speed at 10 meterswind_direction_10m: Wind directionpressure_msl: Mean sea level pressurecloud_cover: Cloud cover percentageweather_code: Weather condition codevisibility: Visibilityuv_index: UV indexAnd many more...
Daily Weather Variables
temperature_2m_max/min: Maximum/minimum temperaturesprecipitation_sum: Total precipitationwind_speed_10m_max: Maximum wind speedsunrise/sunset: Sunrise and sunset timesweather_code: Weather condition codeuv_index_max: Maximum UV index
Air Quality Variables
pm10: PM10 particlespm2_5: PM2.5 particlescarbon_monoxide: Carbon monoxidenitrogen_dioxide: Nitrogen dioxideozone: Ozonesulphur_dioxide: Sulfur dioxideammonia: Ammoniadust: Dust particles
Marine Weather Variables
wave_height: Wave heightwave_direction: Wave directionwave_period: Wave periodwind_wave_height: Wind wave heightswell_wave_height: Swell wave heightsea_surface_temperature: Sea surface temperature
Formatting Options
temperature_unit:celsius,fahrenheitwind_speed_unit:kmh,ms,mph,knprecipitation_unit:mm,inchtimezone:Europe/Paris,America/New_York, etc.
Time Range Options
forecast_days: Number of forecast days (varies by API)past_days: Include past days datastart_date/end_date: Date range for historical data (YYYY-MM-DD format)
Development Scripts
# Development with auto-reload
npm run dev
# Build TypeScript
npm run build
# Start production server
npm start
# Run tests
npm test
# Type checking
npm run typecheck
# Linting
npm run lintProject Structure
src/
├── index.ts # MCP server entry point
├── client.ts # HTTP client for Open-Meteo API
├── tools.ts # MCP tool definitions
└── types.ts # Zod validation schemasAPI Coverage
This server provides access to all major Open-Meteo endpoints:
Weather Data
Current weather conditions
Hourly forecasts (up to 16 days)
Daily forecasts (up to 16 days)
Historical weather data (1940-present)
Specialized Models
High-resolution regional models (DWD ICON, Météo-France AROME)
Global models (NOAA GFS, ECMWF)
Regional specialists (JMA for Asia, MET Norway for Nordics)
Environmental Data
Air quality forecasts
Marine and ocean conditions
River discharge and flood warnings
Climate change projections
Advanced Features
Ensemble forecasts for uncertainty quantification
Seasonal forecasts for long-term planning
Multiple model comparison
Customizable units and timezones
Error Handling
The server provides comprehensive error handling with detailed error messages for:
Invalid coordinates
Missing required parameters
API rate limits
Network connectivity issues
Invalid date ranges
Performance
Efficient HTTP client with connection pooling
Request caching for repeated queries
Optimized data serialization
Minimal memory footprint
API Documentation
For detailed API documentation, refer to the openapi.yml file and the Open-Meteo API documentation.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Development Setup
Fork the repository
Clone your fork:
git clone https://github.com/your-username/open-meteo-mcp.gitInstall dependencies:
npm installCreate a feature branch:
git checkout -b feature/amazing-featureMake your changes and add tests
Run tests:
npm testCommit your changes:
git commit -m 'Add amazing feature'Push to the branch:
git push origin feature/amazing-featureOpen a Pull Request
Releasing
This project uses automated releases via GitHub Actions. To create a new release:
# For a patch release (1.0.0 -> 1.0.1)
npm run release:patch
# For a minor release (1.0.0 -> 1.1.0)
npm run release:minor
# For a major release (1.0.0 -> 2.0.0)
npm run release:majorThe GitHub Action will automatically:
Run tests and build the project
Publish to npm with provenance
Create a GitHub release
Update version badges
License
MIT
Available Tools
17 toolsair_qualityB
Get air quality forecast data including PM2.5, PM10, ozone, nitrogen dioxide and other pollutants.
| Name | Required | Description | Default |
|---|---|---|---|
| hourly | No | Air quality variables to retrieve | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states the tool retrieves forecast data, but omits details about rate limits, data sources, update frequency, or geographical coverage. The read nature is implied but not explicitly declared.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of about 15 words, which is concise and front-loaded. However, it is quite terse and could incorporate usage hints without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters and no output schema, the description is insufficient. It does not explain the forecast time range (covered by forecast_days), output format, or that it provides hourly data. Context is minimal for a tool with moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, establishing a baseline of 3. The description mentions example pollutants, but these are already covered by the hourly parameter's enum in the schema. No additional semantic information (e.g., coordinate format, default timezone) is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('air quality forecast data') while listing key pollutants (PM2.5, PM10, ozone, nitrogen dioxide), which clearly distinguishes this tool from sibling tools like weather_forecast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives (e.g., weather_forecast for general weather). There is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
climate_projectionC
Get climate change projections from CMIP6 models for different warming scenarios.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | Yes | Climate projection variables to retrieve | |
| models | Yes | Climate models to use | |
| end_date | Yes | End date in YYYY-MM-DD format | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| start_date | Yes | Start date in YYYY-MM-DD format | |
| wind_speed_unit | No | kmh | |
| temperature_unit | No | celsius | |
| precipitation_unit | No | mm | |
| disable_bias_correction | No | Disable statistical downscaling and bias correction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It does not mention data latency, processing time, that projections are model-based and not real-time observations, or any limitations on scenario coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence is concise but lacks structure. It front-loads the core purpose but could benefit from breaking down into key aspects (e.g., supported models, scenario types, geographic scope) for easier parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters (6 required) and no output schema, the description is incomplete. It does not explain coordinate limits, date range restrictions, model combinations, or how 'warming scenarios' translate to input parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-specific information beyond the input schema. With 70% schema coverage, the baseline is 3, but the description fails to enhance understanding of parameters like 'disable_bias_correction' or coordinate system details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving climate change projections from CMIP6 models for different warming scenarios. It distinguishes from weather forecast siblings, although it could mention the specific focus on long-term projections versus short-term forecasts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like seasonal_forecast or ensemble_forecast. Lacks information on prerequisites, such as valid warming scenario selection or model constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dwd_icon_forecastB
Get weather forecast from German DWD ICON model with high resolution data for Europe and global coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | Hourly weather variables to retrieve | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps (e.g., Europe/Paris, America/New_York) | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days | |
| current_weather | No | Include current weather conditions | |
| wind_speed_unit | No | Wind speed unit | kmh |
| temperature_unit | No | Temperature unit | celsius |
| precipitation_unit | No | Precipitation unit | mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions high resolution and coverage but does not disclose any behavioral traits such as data freshness, accuracy, or limitations. There is no mention of destructive potential or authorization needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the purpose. However, it omits crucial usage guidance, making it slightly under-specified for its conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters, no output schema, and no annotations, the description is insufficient to fully understand the tool's complexity. It lacks details on return values, data range, or how to interpret output, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional context beyond what the schema already provides. It does not explain any parameter meaning or usage nuances.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'weather forecast', and identifies the specific model 'German DWD ICON model' with distinguishing features 'high resolution data for Europe and global coverage'. This effectively differentiates it from sibling tools like gfs_forecast or ecmwf_forecast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. While 'high resolution data for Europe' implies a use case, it lacks explicit when-to-use, when-not-to-use, or comparison with other forecast tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecmwf_forecastB
Get weather forecast from European Centre for Medium-Range Weather Forecasts with high-quality global forecasts.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | Hourly weather variables to retrieve | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps (e.g., Europe/Paris, America/New_York) | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days | |
| current_weather | No | Include current weather conditions | |
| wind_speed_unit | No | Wind speed unit | kmh |
| temperature_unit | No | Temperature unit | celsius |
| precipitation_unit | No | Precipitation unit | mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states it provides forecasts, but lacks disclosure on data freshness, update frequency, rate limits, output structure, or coordinate validation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is efficient, no filler words. Could be slightly rephrased to include more key info without losing conciseness, but it's well-front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters, many enums, and no output schema, the description is insufficient. It doesn't explain return format, date ranges, weather codes, or how to interpret results, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no parameter-specific guidance beyond what the schema already describes, such as meaning of daily vs hourly or default values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'weather forecast', specifies the source 'European Centre for Medium-Range Weather Forecasts', and mentions 'high-quality global forecasts', which distinguishes it from sibling tools like gfs_forecast or dwd_icon_forecast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The phrase 'high-quality global forecasts' implies suitability for global needs, but doesn't explicitly compare to alternatives like weather_forecast or other regional models.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
elevationA
Get elevation data for given coordinates using digital elevation models.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude in WGS84 coordinate system | |
| longitude | Yes | Longitude in WGS84 coordinate system |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states what the tool does, not any behavioral traits such as data sources, accuracy, rate limits, or return format. This is insufficient for a tool with no structured behavioral hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is efficient and front-loaded. No extraneous words. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two simple parameters and no output schema, the description is mostly complete. However, it could mention the unit of elevation (e.g., meters) or the resolution of the model. Despite this minor gap, it adequately serves its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter descriptions (latitude/longitude in WGS84 with bounds). The tool description adds 'using digital elevation models' but does not enhance parameter understanding beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action (Get elevation data) and the resource (given coordinates using digital elevation models). It effectively distinguishes from sibling tools that are weather-focused, though sibling differentiation is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While the sibling tools are weather-related, the description does not state exclusions or context. Usage is implied from the name and description but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ensemble_forecastC
Get ensemble forecasts showing forecast uncertainty with multiple model runs.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | Hourly weather variables to retrieve | |
| models | Yes | Ensemble models to use | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| forecast_days | No | Number of forecast days | |
| wind_speed_unit | No | kmh | |
| temperature_unit | No | celsius | |
| precipitation_unit | No | mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description mentions 'forecast uncertainty' but does not specify how uncertainty is represented (e.g., percentiles, range), nor discloses update frequency, data source, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff, but could be slightly longer to add value without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters, no output schema, and no annotations, the description is insufficient for a complex ensemble tool. It omits explanation of available variables, output structure, and interpretation of uncertainty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 70%, so most parameters have basic descriptions. The tool's description adds no additional meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves ensemble forecasts with uncertainty from multiple model runs. It distinguishes from the sibling 'weather_forecast' by emphasizing uncertainty, but does not differentiate from other model-specific siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like weather_forecast or model-specific tools. No scenarios or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flood_forecastB
Get river discharge and flood forecasts from GloFAS (Global Flood Awareness System).
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | River discharge variables to retrieve | |
| ensemble | No | If true, all forecast ensemble members will be returned | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days (up to 210 days possible) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully bears the burden of behavioral disclosure. It only states a generic 'get forecasts' without revealing traits like data update frequency, spatial coverage, probabilistic nature, or whether the tool requires specific permissions. This is insufficient for safe and accurate agent usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundancy. While it could include more detail without bloating, it efficiently communicates the core purpose without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description should offer clues about the return format or data structure. It does not, leaving the agent uncertain about what the tool returns. For a tool with 7 parameters and no output specification, the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all 7 parameters with 100% coverage, so the tool description adds no extra meaning beyond what the schema provides. Following the rubric, with high coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves river discharge and flood forecasts from the specific GloFAS system, using strong verbs 'Get' and specifying the resource and source. It effectively distinguishes from sibling tools like weather_forecast that handle atmospheric data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as weather_forecast or seasonal_forecast. The description does not specify prerequisites, limitations, or scenarios where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gem_forecastC
Get weather forecast from Canadian weather service GEM model with high-resolution data for Canada and North America.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | Hourly weather variables to retrieve | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps (e.g., Europe/Paris, America/New_York) | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days | |
| current_weather | No | Include current weather conditions | |
| wind_speed_unit | No | Wind speed unit | kmh |
| temperature_unit | No | Temperature unit | celsius |
| precipitation_unit | No | Precipitation unit | mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'Get weather forecast', implying read-only behavior, but does not disclose rate limits, data update frequency, geographic coverage limits beyond 'Canada and North America', or any side effects. The behavior is minimally described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 12 words, efficiently conveying the source model and coverage area. It is front-loaded with key information. Slightly more detail on output structure could be added without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not mention the structure of the forecast output (e.g., JSON, fields) nor the availability of daily, hourly, or current weather options. Given no output schema, the agent lacks context on what the response will contain. The tool's capabilities beyond the described model and region are not set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions. The tool description does not add any additional semantic information beyond what the schema already provides. Therefore, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides weather forecasts from the Canadian GEM model, specifically for Canada and North America with high-resolution data. This differentiates it from sibling tools that use other models or regions, though it does not mention the available variable types (daily, hourly) which are detailed in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over the many sibling weather tools. There is no mention of use cases, prerequisites, or scenarios where the GEM model is preferred (e.g., for Canadian regions). The description lacks comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geocodingA
Search for locations worldwide by place name or postal code. Returns geographic coordinates and detailed location information.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Place name or postal code to search for. Minimum 2 characters required. Examples: "Paris", "Berlin", "75001", "10967" | |
| count | No | Number of search results to return (maximum 100) | |
| format | No | Return format for results | json |
| language | No | Language code for translated results (e.g., "fr", "en", "de"). Returns translated results if available, otherwise in English or native language. | |
| countryCode | No | ISO-3166-1 alpha2 country code to filter results (e.g., "FR", "DE", "US"). Limits search to a specific country. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral traits. It states the tool searches and returns coordinates/location info but lacks details on read-only nature, rate limits, pagination, or error handling. This is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys purpose and output without extraneous words. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema or annotations, the description is adequate but incomplete. It does not address result limits, behavior of optional parameters like language, or any constraints on the search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all parameters described. The description adds no extra meaning beyond the schema; e.g., 'Search...by place name or postal code' mirrors the 'name' parameter description. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'locations worldwide' with specific inputs (place name or postal code) and outputs (geographic coordinates and detailed location information). It distinguishes itself from all sibling weather tools, which are unrelated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by specifying the tool's purpose for location searches, which implicitly distinguishes it from weather tools. However, it does not offer explicit guidance on when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gfs_forecastB
Get weather forecast from US NOAA GFS model with global coverage and high-resolution data for North America.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | Hourly weather variables to retrieve | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps (e.g., Europe/Paris, America/New_York) | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days | |
| current_weather | No | Include current weather conditions | |
| wind_speed_unit | No | Wind speed unit | kmh |
| temperature_unit | No | Temperature unit | celsius |
| precipitation_unit | No | Precipitation unit | mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It characterizes the operation as a read (get) but does not disclose rate limits, idempotency, data freshness, or any side effects, and only mentions high-resolution for North America as a trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it could be slightly more informative without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 11 parameters, no output schema, and many siblings, the description is incomplete. It does not explain return values, default behaviors for omitted parameters, or how high-resolution data affects results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no extra semantic value beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves weather forecasts from the US NOAA GFS model, explicitly noting global coverage and high-resolution data for North America, which distinguishes it from sibling tools like dwd_icon_forecast or ecmwf_forecast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when GFS model forecasts are desired but provides no explicit when-to-use or when-not-to-use guidance or direct comparisons with alternatives like weather_forecast or other model-specific tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jma_forecastB
Get weather forecast from Japan Meteorological Agency with high-resolution data for Japan and Asia.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | Hourly weather variables to retrieve | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps (e.g., Europe/Paris, America/New_York) | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days | |
| current_weather | No | Include current weather conditions | |
| wind_speed_unit | No | Wind speed unit | kmh |
| temperature_unit | No | Temperature unit | celsius |
| precipitation_unit | No | Precipitation unit | mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden. It only indicates a read operation ('Get weather forecast') but lacks any disclosure about potential limitations, rate limits, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with clear subject, verb, and object. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite rich schema, the description is minimal. It does not explain 'high-resolution' specifics, expected response format, or any JMA-specific nuances, leaving gaps for an agent to correctly interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 11 parameters. The description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches a weather forecast from the Japan Meteorological Agency, with high-resolution data for Japan and Asia. This specific source and regional focus distinguishes it from many sibling tools like gfs_forecast or metno_forecast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many weather forecast siblings. It does not specify that it is best for Japan/Asia or when other models might be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marine_weatherB
Get marine weather forecast including wave height, wave period, wave direction and sea surface temperature.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily marine weather variables to retrieve | |
| hourly | No | Marine weather variables to retrieve | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only lists output variables. It fails to disclose behavioral traits such as whether the tool is read-only, rate limits, data sources, or update frequency. Critical safety and performance characteristics are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word conveys information, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 7 parameters including daily/hourly options and forecast/past days, the description does not mention output format, data ranges, or how to use the parameters. The lack of output schema and minimal description leaves significant gaps for an agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by listing some variables (wave height, wave period, wave direction, SST), which correspond to hourly parameters. However, it does not cover daily variables or explain parameter relationships, so it adds marginal meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'marine weather forecast' and enumerates specific variables (wave height, wave period, wave direction, sea surface temperature), which distinguishes it from the sibling 'weather_forecast' and other general tools. The verb 'Get' combined with the resource 'marine weather forecast' leaves no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'weather_forecast' or other marine-related siblings. The description does not specify prerequisites, context, or exclusions, leaving the agent to infer usage without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meteofrance_forecastB
Get weather forecast from French Météo-France models including AROME (high-resolution France) and ARPEGE (Europe).
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | Hourly weather variables to retrieve | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps (e.g., Europe/Paris, America/New_York) | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days | |
| current_weather | No | Include current weather conditions | |
| wind_speed_unit | No | Wind speed unit | kmh |
| temperature_unit | No | Temperature unit | celsius |
| precipitation_unit | No | Precipitation unit | mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions models but does not describe outcomes for out-of-range coordinates, data freshness, rate limits, or the nature of the operation (read-only). Incomplete for safety assessment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with 15 words. No redundancy. Front-loaded with the core action ('Get weather forecast') and key differentiator (French models).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given tool complexity (11 params, no output schema, many sibling tools), the description is too sparse. It lacks details on geographical scope, output format, model selection logic, and typical use cases. The mention of models helps but is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents each parameter. The description adds context about models but does not enhance understanding of individual parameters beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it gets weather forecast from Météo-France models (AROME, ARPEGE). This distinguishes it from sibling tools like dwd_icon_forecast or gfs_forecast, as it is specific to French models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. It hints at regional focus (France, Europe via models) but does not explicitly state that it should be used for French/European regions or how it compares to other regional forecast tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
metno_forecastC
Get weather forecast from Norwegian weather service with high-resolution data for Nordic countries.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | Hourly weather variables to retrieve | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps (e.g., Europe/Paris, America/New_York) | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days | |
| current_weather | No | Include current weather conditions | |
| wind_speed_unit | No | Wind speed unit | kmh |
| temperature_unit | No | Temperature unit | celsius |
| precipitation_unit | No | Precipitation unit | mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the tool gets a forecast, but does not disclose data recency, resolution limits, or other behavioral traits essential for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that immediately conveys the core purpose. No redundant information, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 11 parameters and no output schema, yet the description offers no information about response format, data structure, or how the high-resolution aspect manifests. For a tool with this complexity, the description is too brief to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning beyond what's in the schema; it remains generic. No parameter details are elaborated in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets a weather forecast from the Norwegian service, with a specific resource and verb. It mentions 'high-resolution data for Nordic countries', which helps differentiate it from generic weather tools and other regional ones, though the differentiation is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus the many sibling tools. It implies Nordic focus but doesn't state when not to use it or name alternatives. The description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seasonal_forecastC
Get long-range seasonal forecasts for temperature and precipitation up to 9 months ahead.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | 6-hourly weather variables to retrieve | |
| end_date | No | End date in YYYY-MM-DD format | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| start_date | No | Start date in YYYY-MM-DD format | |
| forecast_days | No | Number of forecast days: 45 days, 3 months (default), 6 months, or 9 months | |
| wind_speed_unit | No | kmh | |
| temperature_unit | No | celsius | |
| precipitation_unit | No | mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states it returns seasonal forecasts but omits that it can also include past_days data (retrospective), the distinction between daily and 6-hourly 'hourly' data, and any data source or update frequency. The agent is left uninformed about key operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It front-loads the core purpose. However, it sacrifices necessary detail for brevity, missing key scoping information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 12 parameters, no output schema, and numerous sibling tools, the description is insufficient. It fails to explain the range of output variables, the difference between daily and hourly intervals, the use of date parameters, or how 'forecast_days' maps to months. The tool's full functionality is obscure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% (high), establishing a baseline of 3. The description adds no parameter-level meaning beyond what the schema already provides, such as clarifying the function of 'hourly' (6-hourly) or the meaning of 'forecast_days' increments. It does not compensate for the 25% of params without schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and specifies the resource ('long-range seasonal forecasts for temperature and precipitation') with a time scope ('up to 9 months ahead'). However, it underrepresents the full range of variables available (e.g., wind, humidity, soil moisture), which could mislead an agent about capability. It distinguishes from short-range forecast tools, but not explicitly from climate projections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings like weather_forecast (short-term) or climate_projection (longer-term). There are no usage conditions, prerequisites, or exclusions stated, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
weather_archiveA
Get historical weather data from ERA5 reanalysis (1940-present) for specific coordinates and date range.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | Hourly weather variables to retrieve | |
| end_date | Yes | End date in YYYY-MM-DD format | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| start_date | Yes | Start date in YYYY-MM-DD format | |
| temperature_unit | No | celsius |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It identifies the data source (ERA5 reanalysis) and time range, but lacks details on access limitations, data latency, or whether the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 13 words, front-loaded with the key purpose. Every word is necessary; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters and no output schema. The description does not explain the return format, units, or any limitations beyond the data source. While basic, it covers the essential purpose and source.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 88% schema coverage, the input schema already documents most parameters. The description adds context about the data source and time range but does not provide additional meaning for individual parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves historical weather data from the ERA5 reanalysis, specifying the time span (1940-present) and parameters (coordinates and date range). This distinguishes it from sibling tools like weather_forecast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for historical data retrieval, and the sibling context suggests alternatives for forecasts. However, it does not explicitly state when not to use this tool or provide direct comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
weather_forecastC
Get weather forecast data for coordinates using Open-Meteo API. Supports hourly and daily data with various weather variables.
| Name | Required | Description | Default |
|---|---|---|---|
| daily | No | Daily weather variables to retrieve | |
| hourly | No | Hourly weather variables to retrieve | |
| latitude | Yes | Latitude in WGS84 coordinate system | |
| timezone | No | Timezone for timestamps (e.g., Europe/Paris, America/New_York) | |
| longitude | Yes | Longitude in WGS84 coordinate system | |
| past_days | No | Include past days data | |
| forecast_days | No | Number of forecast days | |
| current_weather | No | Include current weather conditions | |
| wind_speed_unit | No | Wind speed unit | kmh |
| temperature_unit | No | Temperature unit | celsius |
| precipitation_unit | No | Precipitation unit | mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose behavioral traits such as rate limits, data source limitations, default units, or response format. It only mentions using Open-Meteo API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, brief and to the point. Could be slightly more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, no output schema, and no annotations, the description is lacking. It does not cover output format, error handling, usage limits, or how this tool fits among the many sibling forecast tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds only a generic summary ('Supports hourly and daily data with various weather variables'), which provides minimal additional value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb (Get), resource (weather forecast data for coordinates), and mentions hourly and daily data. However, it does not differentiate from sibling forecast tools like dwd_icon_forecast or weather_archive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternative forecast models or the weather_archive tool. The description lacks context for choosing among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
17 tool updates
v1.1.1- First observed
air_quality - First observed
climate_projection - First observed
dwd_icon_forecast - First observed
ecmwf_forecast - First observed
elevation - First observed
ensemble_forecast - First observed
flood_forecast - First observed
gem_forecast - First observed
geocoding - First observed
gfs_forecast - First observed
jma_forecast - First observed
marine_weather - First observed
meteofrance_forecast - First observed
metno_forecast - First observed
seasonal_forecast - First observed
weather_archive - First observed
weather_forecast
TDQS
Scored across 17 tools
Each tool targets a distinct weather data source or domain (e.g., air quality, marine, specific models). There is no functional overlap; agents can easily select the correct tool based on the data type or model needed.
All tool names use lowercase snake_case with a descriptive noun or noun_verb pattern (e.g., weather_forecast, geocoding, dwd_icon_forecast). The naming is consistent and predictable across the set.
With 17 tools, the server covers a wide range of weather and climate data sources. While slightly larger than average, each tool serves a unique purpose and the count is justified by the breadth of the domain.
The tool set spans current forecasts, historical data, air quality, marine conditions, elevation, floods, seasonal outlooks, climate projections, ensemble forecasts, and multiple individual model forecasts. It comprehensively covers the weather and climate data domain.
Maintenance
Related MCP Connectors
Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.
Real-time weather conditions and multi-day forecasts via Open-Meteo — free, no API key required
Open-Meteo MCP — weather forecast + historical reanalysis + sister APIs
US weather & geo for AI agents: forecasts, alerts, earthquakes, elevation, geocoding. No keys.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to access real-time and historical weather data through multiple weather APIs including OpenMeteo, Tomorrow.io, and OpenWeatherMap. Provides comprehensive meteorological information including current conditions, forecasts, historical data, and weather alerts.-
- AlicenseAqualityAmaintenanceProvides comprehensive access to Open-Meteo APIs for weather forecasts, historical data, air quality, and marine conditions. It enables LLMs to query specialized meteorological models, perform geocoding, and access advanced climate or flood projections.1755468MIT
- FlicenseNot gradedqualityDmaintenanceProvides weather data including current conditions, humidity, wind speed, sunrise/sunset, and 7-day forecast via Open-Meteo APIs, discoverable and callable by LangChain agents.-
- AlicenseAqualityDmaintenanceProvides comprehensive weather data (forecasts, historical, air quality, marine) from Open-Meteo through 12 tools, with support for single and batch location queries.121Apache 2.0