mcp-weather-connector
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
Инструменты
Инструмент | Что делает |
| Текущая погода: температура, ощущается как, влажность, ветер |
| Прогноз на 1–7 дней с осадками |
| Проверяет существование населённого пункта и уточняет страну |
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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to retrieve current weather, forecasts, and summaries for any global location using the Open-Meteo API, with no API key required.21Creative Commons Zero v1.0 Universal
- AlicenseAqualityDmaintenanceProvides 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.176681MIT
- FlicenseBqualityDmaintenanceProvides current weather conditions and forecasts for any location using the Open-Meteo API.2
- AlicenseNot gradedqualityCmaintenanceProvides 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
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
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/KDimkuz/mcp-weather-connector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server