The Open-Meteo MCP Server provides comprehensive access to weather, climate, and environmental data from multiple global sources via the Open-Meteo APIs, enabling LLMs to retrieve and analyze meteorological information.
Core Weather Capabilities
Weather Forecast – 7–16 day forecasts (hourly & daily) including temperature, humidity, precipitation, wind, UV index, and more
Weather Archive – Historical ERA5 reanalysis data from 1940 to present for any coordinates
Air Quality – Forecasts for PM2.5, PM10, ozone, nitrogen dioxide, sulphur dioxide, ammonia, dust, and aerosol optical depth
Marine Weather – Wave height, wave period, wave direction, swell data, and sea surface temperature
Elevation – Digital elevation model data for any geographic coordinates
Geocoding – Search locations worldwide by name or postal code to retrieve coordinates and details
Specialized Weather Model Forecasts
DWD ICON (Germany), NOAA GFS (US), Météo-France (AROME/ARPEGE), ECMWF (global), JMA (Japan), MET Norway (Nordic), GEM (Canada)
Advanced Forecasting
Flood Forecast – River discharge and flood forecasts from GloFAS for up to 210 days
Seasonal Forecast – Long-range forecasts up to 9 months ahead
Climate Projections – CMIP6-based projections with customizable warming scenarios
Ensemble Forecast – Multiple model runs to quantify forecast uncertainty
Customization Options
Temperature units (Celsius/Fahrenheit), wind speed units (km/h, m/s, mph, knots), precipitation units (mm/inch), timezone selection, and custom date ranges
Deployment: Runs via npx, npm, Docker, or HTTP transport with Claude Desktop integration and configurable API endpoints.
Click on "Install 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 7-day weather forecast for Paris?"
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, pollen, European/US AQI indices, UV index 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
Installation
Requirements
Node.js >= 22.0.0
Method 1: Using npx (Recommended)
No installation required! The server will run directly via npx.
Method 2: Global Installation via npm
Method 3: From Source (Development)
Configuration
Claude Desktop Configuration
Simple Configuration (Recommended)
Add the following configuration to your Claude Desktop config file:
Full Configuration (with environment variables)
Local Development Configuration
If you're developing locally or installed from source:
Custom Instance Configuration
If you're using your own Open-Meteo instance:
Streamable HTTP Transport
The server also supports Streamable HTTP transport for remote deployments. Set the TRANSPORT environment variable to http:
This starts an Express server on the specified port (default: 3000) with the MCP endpoint at /mcp. The HTTP transport supports session management with unique session IDs per client.
Using npm scripts
Docker Deployment
The server can be easily deployed using Docker.
Using Pre-built Image from GitHub Container Registry (Recommended)
Pull and run the official image:
Available tags:
latest- Latest stable releasev1.x.x- Specific version (e.g.,v1.1.3)1- Latest v1.x.x release1.1- Latest v1.1.x release
Using Docker Compose
The repository includes two Docker Compose configurations:
Production (uses pre-built image):
Development (builds from source):
Building from Source
If you prefer to build the image yourself:
Environment Configuration
Copy .env.example to .env and customize as needed:
Then update docker-compose.yml to use the .env file or pass environment variables directly.
Health Check
The HTTP server includes a health check endpoint:
This endpoint is used by Docker's HEALTHCHECK and can be integrated with container orchestration platforms (Kubernetes, Docker Swarm, etc.).
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)OPEN_METEO_FLOOD_API_URL- Flood forecast API URL (default: https://flood-api.open-meteo.com)OPEN_METEO_CLIMATE_API_URL- Climate projection API URL (default: https://climate-api.open-meteo.com)TRANSPORT- Transport mode:httpfor Streamable HTTP, omit for stdio (default: stdio)PORT- HTTP server port when using HTTP transport (default: 3000)
Usage Examples
Geocoding and Location Search
Basic Weather Forecast
Historical Weather Data
Air Quality Monitoring
Marine Weather
Flood Monitoring
Climate Projections
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 particlesalder_pollen: Alder pollen (Europe only)birch_pollen: Birch pollen (Europe only)grass_pollen: Grass pollen (Europe only)mugwort_pollen: Mugwort pollen (Europe only)olive_pollen: Olive pollen (Europe only)ragweed_pollen: Ragweed pollen (Europe only)european_aqi: European Air Quality Indexeuropean_aqi_pm2_5: European AQI for PM2.5european_aqi_pm10: European AQI for PM10european_aqi_nitrogen_dioxide: European AQI for NO₂european_aqi_ozone: European AQI for ozoneeuropean_aqi_sulphur_dioxide: European AQI for SO₂us_aqi: US Air Quality Indexus_aqi_pm2_5: US AQI for PM2.5us_aqi_pm10: US AQI for PM10us_aqi_nitrogen_dioxide: US AQI for NO₂us_aqi_ozone: US AQI for ozoneus_aqi_sulphur_dioxide: US AQI for SO₂us_aqi_carbon_monoxide: US AQI for COuv_index: UV indexuv_index_clear_sky: UV index under clear sky conditions
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
Project Structure
API 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:
The GitHub Action will automatically:
Run tests and build the project
Publish to npm with provenance
Create a GitHub release
Update version badges
License
MIT