Skip to main content
Glama
darshan0548

weather-mcp

by darshan0548

weather-mcp

Ein MCP-Server (Model Context Protocol), der es einem KI-Assistenten – Claude, Gemini CLI oder einem beliebigen MCP-kompatiblen Client – erlaubt, echte Wetterfragen anhand von Live-Daten zu beantworten, statt nur Rohdaten abzurufen.

Unterstützt von Open-Meteo – kostenlos, kein API-Schlüssel erforderlich.

Warum das kein reiner Wetter-API-Wrapper ist

Die meisten Wetter-Integrationen liefern nur ein temperature: 22°C zurück. Dieses Projekt legt eine Reasoning-Ebene darüber, sodass du Dinge fragen kannst, die eine reine API nicht direkt beantworten kann:

  • get_weather("Bangalore") – aktuelle Bedingungen + heutige Vorhersage

  • should_i_carry_umbrella("Mumbai") – eine Ja/Nein-Antwort mit Begründung, nicht nur eine Regenwahrscheinlichkeit

  • is_good_for_outdoors("Delhi") – prüft Regen, Wind und Temperatur zusammen, um zu beurteilen, ob es ein guter Tag ist, draußen zu sein

  • compare_weather("Bangalore", "Delhi") – vergleicht zwei Städte auf einmal

Related MCP server: Weather MCP Server

Einrichtung

git clone https://github.com/darshan0548/weather-mcp.git
cd weather-mcp
python3 -m venv venv
source venv/bin/activate   # on Windows: venv\Scripts\activate
pip install -r requirements.txt

Tests ausführen

Ein kurzer Plausibilitätscheck gegen die echte API (kein Mocking, kein API-Schlüssel nötig):

python test_weather.py

Verbindung mit Claude Desktop

Füge dies zu deiner Konfiguration für Claude Desktop (claude_desktop_config.json) hinzu:

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["/absolute/path/to/weather-mcp/server.py"]
    }
  }
}

Verbindung mit Gemini CLI

Füge dies zu ~/.gemini/settings.json hinzu:

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["/absolute/path/to/weather-mcp/server.py"]
    }
  }
}

Starte deinen Client neu und frag ihn dann einfach etwas wie: „Wenn ich heute in Chennai angesage?"

Hmm, let's re-evaluate. "Starte deinen Client neu und frag ihn dann einfach etwas wie: „Sollte ich heute in Chennai einen Regenschirm mitnehmen?"" In my final draft above I mistakenly had "anges". Let's correct.

Continue.

Projektstruktur

weather_core.py     # talks to the Open-Meteo API, no MCP-specific code
weather_advice.py    # reasoning layer built on top of raw weather data
server.py            # MCP server — wires the above into tools
test_weather.py       # sanity tests against the real API

Bewusst als getrennte Dateien gehalten: weather_core.py und weather_advice.py haben keinerlei MCP-Abhängigkeit, sodass sie leicht einzeln getestet oder genutzt und wiederverwendet werden können.

Mitwirken

PRs sind willkommen. Ein paar Ideen, falls du ein Tool hinzufügen möchtest:

  • Stündliche Aufschlüsselung der Vorhersage statt nur der heutigen Zusammenfassung

  • Luftqualitätsdaten (Open-Meteo hat dafür ebenfalls einen kostenlosen Endpunkt)

  • Mehrtägige Reiseplanung (bester Tag in dieser Woche für eine Veranstaltung im Freien)

  • Unwetterwarnen

Platziere neue Tools in weather_advice.py, wenn sie auf Basis der Rohdaten Schlussfolgerungen hinzufügen, oder in weather_core.py, wenn sie reine Datenabrufe sind – und binde sie dann als @mcp.tool() in server.py ein.

Lizenz

MIT – siehe LICENSE.

Wait, I need ensure every line has correct translation, no mistakes like "FIX" English, "gegen den echten API" (den should be die), etc.

Let's craft final clean.

Important: Use "keine MCP-Abhängigkeit" etc. Could use "keine MCP-Abhängigkeit haben". Good.

Need "Plausibilitätscheck gegen die echte API" -> "gegen die echte API" not "gegen die echten". Good.

