Skip to main content
Glama
KDimkuz

mcp-weather-connector

by KDimkuz

mcp-weather-connector

MCP-сервер, который даёт ИИ-агенту доступ к прогнозу погоды через Open-Meteo — публичное API без ключа и регистрации.

Небольшой, намеренно: репозиторий про то, как устроен инструментальный слой для агента, а не про погоду. Погода здесь — понятный предлог показать границу доверия между моделью и внешним миром.

Зачем это

Model Context Protocol — способ дать языковой модели право совершать действия во внешних сервисах. Как только такое право появляется, возникает вопрос: что будет, если модель передаст в инструмент мусор, а чужой сервис в этот момент отдаст 503.

Три решения, которые в этом коде показаны явно:

Вход от модели — недоверенный. Модель может передать пустую строку, простыню на десять килобайт или управляющие символы. Всё это отсекается в server.py до сетевого вызова, а не в чужом API.

Ошибки различаются по типу. 4xx повторять бессмысленно — это ошибка запроса, повтор её не исправит. 5xx чаще разовый сбой — один повтор с паузой. Логика в _get_json, проверяется тестами на счётчик вызовов.

Наружу уходит текст, а не сырой JSON. Агенту нечего домысливать и не в чем ошибиться при пересказе. Ответ 200 без нужного поля считается сбоем, а не поводом отдать пустоту.

Отдельно: число дней вне диапазона приводится к границе, а не считается ошибкой. Если модель попросила прогноз на 30 дней, полезнее отдать семь, чем уронить диалог сообщением об ошибке.

Related MCP server: open-meteo-mcp-server

Инструменты

Инструмент

Что делает

current_weather(city)

Текущая погода: температура, ощущается как, влажность, ветер

forecast(city, days=3)

Прогноз на 1–7 дней с осадками

locate(query)

Проверяет существование населённого пункта и уточняет страну

locate существует ради одного сценария: когда агент не уверен в написании, лучше уточнить у пользователя, чем молча выдать погоду не того города.

Установка

pip install -e .

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

В claude_desktop_config.json:

{
  "mcpServers": {
    "weather": {
      "command": "mcp-weather"
    }
  }
}

После перезапуска приложения инструменты появятся в списке доступных.

Разработка

pip install -e ".[dev]"
pytest
ruff check .

Тесты покрывают то, что реально ломается: пустой и переразмеренный ввод, нечисловое количество дней, 4xx без повтора, 5xx с одним повтором, успех со второй попытки, ответ 200 без полезной нагрузки, неизвестный код погоды. HTTP замокан через respx — сеть в тестах не нужна.

Структура

src/mcp_weather/
    client.py    — работа с Open-Meteo: типы, повторы, разбор ответа
    server.py    — MCP-слой: валидация входа и форматирование вывода
tests/
    test_tools.py

Сетевой код отделён от MCP-слоя намеренно: клиент тестируется сам по себе, а инструменты агента остаются тонкой обёрткой над понятными функциями.

Лицензия

MIT

Install Server
A
license - permissive license
A
quality
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

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to retrieve current weather, forecasts, and summaries for any global location using the Open-Meteo API, with no API key required.
    21
    Creative Commons Zero v1.0 Universal
  • A
    license
    A
    quality
    D
    maintenance
    Provides comprehensive access to Open-Meteo weather APIs, including forecasts, historical data, air quality, marine weather, and geocoding, enabling LLMs to retrieve weather information and location data.
    17
    668
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    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

View all related MCP servers

Related MCP Connectors

  • Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.

  • US weather & geo for AI agents: forecasts, alerts, earthquakes, elevation, geocoding. No keys.

  • Real-time weather conditions and multi-day forecasts via Open-Meteo — free, no API key required

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/KDimkuz/mcp-weather-connector'

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