Skip to main content
Glama
mali8573

Israel Weather Forecast MCP Server

by mali8573

Israel Weather Forecast MCP Server

Автономный MCP-сервер, который получает израильский прогноз погоды путём запуска настоящего браузера (Playwright), а не путём обращения к обычному API. Идея: модель (Host, например Claude Desktop / Claude Code) вызывает инструменты один за другим, точно так же, как человек, просматривающий сайт: открывает страницу, вводит название города, выбирает его из списка автодополнения и, наконец, извлекает содержимое страницы, чтобы ответить на вопрос пользователя.

Структура проекта

israel-weather-mcp/
├── server.py           # השרת עצמו - כל ה-tools מוגדרים כאן
├── requirements.txt
└── README.md

Related MCP server: Israel Weather MCP Agent

Реализованные инструменты

Этап 1 - навигация и поиск города

Инструмент

Описание

open_weather_forecast_israel()

открывает браузер Chromium (Playwright) и переходит на страницу прогноза ims.gov.il

enter_weather_forecast_city_israel(city_name)

вводит название города в поле поиска на странице

select_weather_forecast_city_israel(city_name)

выбирает подходящий город из появившегося списка автодополнения

Этап 2 - извлечение контента (RAG)

Инструмент

Описание

get_weather_forecast_content()

извлекает текст со страницы прогноза (после выбора города), очищает HTML/script/style и возвращает чистый текст, на основе которого LLM может напрямую ответить в чате

close_weather_forecast_browser()

закрывает браузер по завершении работы

Типичная последовательность (ожидаемый порядок вызовов со стороны LLM):

open_weather_forecast_israel
        ↓
enter_weather_forecast_city_israel("תל אביב")
        ↓
select_weather_forecast_city_israel("תל אביב")
        ↓
get_weather_forecast_content()   → הטקסט חוזר למודל, שמנסח תשובה למשתמש

Установка

cd israel-weather-mcp
python -m venv .venv
source .venv/bin/activate        # ב-Windows: .venv\Scripts\activate
pip install -r requirements.txt
playwright install chromium      # מוריד את הדפדפן שה-Playwright מפעיל

Подключение к Host (например, Claude Desktop)

В конфигурационный файл MCP (например, claude_desktop_config.json) необходимо добавить:

{
  "mcpServers": {
    "israel-weather-forecast": {
      "command": "python",
      "args": ["/נתיב-מלא/israel-weather-mcp/server.py"]
    }
  }
}

После сохранения необходимо перезапустить Host. Инструменты появятся в списке доступных инструментов, и можно будет, например, попросить: "Какой прогноз на сегодня в Хайфе?" — и Host будет вызывать инструменты один за другим, чтобы ответить.

Важное замечание о селекторах (Selectors)

Точная HTML-структура сайта ims.gov.il (имена class/id поля поиска, элементов автодополнения и области прогноза) может меняться при обновлениях сайта, поэтому все селекторы собраны в словаре SELECTORS в начале server.py, с несколькими альтернативами (fallback) для каждого элемента. Рекомендуется:

  1. Запускайте с HEADLESS = False в файле server.py (строка рядом с общими настройками), чтобы видеть браузер в действии.

  2. Откройте сайт прогноза в обычном браузере, нажмите правой кнопкой мыши → «Проверить» (Inspect) на поле поиска / списке автодополнения / области прогноза и соответствующим образом обновите списки в словаре SELECTORS.

Так можно адаптировать сервер, даже если решите перенаправить его на другой израильский сайт прогноза (например, сайт частной компании) вместо ims.gov.il — нужно лишь обновить IMS_FORECAST_URL и SELECTORS.

Загрузка на GitHub

Проект уже готов как локальный git-репозиторий (в нём есть первоначальный коммит). Чтобы загрузить его на GitHub и получить ссылку для отправки преподавателю:

  1. Зайдите на github.com и нажмите New repository (не отмечая "Add README" / ".gitignore" / "license" — они у нас уже есть).

  2. Дайте название, например israel-weather-mcp, и нажмите Create repository.

  3. В терминале, внутри папки проекта (israel-weather-mcp/), выполните:

    git remote add origin https://github.com/<שם-המשתמש-שלכם>/israel-weather-mcp.git
    git branch -M main
    git push -u origin main
  4. После push ссылка, которую вы отправите преподавателю, — это адрес репозитория: https://github.com/<שם-המשתמש-שלכם>/israel-weather-mcp

Если вы ещё ни разу не настраивали git на этом компьютере, возможно, потребуется выполнить один раз:

git config --global user.name "השם שלכם"
git config --global user.email "האימייל שלכם"

Прямой запуск для проверки (без Host)

Также можно запустить быструю проверку с помощью MCP CLI:

mcp dev server.py

Это открывает локальный интерфейс проверки (MCP Inspector), в котором можно напрямую вызывать инструменты и видеть вывод, без необходимости подключения к Claude Desktop.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers