Weather-MCP
🌤️ — Прогноз погоды в Израиле
Учебный проект по разработке MCP (Model Context Protocol): агент (Agent) на основе LLM, который умеет получать прогноз погоды для городов Израиля и США и отвечать на запросы на свободном языке в чате в терминале.
🎯 Цель проекта
Построить выделенный MCP-сервер, который «обучает» LLM выполнять задачу, которую он не умеет делать сам — получать прогноз погоды с израильского сайта, у которого нет API.
Агент делает это двумя способами:
Израильский сервер (
weather-Israel) — автоматизирует настоящий браузер с помощью Playwright: открывает weather2day.co.il/forecast, ищет город, выбирает его, а затем извлекает содержимое страницы прогноза и передаёт его LLM, чтобы тот ответил самостоятельно (подход RAG).Сервер США (
weather-USA) — получает прогноз и предупреждения через официальный API NWS (National Weather Service).
Host подключает все серверы к LLM (Gemini, через API, совместимый с OpenAI), автоматически собирает с них все Tools и запускает цикл чата, в котором LLM выбирает, какой инструмент использовать, и активирует их один за другим, пока не будет получен ответ.
Related MCP server: mcp-playwright-weather-israel
🏗️ Структура проекта
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.mdTools израильского сервера
# | Tool | Функция |
1 |
| Открывает браузер Chromium и переходит на сайт прогноза |
2 |
| Вводит название города в поле поиска |
3 |
| Выбирает первый город из списка предложений |
4 |
| Извлекает содержимое страницы прогноза (включая iframes) и возвращает его LLM |
💡 Первые три используют один и тот же браузер через глобальное состояние (
_page), потому что все они работают в одном процессе-сервере. Четвёртый проходит по всем frames на странице, потому что сам прогноз загружается внутри<iframe>, который основнойbodyне видит.
⚙️ Установка и запуск
Предварительные требования
Python ≥ 3.13
uv (менеджер окружения и зависимостей)
API-ключ для Gemini (получение бесплатного ключа)
Шаги
# 1. התקנת התלויות והקמת סביבת העבודה
uv sync
# 2. התקנת דפדפן Chromium עבור Playwright
uv run playwright install chromiumНастройка переменных окружения
Создайте файл .env в папке проекта:
GEMINI_API_KEY=your_api_key_here
GEMINI_MODEL=gemini-2.0-flashЗапуск
uv run host.pyПосле запуска появится строка Query: — введите вопрос (или quit для выхода).
💬 Примеры вопросов, на которые агент умеет отвечать
Прогноз в Израиле (Playwright)
Откроется окно браузера, в котором видна страница прогноза, а LLM также отвечает в чате.
«Какой прогноз в Тель-Авиве?»
«Сколько градусов ожидается завтра в Иерусалиме?»
«Какая погода в Хайфе сегодня?»
«Открой мне прогноз для Беэр-Шевы»
Прогноз и предупреждения в США (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"
🧩 Как это работает (схема потока)
משתמש → "מה התחזית בתל אביב?"
│
▼
Host ──► LLM (Gemini) בוחר Tools להפעיל
│
▼ (שרת ישראל, בזה אחר זה)
open → enter("תל אביב") → select → get_content
│
▼
תוכן התחזית חוזר ל-LLM (RAG)
│
▼
LLM כותב תשובה בשפה חופשית בצ'אט ✨📝 Примечания
Именно LLM решает, какие Tools активировать и в каком порядке — мы не писали жёсткую логику.
Два файла сервера = два отдельных процесса, поэтому любое общее состояние (например, открытый браузер) живёт только внутри одного сервера.
This server cannot be installed
Maintenance
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
- FlicenseAqualityCmaintenanceMCP server enabling LLMs to fetch Israeli weather forecasts by automating a browser with Playwright to scrape weather2day.co.il.4
- FlicenseAqualityCmaintenanceAn MCP server that uses Playwright to scrape Israeli weather forecasts from weather2day.co.il by automating a real browser, enabling an LLM to answer questions about current conditions and hourly forecasts for Israeli cities.5
- FlicenseNot gradedqualityCmaintenanceMCP server that lets users obtain current Israeli city weather forecasts. It uses Playwright to browse Weather2day, extract the forecast page, and feed the cleaned data back to the LLM for natural language responses.
- FlicenseAqualityCmaintenanceAn MCP server that provides real-time weather data for Israel by automating browser searches via Playwright. It allows LLMs to get current forecasts for Israeli cities through natural language queries.4
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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