Skip to main content
Glama

🌦️ Weather MCP RAG Assistant

Ein KI-gestützter Wetterassistent, der mit Model Context Protocol (MCP), Retrieval-Augmented Generation (RAG), LangChain, ChromaDB, Groq LLM und OpenWeather API erstellt wurde.

Das Projekt stellt ein benutzerdefiniertes MCP-Tool bereit, das Echtzeit-Wetterdaten abruft und sie mit einer RAG-Pipeline kombiniert, um kontextbezogene, natürlichsprachliche Wettereinblicke zu generieren.

🚀 Hauptfunktionen

  • Benutzerdefinierter MCP-Server mit FastMCP

  • Echtzeit-Wetterabruf mit OpenWeather API

  • Retrieval-Augmented Generation (RAG)-Pipeline für kontextbezogene Antworten

  • ChromaDB-Vektorspeicher zum Speichern und Abrufen von Wetterkontext

  • Sentence-Transformer-Embeddings mit all-MiniLM-L6-v2

  • Integration von Groq-gehosteten LLMs über LangChain

  • MCP-Tool-Integration mit VS Code / GitHub Copilot

  • Unterstützt dynamische Wetterabfragen für verschiedene Städte

  • Sichere API-Schlüsselverwaltung mithilfe von Umgebungsvariablen

Related MCP server: Weather MCP Server

🧠 So funktioniert es

User Query
    ↓
GitHub Copilot / MCP Client
    ↓
Weather MCP Server
    ↓
get_weather(location)
    ↓
OpenWeather API
    ↓
Weather Data Processing
    ↓
ChromaDB Vector Store
    ↓
RAG Retrieval
    ↓
Groq LLM
    ↓
Context-Aware Weather Response

🛠️ Technologie-Stack

Sprache: Python

KI / GenAI: LLMs, RAG, Prompt Engineering, Sentence Transformers

Frameworks: LangChain, FastMCP

Vektordatenbank: ChromaDB

LLM-Anbieter: Groq

Externe API: OpenWeather API

Protokoll: Model Context Protocol (MCP)

Entwicklungsumgebung: VS Code, Git, GitHub

📂 Projektstruktur

Weather-MCP-RAG-Assistant/
│
├── rag/
│   ├── embedding.py
│   ├── llm.py
│   ├── retriever.py
│   └── vector_store.py
│
├── services/
│   └── weather_service.py
│
├── utils/
│   └── parser.py
│
├── config.py
├── server.py
├── requirements.txt
├── env.example
├── .gitignore
└── README.md

⚙️ Einrichtung

1. Repository klonen

git clone https://github.com/rudraniai/Weather-MCP-RAG-Assistant.git
cd Weather-MCP-RAG-Assistant

2. Virtuelle Umgebung erstellen

python -m venv .venv

Aktivieren Sie sie unter Windows:

.venv\Scripts\activate

3. Abhängigkeiten installieren

pip install -r requirements.txt

4. Umgebungsvariablen konfigurieren

Kopieren Sie die Beispiel-Umgebungsdatei:

copy env.example .env

Fügen Sie Ihre Anmeldedaten zu .env hinzu:

OPENWEATHER_API_KEY=your_openweather_api_key
GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=your_groq_model
EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2
CHROMA_DB_DIR=./chroma_db

API-Anmeldedaten werden mithilfe von .gitignore außerhalb der Versionskontrolle gehalten.

5. MCP-Server ausführen

python server.py

🔌 MCP-Konfiguration

Konfigurieren Sie den lokalen MCP-Server in VS Code mit:

{
  "servers": {
    "weather-mcp": {
      "type": "stdio",
      "command": "python",
      "args": [
        "PATH_TO_PROJECT/server.py"
      ]
    }
  },
  "inputs": []
}

Ersetzen Sie PATH_TO_PROJECT durch den lokalen Pfad zu server.py.

Nach der Konfiguration:

  1. Öffnen Sie die VS Code-Befehlspalette.

  2. Wählen Sie MCP: List Servers.

  3. Wählen Sie weather-mcp.

  4. Starten Sie den MCP-Server.

  5. Öffnen Sie den GitHub Copilot-Chat und erlauben Sie das MCP-Tool, wenn Sie dazu aufgefordert werden.

🎥 Projektdemo

Die folgende Demo zeigt, wie das benutzerdefinierte weather-mcp-MCP-Tool über GitHub Copilot aufgerufen wird, um kontextbezogene Wetterinformationen abzurufen und zu generieren.

Weather MCP Demo

💬 Beispielverwendung

Fragen Sie Copilot:

Use the weather-mcp MCP tool to get the weather in Pune.

Weitere Beispiele:

Use the weather-mcp MCP tool to get the weather in Mumbai.

Use the weather-mcp MCP tool to get the weather in Nagpur.

Beispielinformationen, die vom Assistenten zurückgegeben werden, umfassen:

  • Aktuelle Temperatur

  • Gefühlte Temperatur

  • Luftfeuchtigkeit

  • Windgeschwindigkeit und -richtung

  • Wolkendecke

  • Wetterzusammenfassung

  • Luftqualitätsinformationen, sofern verfügbar

🔐 Sicherheit

Sensible Anmeldedaten wie API-Schlüssel werden in einer lokalen .env-Datei gespeichert.

Die folgenden Dateien/Verzeichnisse sind von Git ausgeschlossen:

.env
chroma_db/
__pycache__/
.vscode/

Übertragen Sie niemals echte API-Schlüssel in das Repository.

📌 Was ich gelernt habe

Durch dieses Projekt habe ich praktische Erfahrung gesammelt mit:

  • Erstellen und Bereitstellen von Tools über Model Context Protocol (MCP)

  • Integration externer APIs in LLM-basierte Anwendungen

  • Implementierung einer RAG-Pipeline

  • Arbeiten mit Embeddings und Vektordatenbanken

  • Verwendung von ChromaDB für den kontextbezogenen Abruf

  • Verbinden von LangChain mit einem gehosteten LLM

  • Integration eines benutzerdefinierten MCP-Servers mit GitHub Copilot

  • Sicheres Verwalten von Umgebungsvariablen und API-Anmeldedaten

🔮 Zukünftige Verbesserungen

  • Mehrtägige Wettervorhersage hinzufügen

  • Wetterwarnungen und Empfehlungen hinzufügen

  • Abruf und kontextuelles Gedächtnis verbessern

  • Zusätzliche Wetter- und Umweltdatenquellen hinzufügen

  • Eigenständige Webschnittstelle mit Streamlit oder FastAPI erstellen

  • Anwendung mit Docker containerisieren

👩💻 Autorin

Rudrani Gulhane

B.Tech Informatikingenieurwesen — Künstliche Intelligenz & Maschinelles Lernen

Interessiert an KI/ML, generativer KI, RAG, LLMs, KI-Agenten und MCP-basierten Anwendungen.

📄 Lizenz

Dieses Projekt ist für Bildungs-, Portfolio- und Experimentierzwecke gedacht.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to fetch real-time weather data for any location using the OpenWeatherMap API. Demonstrates how to build a simple MCP server that exposes weather information as a tool for LLMs.
    1
    GPL 3.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time weather updates and city geocoding by integrating the Nominatim and Open-Meteo APIs. It enables users to retrieve current weather conditions for any location through natural language queries in MCP-compatible clients.
    19 npm
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides weather data from OpenWeatherMap API through MCP tools and a REST API with OpenAPI support. Enables LLM agents to retrieve current weather, forecasts, and temperature ranges by city or coordinates.
    11 npm
    MIT