mcp-meteoblue
This server provides weather data from the meteoblue API through MCP tools.
search_locations – Resolve cities, postal codes, IATA/ICAO airport codes, or other places to coordinates/elevation using meteoblue Location Search.
get_forecast – Fetch forecast JSON by place name or coordinates, with configurable forecast days, history days, packages, timezone, elevation, language, country filter, and temperature/wind/precipitation units.
get_forecast_image – Generate forecast meteogram images by place name or coordinates, supporting many meteogram types and image-specific query options.
Supports hourly time-range filtering (e.g. tomorrow 14:00–16:00) using
startHour/endHouranddayOffsetor explicitdate.Restricts forecast packages to those available in the Free Weather API and returns images only when the API key has the proper entitlement.
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., "@mcp-meteoblue What's the weather in Paris for the next 5 days?"
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.
mcp-meteoblue
An MCP server for the meteoblue Weather API, written in JavaScript. It lets MCP clients search for locations, fetch forecasts using packages available through the Free Weather API, and request forecast meteogram images.
Tools
search_locationsresolves cities, postal codes, and IATA/ICAO airport codes with meteoblue Location Search.get_forecastaccepts either a place name or coordinates and returns forecast JSON. It defaults to current, hourly, and daily weather.get_forecast_imageaccepts either a place name or coordinates and returns a forecast image directly to the MCP client.
Place names passed to forecast or image tools are always resolved through the official meteoblue Location Search API. Forecast package inputs are restricted to the packages listed in the Free Weather API documentation.
get_forecast can restrict hourly output to a local time range. For example, tomorrow from 14:00 through 16:00 (inclusive):
{
"location": "Paris",
"forecastDays": 2,
"dayOffset": 1,
"startHour": "14:00",
"endHour": "16:00"
}You can use an explicit date such as 2026-08-24 instead of dayOffset. An end time earlier than the start time represents an overnight range. When a range is specified, the server requests basic-1h automatically and returns only the hourly data inside that range.
meteoblue's current Free Weather API documentation says that images require a higher access level. The image tool is included for keys with an Image API entitlement and will return a clear authorization error otherwise.
Related MCP server: mcp-weather
Requirements
Node.js 20 or newer
Keep the key private. This server reads it from METEOBLUE_API_KEY; it is never part of the package or MCP tool arguments.
Run from npm
Add this stdio server to your MCP client configuration:
{
"mcpServers": {
"meteoblue": {
"command": "npx",
"args": ["-y", "mcp-meteoblue"],
"env": {
"METEOBLUE_API_KEY": "your_api_key_here"
}
}
}
}Or run it directly:
METEOBLUE_API_KEY=your_api_key_here npx -y mcp-meteoblueThe server uses stdio, so it intentionally produces no normal terminal output while it waits for an MCP client.
Docker
Build the image locally:
docker build -t mcp-meteoblue .Configure a Docker-based stdio server in your MCP client:
{
"mcpServers": {
"meteoblue": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env",
"METEOBLUE_API_KEY",
"mcp-meteoblue"
],
"env": {
"METEOBLUE_API_KEY": "your_api_key_here"
}
}
}
}The container runs as the unprivileged node user. Keep stdin open with -i because MCP communication uses stdio.
Develop locally
npm install
npm test
METEOBLUE_API_KEY=your_api_key_here npm startPoint an MCP client at node /absolute/path/to/mcp-meteoblue/src/index.js and set the environment variable in that client's configuration.
Releases
GitHub Actions runs the test suite and validates the npm tarball on Node.js 20, 22, 24, and 26 for every push and pull request. Dependabot checks npm and GitHub Actions dependencies weekly.
Pushing a v* Git tag triggers .github/workflows/publish.yml. The workflow uses npm trusted publishing (OIDC) and automatically attaches provenance. Configure the npm trusted publisher with:
GitHub owner:
unixfoxRepository:
mcp-meteoblueWorkflow:
publish.ymlEnvironment:
npm
No npm token is stored in GitHub when trusted publishing is configured.
API scope
The server calls only:
https://www.meteoblue.com/{language}/server/search/query3https://my.meteoblue.com/packages/{packages}https://my.meteoblue.com/images/{forecast-image-type}
It does not expose meteoblue History, Dataset, Maps, Measurements, or other APIs.
License
MIT
Available Tools
3 toolsget_forecastGet meteoblue weather forecastA
Get meteoblue forecast JSON by place name or coordinates. Place names are resolved through the Location Search API. Only packages documented for the Free Weather API are accepted.
Inputs: language, latitude, location, packages, +9 more.
get_forecast_imageGet meteoblue forecast imageA
Generate a meteoblue forecast meteogram by place name or coordinates. Returns the PNG directly. Image access depends on the API key's meteoblue entitlement.
Inputs: type, options, language, latitude, +4 more.
search_locationsSearch meteoblue locationsB
Resolve a city, place, postal code, IATA code, or ICAO code to coordinates and elevation using the meteoblue Location Search API.
Inputs: query (required), page, limit, language, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: location resolution, raw forecast data, and forecast image generation. The two forecast tools are differentiated by output format (JSON vs PNG), so there is no practical ambiguity.
All tool names follow a consistent verb_noun pattern: search_locations, get_forecast, get_forecast_image. The naming clearly communicates both the action and the target.
Three tools is well-scoped for a small weather API server: one for geocoding, one for data, one for imagery. Each tool serves a distinct step in the core location-to-forecast workflow.
The surface covers the essential meteorology workflow: resolve a location, retrieve forecast data, and generate a forecast image. A minor gap is the lack of separate current-conditions or historical-weather tools, but forecasts likely include current data and the core purpose is well covered.
Related MCP Connectors
Hosted MCP server for Xweather weather data: conditions, forecasts, alerts, and more.
OpenWeather MCP — wraps the OpenWeatherMap API (openweathermap.org)
NOAA and ECMWF weather forecast MCP for discovery, validation, and GribStream OAuth queries.
WeatherAPI.com MCP — wraps WeatherAPI.com (api.weatherapi.com)
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables MCP clients like Kiro and Claude to access current weather conditions and forecasts for any location using the OpenWeatherMap API.-
- AlicenseNot gradedqualityDmaintenanceEnables to interact with comprehensive weather data through the MCP protocol, including current conditions, multi-day forecasts, hourly forecasts, and geocoding.12 npmMIT
- AlicenseNot gradedqualityCmaintenanceConnects MCP clients to Weathersight weather data APIs, enabling queries about historical observations, typical climate, extremes, degree days, and long-term trends for locations worldwide.MIT
- FlicenseAqualityCmaintenanceEnables MCP clients to retrieve current conditions, multi-day forecasts, and historical weather data for any city using plain city names.3-