# isdaniel/mcp_weather_server [Health: Active]

**Category:** 🗺️ Location Services  
**Repository:** https://github.com/isdaniel/mcp_weather_server  
**GitHub Stars:** 60  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/isdaniel-mcp-weather-server

## Description
Get weather information from https://api.open-meteo.com API.

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

```json
"mcpServers": {
  "mcp-weather-server": {
    "command": "uvx",
    "args": ["mcp_weather_server"]
  }
}
```

## Documentation

## What isdaniel/mcp_weather_server MCP server does

The isdaniel/mcp_weather_server MCP server connects MCP clients to the Open-Meteo API for weather and air-quality information. It accepts city-based weather requests and exposes the results through named MCP tools rather than requiring an agent to call the upstream API directly.

Weather responses can include temperature, apparent temperature, humidity, dew point, wind speed and direction, gusts, precipitation, precipitation probability, pressure, cloud cover, UV index, visibility, and local sunrise and sunset times. Historical or forecast range requests can return hourly information together with daily sunrise and sunset data.

Air-quality tools report pollutants and related measurements such as PM2.5, PM10, ozone, nitrogen dioxide, carbon monoxide, sulfur dioxide, ammonia, dust, and aerosol optical depth. The server also provides health advisories and recommendations when returned by its air-quality functionality.

## How it works

The isdaniel/mcp_weather_server MCP server can communicate through three transport modes:

- `stdio` is the default mode for desktop MCP clients.
- `sse` exposes MCP communication through `/sse` and accepts messages at `/messages/`.
- `streamable-http` uses a single `/mcp` endpoint and supports stateful or stateless operation.

Streamable HTTP is stateful by default and maintains session state with session IDs. Adding `--stateless` creates a fresh transport for each request without session tracking. HTTP modes can bind to a chosen host and port and can run with debug mode enabled.

## Setup and configuration

Install the Python package with pip:

```bash
pip install mcp_weather_server
```

For HTTP operation, install the additional Starlette and Uvicorn dependencies:

```bash
pip install mcp_weather_server starlette uvicorn
```

The default stdio process can be started with:

```bash
python -m mcp_weather_server
```

You can also select the transport explicitly with `python -m mcp_weather_server.server --mode stdio`. SSE and Streamable HTTP use `--mode sse` or `--mode streamable-http`; `--host`, `--port`, `--stateless`, and `--debug` control the HTTP server where applicable. The documented default HTTP binding is `0.0.0.0:8080`.

No API key is required. The package can also be installed through Smithery with `npx -y @smithery/cli install @isdaniel/mcp_weather_server`.

## Tools and capabilities

The available tools are:

- `get_current_weather`: retrieves current weather for a city with comprehensive metrics. Its required `city` value uses English city names.
- `get_weather_by_datetime_range`: returns weather for a date range with hourly details.
- `get_weather_details`: returns detailed weather data as structured JSON.
- `get_air_quality`: provides pollutant levels and health advice.
- `get_air_quality_details`: returns detailed air-quality data as structured JSON.
- `get_current_datetime`: gets the current date and time for a timezone.
- `get_timezone_info`: retrieves timezone information.
- `convert_time`: converts a time between timezones.

## Limitations and notes

The server depends on the Open-Meteo API for its weather and air-quality data. It does not describe authentication settings, additional data providers, or a separate location-search tool.

HTTP deployment requires the extra web-server dependencies, while stdio is the default path for desktop clients. SSE is described as a web-application transport, and Streamable HTTP provides the newer single-endpoint alternative with optional stateless handling.

_Full upstream README: https://allmcps.com/mcp/isdaniel-mcp-weather-server/readme_

