Skip to main content
Glama
Efrat-Fr

Weather-MCP

by Efrat-Fr

🌤️ — Wettervorhersage in Israel

Lernprojekt zur Entwicklung von MCP (Model Context Protocol): Ein LLM-basierter Agent, der Wettervorhersagen für Städte in Israel und den USA abrufen und im Terminal-Chat in freier Sprache beantworten kann.


🎯 Projektziel

Einen speziellen MCP-Server aufbauen, der dem LLM „beibringt“, eine Aufgabe zu erledigen, die es allein nicht kann – nämlich eine Wettervorhersage von einer israelischen Website ohne API abzurufen.

Der Agent macht das auf zwei Wegen:

  1. Israel-Server (weather-Israel) – steuert einen echten Browser mit Playwright: Öffnet weather2day.co.il/forecast, sucht eine Stadt, wählt sie aus und extrahiert dann den Inhalt der Vorhersageseite und speist ihn in das LLM ein, damit es selbst antworten kann (RAG-Ansatz).

  2. USA-Server (weather-USA) – ruft Vorhersagen und Warnungen über die offizielle NWS-API (National Weather Service) ab.

Der Host verbindet alle Server mit dem LLM (Gemini, über die OpenAI-kompatible API), sammelt automatisch alle Tools von ihnen und führt eine Chat-Schleife aus, in der das LLM entscheidet, welches Tool es verwenden möchte, und sie nacheinander ausführt, bis eine Antwort vorliegt.


Related MCP server: mcp-playwright-weather-israel

🏗️ Projektstruktur

project-template/
├── host.py            # צ'אט בטרמינל שמחבר את ה-LLM לכל שרתי ה-MCP
├── client.py          # MCP Client גנרי (מתחבר לשרת, מריץ Tools)
├── weather_USA.py     # שרת MCP לארה"ב — דרך NWS API
├── weather_Israel.py  # שרת MCP לישראל — דרך אטמוט דפדפן (Playwright)
├── pyproject.toml     # תלויות הפרויקט
└── README.md

Die Tools des Israel-Servers

#

Tool

Funktion

1

open_weather_forecast_israel

Öffnet einen Chromium-Browser und navigiert zur Vorhersage-Website

2

enter_weather_forecast_city_israel

Gibt einen Städtenamen in das Suchfeld ein

3

select_weather_forecast_city_israel

Wählt die erste Stadt aus der Vorschlagsliste aus

4

get_weather_forecast_content_israel

Extrahiert den Inhalt der Vorhersageseite (einschließlich iframes) und gibt ihn an das LLM zurück

💡 Die ersten drei teilen sich denselben Browser über einen globalen Zustand (_page), da sie alle im selben Serverprozess laufen. Der vierte durchläuft alle frames der Seite, da die Vorhersage selbst in einem <iframe> geladen wird, das der Haupt-body nicht sieht.


⚙️ Installation und Ausführung

Voraussetzungen

Schritte

# 1. התקנת התלויות והקמת סביבת העבודה
uv sync

# 2. התקנת דפדפן Chromium עבור Playwright
uv run playwright install chromium

Umgebungsvariablen festlegen

Erstellen Sie eine .env-Datei im Projektordner:

GEMINI_API_KEY=your_api_key_here
GEMINI_MODEL=gemini-2.0-flash

Ausführung

uv run host.py

Nach dem Start erscheint eine Query:-Zeile – geben Sie eine Frage ein (oder quit zum Beenden).


💬 Beispielfragen, die der Agent beantworten kann

Vorhersage in Israel (Playwright)

Es öffnet sich ein Browserfenster mit der Vorhersageseite, und das LLM antwortet auch im Chat.

  • „Wie ist die Vorhersage in Tel Aviv?“

  • „Wie viele Grad werden morgen in Jerusalem erwartet?“

  • „Wie ist das Wetter heute in Haifa?“

  • „Öffne mir die Vorhersage für Be'er Scheva“

Vorhersage und Warnungen in den USA (NWS API)

  • "What's the weather forecast for San Francisco?" (latitude/longitude)

  • "Are there any weather alerts in California?"

  • "Show me active weather alerts for NY"


🧩 So funktioniert es (Flussdiagramm)

משתמש → "מה התחזית בתל אביב?"
   │
   ▼
 Host  ──►  LLM (Gemini) בוחר Tools להפעיל
   │
   ▼  (שרת ישראל, בזה אחר זה)
 open → enter("תל אביב") → select → get_content
   │
   ▼
 תוכן התחזית חוזר ל-LLM (RAG)
   │
   ▼
 LLM כותב תשובה בשפה חופשית בצ'אט ✨

📝 Hinweise

  • Das LLM entscheidet selbst, welche Tools es verwenden und in welcher Reihenfolge – wir haben keine feste Logik geschrieben.

  • Zwei Serverdateien = zwei getrennte Prozesse, daher muss jeder gemeinsame Zustand (wie der geöffnete Browser) in genau einem Server leben.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Efrat-Fr/Weather-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server