Weather

by isdaniel

Not rated
GitHub

About

Provides real-time weather information for any city through the Open-Meteo API without requiring API keys or complex setup.

Details

Author
isdaniel
Repository
isdaniel/mcp_weather_server
License
Apache License 2.0
Categories
Cloud Service, Other, API, Design, Developer Tools, AI, Knowledge Base, Frontend
Tags
#integration

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Weather
    Command (node, npx, python, etc.) python
    Arguments
    • Argument 1 -m
    • Argument 2 mcp_weather_server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

This server provides several tools for weather and time-related operations:

To install Weather MCP Server automatically via Smithery:

npx -y @smithery/cli install @isdaniel/mcp_weather_server

This package can be installed using pip:

pip install mcp_weather_server

This server is designed to be installed manually by adding its configuration to the cline_mcp_settings.json file.

1. Add the following entry to the mcpServers object in your cline_mcp_settings.json file:

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": [
        "-m",
        "mcp_weather_server"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

2. Save the cline_mcp_settings.json file.

For HTTP SSE or Streamable HTTP support, you'll need additional dependencies:

pip install mcp_weather_server starlette uvicorn

get_current_weather

Get current weather for a city with comprehensive metrics. Parameters: city (string, required).

get_weather_by_datetime_range

Get weather data for a date range with hourly details. Parameters: city (string, required), start_date (string, required), end_date (string, required).

get_weather_details

Get detailed weather information as structured JSON data. Parameters: city (string, required).

get_air_quality

Get air quality information with pollutant levels and health advice. Parameters: city (string, required), variables (array, optional).

get_air_quality_details

Get detailed air quality information as structured JSON data. Parameters: city (string, required), variables (array, optional).

get_current_datetime

Get current time in any timezone. Parameters: timezone_name (string, required).

get_timezone_info

Get timezone information. Parameters: timezone_name (string, required).

convert_time

Convert time between timezones. Parameters: time_str (string, required), from_timezone (string, required), to_timezone (string, required).

Weather Tools

1. get_current_weather - Get current weather for a city with comprehensive metrics 2. get_weather_by_datetime_range - Get weather data for a date range with hourly details 3. get_weather_details - Get detailed weather information as structured JSON data

Air Quality Tools

4. get_air_quality - Get air quality information with pollutant levels and health advice 5. get_air_quality_details - Get detailed air quality data as structured JSON

Time & Timezone Tools

6. get_current_datetime - Get current time in any timezone 7. get_timezone_info - Get timezone information 8. convert_time - Convert time between timezones

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "weather": {
            "command": "python",
            "args": [
                "-m",
                "mcp_weather_server"
            ],
            "env": {},
            "disabled": false,
            "autoApprove": []
        }
    }
}

Macos

{
    "command": "python",
    "args": [
        "-m",
        "mcp_weather_server"
    ],
    "env": [],
    "disabled": false,
    "autoApprove": []
}

Windows

{
    "command": "python",
    "args": [
        "-m",
        "mcp_weather_server"
    ],
    "env": [],
    "disabled": false,
    "autoApprove": []
}

Linux

{
    "command": "python",
    "args": [
        "-m",
        "mcp_weather_server"
    ],
    "env": [],
    "disabled": false,
    "autoApprove": []
}

Weather MCP Server

mcp-name: io.github.isdaniel/mcp_weather_server

A Model Context Protocol (MCP) server that provides weather information using the Open-Meteo API. This server supports multiple transport modes: standard stdio, HTTP Server-Sent Events (SSE), and the new Streamable HTTP protocol for web-based integration.

Features

Weather & Air Quality

Get current weather information with comprehensive metrics: Temperature, humidity, dew point Wind speed, direction, and gusts Precipitation (rain/snow) and probability Atmospheric pressure and cloud cover UV index and visibility "Feels like" temperature Sunrise and sunset times (local time at the location) Get weather data for a date range with hourly details and daily sunrise/sunset times Get air quality information including: PM2.5 and PM10 particulate matter Ozone, nitrogen dioxide, carbon monoxide Sulfur dioxide, ammonia, dust Aerosol optical depth Health advisories and recommendations

Time & Timezone

Get current date/time in any timezone Convert time between timezones Get timezone information

Transport Modes

Multiple transport modes: stdio - Standard MCP for desktop clients (Claude Desktop, etc.) SSE - Server-Sent Events for web applications streamable-http - Modern MCP Streamable HTTP protocol with stateful/stateless options
  • RESTful API endpoints via Starlette integration

Installation

Installing via Smithery

To install Weather MCP Server automatically via Smithery:

npx -y @smithery/cli install @isdaniel/mcp_weather_server

Standard Installation (for MCP clients like Claude Desktop)

This package can be installed using pip:

pip install mcp_weather_server

Manual Configuration for MCP Clients

This server is designed to be installed manually by adding its configuration to the cline_mcp_settings.json file.

1. Add the following entry to the mcpServers object in your cline_mcp_settings.json file:

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": [
        "-m",
        "mcp_weather_server"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

2. Save the cline_mcp_settings.json file.

HTTP Server Installation (for web applications)

For HTTP SSE or Streamable HTTP support, you'll need additional dependencies:

pip install mcp_weather_server starlette uvicorn

Server Modes

This MCP server supports stdio, SSE, and streamable-http modes in a single unified server:

Mode Comparison

| Feature | stdio | SSE | streamable-http |
|---------|-------|-----|-----------------|
| Use Case | Desktop MCP clients | Web applications (legacy) | Web applications (modern) |
| Protocol | Standard I/O streams | Server-Sent Events | MCP Streamable HTTP |
| Session Management | N/A | Stateful | Stateful or Stateless |
| Endpoints | N/A | /sse, /messages/ | /mcp (single) |
| Best For | Claude Desktop, Cline | Browser-based apps | Modern web apps, APIs |
| State Options | N/A | Stateful only | Stateful or Stateless |

1. Standard MCP Mode (Default)

The standard mode communicates via stdio and is compatible with MCP clients like Claude Desktop.

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.