Skip to main content
Glama
darshan0548

weather-mcp

by darshan0548

weather-mcp

MCP-сервер (Model Context Protocol), который позволяет ИИ-ассистенту — Claude, Gemini CLI или любому MCP-совместимому клиенту — отвечать на реальные вопросы о погоде, используя живые данные, вместо того чтобы просто выдавать сырые числа.

Работает на Open-Meteo — бесплатно, API-ключ не требуется.

Почему это не просто обёртка над погодным API

Большинство погодных интеграций просто возвращают temperature: 22°C. Эта добавляет поверх слой рассуждений, поэтому вы можете задавать вопросы, на которые обычный API не может ответить напрямую:

  • get_weather("Bangalore") — текущие условия и прогноз на сегодня

  • should_i_carry_umbrella("Mumbai") — ответ «да/нет» с обоснованием, а не просто процент вероятности дождя

  • is_good_for_outdoors("Delhi") — проверяет дождь, ветер и температуру вместе, чтобы понять, хороший ли это день для пребывания на улице

  • compare_weather("Bangalore", "Delhi") — сравнивает два города сразу

Related MCP server: Weather MCP Server

Установка

git clone https://github.com/darshan0548/weather-mcp.git
cd weather-mcp
python3 -m venv venv
source venv/bin/activate   # on Windows: venv\Scripts\activate
pip install -r requirements.txt

Запуск тестов

Быстрая проверка работоспособности на реальном API (без моков и без API-ключа):

python test_weather.py

Подключение к Claude Desktop

Добавьте это в конфиг Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["/absolute/path/to/weather-mcp/server.py"]
    }
  }
}

Подключение к Gemini CLI

Добавьте это в ~/.gemini/settings.json:

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["/absolute/path/to/weather-mcp/server.py"]
    }
  }
}

Перезапустите клиент и просто спросите его что-нибудь вроде «стоит ли брать зонт в Ченнаи сегодня?»

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

weather_core.py     # talks to the Open-Meteo API, no MCP-specific code
weather_advice.py    # reasoning layer built on top of raw weather data
server.py            # MCP server — wires the above into tools
test_weather.py       # sanity tests against the real API

Файлы разделены намеренно — weather_core.py и weather_advice.py вообще не зависят от MCP, поэтому их легко тестировать или переиспользовать по отдельности.

Вклад в разработку

PR приветствуются. Несколько идей, если хотите добавить инструмент:

  • Почасовая детализация прогноза вместо простой сводки на сегодня

  • Данные о качестве воздуха (у Open-Meteo есть бесплатный эндпоинт и для этого)

  • Планирование многодневной поездки (лучший день на этой неделе для мероприятия на открытом воздухе)

  • Предупреждения об опасных погодных явлениях

Помещайте новые инструменты в weather_advice.py, если они добавляют слой рассуждений поверх сырых данных, или в weather_core.py, если это чистое получение данных, — а затем подключайте их в server.py как новый @mcp.tool().

Лицензия

MIT — см. LICENSE.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to fetch current weather conditions and forecasts for any city using the Open-Meteo API. Provides temperature, precipitation, and hourly forecast data through natural language queries.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides real-time weather data via 12 tools (current weather, forecasts, air quality, umbrella advice, etc.) using Open-Meteo and FastMCP, enabling LLMs to answer weather-related queries.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides live weather data (current conditions, forecasts) and city geocoding through Open-Meteo API, enabling AI assistants to answer weather queries without an API key.
    MIT