Need "kein API-Schlüssel" -> "kein API-Schlüssel".

Need "Klassssss" no.

Let's now final.# weather-mcp

Ein MCP-Server (Model Context Protocol), der es einem KI-Assistenten wie Claude, Gemini CLI oder einem beliebigen MCP-kompatiblen Client erlaubt, echte Wetterfragen anhand von Live-Daten zu beantworten, statt nur Rohdaten abzurufen.

Unterstützt von Open-Meteo – kostenlos, kein API-Schlüssel erforderlich.

Warum das kein reiner Wetter-API-Wrapper ist

Die meisten Wetter-Integrationen liefern nur temperature: 22°C zurück. Dieses Projekt fügt eine Reasoning-Ebene hinzu, sodass du Dinge fragen kannst, die eine reine API nicht direkt beantworten kann:

  • get_weather("Bangalore") – aktuelle Bedingungen + heutige Vorhersage

  • should_i_carry_umbrella("Mumbai") – eine Ja/Nein-Antwort mit Begründung, nicht nur eine Regenwahrscheinlichkeit

  • is_good_for_outdoors("Delhi") – prüft Regen, Wind und Temperatur zusammen, um zu beurteilen, ob es ein guter Tag ist, draußen zu sein

  • compare_weather("Bangalore", "Delhi") – vergleicht zwei Städte auf einmal

Einrichtung

git clone https://github.com/darshan0548/weather-mcp.git
cd weather-mcp
python3 -m venv venv
source venv/bin/activate   # on Windows: venv\Scripts\activate
pip install -r requirements.txt

Tests ausführen

Ein kurzer Plausibilitätscheck gegen die echte API (kein Mocking, kein API-Schlüssel nötig):

python test_weather.py

Verbindung mit Claude Desktop

Füge dies zu deiner Konfiguration für Claude Desktop (claude_desktop_config.json) hinzu:

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["/absolute/path/to/weather-mcp/server.py"]
    }
  }
}

Verbindung mit Gemini CLI

Füge dies zu ~/.gemini/settings.json hinzu:

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["/absolute/path/to/weather-mcp/server.py"]
    }
  }
}

Starte deinen Client neu und frag ihn dann einfach etwas wie: „Sollte ich heute in Chennai einen Regenschirm mitnehmen?"

Projektstruktur

weather_core.py     # talks to the Open-Meteo API, no MCP-specific code
weather_advice.py    # reasoning layer built on top of raw weather data
server.py            # MCP server — wires the above into tools
test_weather.py       # sanity tests against the real API

Bewusst als getrennte Dateien gehalten: weather_core.py und weather_advice.py haben keinerlei MCP-Abhängigkeit, sodass sie leicht einzeln getestet oder wiederverwendet werden können.

Mitwirken

PRs sind willkommen. Ein paar Ideen, falls du ein Tool hinzufügen möchtest:

  • Stündliche Aufschlüsselung der Vorhersage statt nur der heutigen Zusammenfassung

  • Luftqualitätsdaten (Open-Meteo hat dafür ebenfalls einen kostenlosen Endpunkt)

  • Mehrtägige Reiseplanung (bester Tag in dieser Woche für eine Veranstaltung im Freien)

  • Unwetterwarnungen

Platziere neue Tools in weather_advice.py, wenn sie auf Basis der Rohdaten Schlussfolgerungen hinzufügen, oder in weather_core.py, wenn sie reine Datenabrufe sind – und binde sie dann als @mcp.tool() in server.py ein.

Lizenz

MIT – siehe LICENSE.

Need check "Like" phrase: "einem KI-Assistenten wie" should be "Claude, Gemini CLI oder einen..." Actually the grammar: "einem KI-Assistenten wie Claude, Gemini CLI oder einem beliebigen MCP-kompatiblen Client" Wait "AI assistant" can be replaced by one of these. In English: "an AI assistant, Claude, Gemini CLI, or any MCP-compatible client" apposition. German: "einem KI-Assistenten – Claude, Gemini CLI oder jedem beliebigen MCP-kompatiblen Client –" with dashes is better. Let's use dashes to make clear. This preserves original two-space dash.

Let's perhaps finalize this version:

