MCP Weather Server logo

MCP Weather Server

by isdaniel

Weather, air quality, timezone, and time tools backed by Open-Meteo over stdio, SSE, or Streamable HTTP.

Install MCP Weather Server

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "isdaniel-mcp-weather-server": {
      "command": "uvx",
      "args": [
        "mcp_weather_server"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

uvx mcp_weather_server

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 24d ago.

Overview

The isdaniel/mcp_weather_server MCP server exposes Open-Meteo weather and air-quality data through MCP tools. It supports current conditions, date-range forecasts with hourly data, pollutant levels, health advice, timezone information, and time conversion. Run it over standard stdio for desktop clients, or use its SSE and Streamable HTTP modes for web applications. Reach for it when an agent needs location-based weather or time data without an API key.

Use cases

  • Retrieve current conditions for a city
  • Inspect air pollution and health advice
  • Query hourly weather across a date range
  • Convert times between timezones

Key features

  • Current weather metrics
  • Date-range hourly weather
  • Air-quality pollutants and advice
  • Timezone lookup and conversion
  • stdio, SSE, and Streamable HTTP transports
  • No API key required

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

9/9 checks healthy over the last 79d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · mcp_weather_server (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars60Stargazers on the source repository.
Last commit1mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Weather Server works

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:

Terminal
pip install mcp_weather_server

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

Terminal
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.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Weather Server

isdaniel/mcp_weather_server is an MCP server that connects AI clients to the Open-Meteo API. Its main tools retrieve current and date-range weather, detailed weather JSON, air-quality measurements and advice, current datetime, timezone information, and timezone conversions over stdio or HTTP transports.

Install it with pip using `pip install mcp_weather_server`. You can also use Smithery with `npx -y @smithery/cli install @isdaniel/mcp_weather_server`. HTTP modes additionally require `starlette` and `uvicorn`.

No, it does not require an API key. The server uses the free and open-source Open-Meteo API for its weather and air-quality data.

Run `python -m mcp_weather_server --mode sse` for SSE or use `--mode streamable-http` for Streamable HTTP. HTTP mode supports custom `--host` and `--port` values; Streamable HTTP also supports `--stateless`.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Weather Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/isdaniel-mcp-weather-server?style=directory)](https://allmcps.com/mcp/isdaniel-mcp-weather-server)
HTML Embed
<a href="https://allmcps.com/mcp/isdaniel-mcp-weather-server"><img src="https://allmcps.com/api/badge/isdaniel-mcp-weather-server?style=directory" alt="MCP Weather Server on AllMCPs" /></a>