Skip to main content
Glama
yehudit-alfa

MCP Weather Assistant

by yehudit-alfa

🌤️ MCP Weather Assistant

פרויקט זה הוא דוגמה קטנה ופרקטית ליישום של MCP (Model Context Protocol) עם מודל שפה, שמאפשר למודל לעבוד עם כלים חיצוניים אמיתיים.

🎯 מה הפרויקט עושה?

הפרויקט מאפשר למשתמש לשאול שאלות על מזג האוויר, וה-LLM בוחר אילו כלים להשתמש כדי לענות על השאלה.

יש בו שני סוגי כלים:

  • עבור ישראל — נעשה שימוש ב-Playwright כדי לפתוח דפדפן, להזין שם עיר, לבחור את התוצאה ולחלץ את תוכן הדף.

  • עבור ארצות הברית — נעשה שימוש ב-API רשמי של מזג האוויר כדי לקבל תחזית ו-alerts.

הדבר מיועד להדגים איך מודל שפה יכול לא רק לענות, אלא גם לבצע פעולה בעולם האמיתי דרך כלים חיצוניים.


🎯 המטרה של הפרויקט

המטרה היא להראות כיצד אפשר להרחיב את יכולות של LLM באמצעות MCP Tools:

  • לאסוף מידע בזמן אמת

  • לבצע פעולות בדפדפן באופן אוטומטי

  • להעניק למודל קונטקסט נוסף מהאתר עצמו (RAG)

  • לשלב בין כלים שונים לממשק צ'אט אחד

זהו פרויקט לימודי שמדגים עקרונות של Agents, MCP Servers ו-Tool Calling.


🧩 מבנה הפרויקט

  • client.py — לקוח MCP גנרי שמתחבר לשרתים.

  • host.py — צ'אט Host שמקבל שאלות, שולח אותן למודל ומחבר בין ה-LLM לכלים.

  • weather_USA.py — שרת MCP עבור מזג אוויר בארצות הברית דרך API.

  • weather_Israel.py — שרת MCP עבור מזג אוויר בישראל דרך Playwright.


🛠️ טכנולוגיות בשימוש

  • Python

  • MCP SDK

  • Playwright

  • Anthropic API

  • UV


🚀 איך מריצים את הפרויקט

1. התקנת התלויות

uv sync

2. התקנת דפדפן עבור Playwright

uv run playwright install chromium

3. הגדרת מפתח API

ודאו שיש לכם משתנה סביבה בשם:

ANTHROPIC_API_KEY=your_api_key_here

4. הרצת הממשק

uv run host.py

💬 דוגמאות לשאלות שניתן לשאול

  • מה מזג האוויר היום בירושלים?

  • תבדוק לי בבקשה מה התחזית בטבריה.

  • האם ירד גשם היום בתל אביב?

  • מה המצב במזג האוויר באילת?

  • What is the weather in New York?


⚠️ דברים חשובים לשים לב אליהם

  • הפרויקט מיועד ללימוד והדגמה, לאו דווקא למוצר סופי יציב.

  • עבור ישראל, התהליך תלוי באתר חיצוני, ולכן הוא עלול להישבר אם האתר ישנה את מבנה הדף.

  • כדי שה-LLM יוכל לענות, צריך להיות מוגדר מפתח API תקין.