# Meteostat [Health: Active]

**Category:** 🌳 Environment & Nature  
**Repository:** https://github.com/pipeworx-io/mcp-meteostat  
**GitHub Stars:** 0  
**npm Downloads (last month):** 486  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/meteostat

## Description
Meteostat MCP — historical weather from 11k+ stations (no auth)

## Tools
Capabilities this server exposes over MCP:

- **find_stations** — Find Meteostat weather station IDs by place name and/or geographic proximity — the lookup you need BEFORE get_daily_history / get_monthly_normals (which require a station_id). Search by name ("San Francisco", "Heathrow"), filter by country (ISO-2 like "US", "GB"), and/or rank by nearest to a lat/lon. Returns each station's id, name, country, region, coordinates, elevation, timezone, and data inventory (which granularities — hourly/daily/monthly — are available and their date ranges, so you can pick a station that actually has the period you need). Use for "weather station near X", "what is the station ID for Y", "stations in country Z".
- **get_daily_history** — Daily historical weather for a Meteostat station between two dates. Returns date-keyed temperature (avg/min/max), precipitation, snow, wind, pressure, sun hours. Get a station_id from find_stations.
- **get_monthly_normals** — Monthly climate normals for a station — long-run averages of temperature, precipitation, and pressure by calendar month. Useful for "what's normal in May here" baselines.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "meteostat": {
    "command": "npx",
    "args": ["-y","@pipeworx/mcp-meteostat"]
  }
}
```

## Documentation

## What Meteostat does

Meteostat provides agent-accessible historical weather data through MCP. The service covers more than 11,000 weather stations and reads from Meteostat’s public bulk data at `https://bulk.meteostat.net/v2/`. No Meteostat API key is required for the hosted connection or anonymous local-bridge calls.

The server focuses on three tasks:

- Locating stations by place, country, or geographic proximity.
- Returning daily historical measurements for a selected station and date range.
- Providing long-run monthly climate normals for a station.

The integration is independent and unofficial; it is not affiliated with, endorsed by, or published by Meteostat.

## How it works

`find_stations` is the starting point when a request identifies a place rather than a numeric station ID. It can search by name, filter results with an ISO-2 country code, and rank stations near latitude and longitude coordinates. Results include station identity and location details, along with available hourly, daily, and monthly data ranges. That inventory helps select a station with coverage for the period under analysis.

Pass the resulting `station_id` to `get_daily_history` with a start and end date. Daily results include average, minimum, and maximum temperature, precipitation, snow, wind, pressure, and sunshine hours, keyed by date.

`get_monthly_normals` returns long-term averages by calendar month for temperature, precipitation, and pressure. This is suited to questions such as whether a particular month is warmer or wetter than normal at a station.

The hosted MCP URL is `https://gateway.pipeworx.io/meteostat/mcp`. The same gateway also exposes shared Pipeworx meta-tools, including routing and discovery tools. A full gateway endpoint is available when an agent needs direct access to all Pipeworx data sources.

## Setup and configuration

A remote MCP client can connect with this configuration:

```json
{
  "mcpServers": {
    "meteostat": {
      "url": "https://gateway.pipeworx.io/meteostat/mcp"
    }
  }
}
```

For a local stdio connection, run the npm package with `npx`:

```json
{
  "mcpServers": {
    "meteostat": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-meteostat"]
    }
  }
}
```

The local bridge forwards requests to the hosted gateway and therefore requires network access. Anonymous use is capped at 50 calls per day. A Pipeworx account and `PIPEWORX_API_KEY` raise the allowance to 200 calls per day; the key is sent as a Bearer token. Set `PIPEWORX_META_TOOLS=1` if the local connection should also list the gateway-wide meta-tools.

The tools can also be called over HTTP. For example, `POST https://gateway.pipeworx.io/v1/tools/meteostat_find_stations` accepts JSON arguments such as `{"query":"San Francisco","country":"US"}`.

## Tools and capabilities

- `find_stations`: Search for stations by place name, country, or proximity to coordinates. Returns IDs, names, countries, regions, coordinates, elevation, time zones, and data availability ranges.
- `get_daily_history`: Retrieve date-keyed daily weather readings between two dates for a station.
- `get_monthly_normals`: Retrieve long-run monthly averages for temperature, precipitation, and pressure.
- `ask_pipeworx`: Ask the gateway to select a tool and populate arguments in plain English when gateway meta-tools are enabled or when using the hosted gateway.

## Limitations and notes

Station discovery depends on the integration’s station-search capability; the underlying free Meteostat public tier does not expose a search API directly. The server’s `find_stations` tool provides the lookup workflow used by this MCP integration. Data access is online only, and the local npm package has no offline mode.

The scoped hosted endpoint lists the Meteostat tools along with shared Pipeworx tools. The exact tool scope is reported by the MCP `initialize` response. Anonymous local calls have a daily limit, while keyed use is metered through Pipeworx. The package is licensed under MIT.

_Full upstream README: https://allmcps.com/mcp/meteostat/readme_