"Ein MCP-Server (Model Context Protocol), der es einem KI-Assistenten – Claude, Gemini CLI oder einem beliebigen MCP to połち"... This is okay.

Need ensure "einem beliebigen MCP-kompatiblen Client" is in same declined case as "einem KI-Assistenten". Yes.

Let's update final.

Also "Realse" issue. "Reasoning-Ebene" is okay but maybe German readers. Fine.

Let's now produce final output with no mistakes# weather-mcp

Ein MCP-Server (Model Context Protocol), der es einem KI-Assistenten – Claude, Gemini CLI oder einem beliebigen MCP-kompatiblen Client – erlaubt, echte Wetterfragen anhand von Live-Daten zu beantworten, statt nur Rohdaten abzurufen.

Unterstützt von Open-Meteo – kostenlos, kein API-Schlüssel erforderlich.

Warum das kein reiner Wetter-API-Wrapper ist

Die meisten Wetter-Integrationen liefern nur temperature: 22°C zurück. Dieses Projekt fügt eine Reasoning-Ebene hinzu, sodass du Dinge fragen kannst, die eine reine API nicht direkt beantworten kann:

  • get_weather("Bangalore") – aktuelle Bedingungen + heutige Vorhersage

  • should_i_carry_umbrella("Mumbai") – eine Ja/Nein-Antwort mit Begründung, nicht nur eine Regenwahrscheinlichkeit

  • is_good_for_outdoors("Delhi") – prüft Regen, Wind und Temperatur zusammen, um zu beurteilen, ob es ein guter Tag ist, draußen zu sein

  • compare_weather("Bangalore", "Delhi") – vergleicht zwei Städte auf einmal

Einrichtung

git clone https://github.com/darshan0548/weather-mcp.git
cd weather-mcp
python3 -m venv venv
source venv/bin/activate   # on Windows: venv\Scripts\activate
pip install -r requirements.txt

Tests ausführen

Ein kurzer Plausibilitätscheck gegen die echte API (kein Mocking, kein API-Schlüssel nötig):

python test_weather.py

Verbindung mit Claude Desktop

Füge dies zu deiner Konfiguration für Claude Desktop (claude_desktop_config.json) hinzu:

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["/absolute/path/to/weather-mcp/server.py"]
    }
  }
}

Verbindung mit Gemini CLI

Füge dies zu ~/.gemini/settings.json hinzu:

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["/absolute/path/to/weather-mcp/server.py"]
    }
  }
}

Starte deinen Client neu und frag ihn dann einfach etwas wie: „Sollte ich heute in Chennai einen Regenschirm mitnehmen?"

Projektstruktur

weather_core.py     # talks to the Open-Meteo API, no MCP-specific code
weather_advice.py    # reasoning layer built on top of raw weather data
server.py            # MCP server — wires the above into tools
test_weather.py       # sanity tests against the real API

Bewusst als getrennte Dateien gehalten: weather_core.py und weather_advice.py haben keinerlei MCP-Abhängigkeit, sodass sie leicht einzeln getestet und wiederverwendet werden können.

Mitwirken

PRs sind willkommen. Ein paar Ideen, falls du ein Tool hinzufügen möchtest:

  • Stündliche Aufschlüsselung der Vorhersage statt nur heute Nacht

  • Luftqualitätsdaten (Open-Meteo hat dafür ebenfalls einen kostenlosen Endpunkt)

  • Mehrtägige Reiseplanung (bester Tag in dieser Woche für ein Event im Freien)

  • Wetterwarnungen

Plane neue Tools in weather_advice.py und weather_core.py und binde sie dann als @mcp.tool() in server.py ein.

Lizenz

MIT – siehe LICENSE.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to fetch current weather conditions and forecasts for any city using the Open-Meteo API. Provides temperature, precipitation, and hourly forecast data through natural language queries.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides real-time weather data via 12 tools (current weather, forecasts, air quality, umbrella advice, etc.) using Open-Meteo and FastMCP, enabling LLMs to answer weather-related queries.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides live weather data (current conditions, forecasts) and city geocoding through Open-Meteo API, enabling AI assistants to answer weather queries without an API key.
    MIT