Skip to main content
Glama
yuxiaosenstar

weather-mcp-server-py

MCP-сервис запроса погоды (Python-версия) 🌤

MCP-сервис запроса погоды, реализованный на основе официального Python SDK mcp (FastMCP). Общается через stdio с любым MCP-клиентом (например, Claude Desktop, WorkBuddy и т.д.), позволяя ИИ-ассистенту в реальном времени запрашивать текущую погоду в указанном городе.

💡 Данные о погоде предоставляются Open-Meteo, без регистрации и без API-ключа.

✨ Возможности

  • ⚡ Только stdio-связь: plug-and-play, не нужны открытые порты и HTTP-сервис.

  • 🌍 Многоязычные названия городов: поддерживаются китайские и английские названия, например 北京, Beijing, Tokyo.

  • 🔒 Без ключей: данные берутся из Open-Meteo, не собираются личные данные и не отправляется тело запроса.

  • 🛡 Надёжная обработка ошибок: при отсутствии города или сетевых сбоях возвращается дружественное сообщение на китайском, без падения.

  • 🎨 Удобный формат ответа: структурированный текст + emoji для прямого отображения клиентом.

Related MCP server: Weather MCP Tool

🛠 Предоставляемые инструменты

Инструмент

Параметр

Описание

get_weather

city (название города, поддерживаются китайский и английский)

Возвращает текущую погоду в городе: состояние / температура / ощущаемая температура / влажность / скорость ветра / время наблюдения

Пример ответа

📍 北京(中国)当前天气
🌤  天气:晴
🌡  温度:27.3°C(体感 28.1°C)
💧 湿度:52%
🍃 风速:12.4 km/h
🕒 观测时间:2026-08-19T13:00

📋 Требования к окружению

  • Python >= 3.10 (рекомендуется 3.13, проверено на локальной машине)

  • Требуется доступ в интернет (для вызова Open-Meteo API)

🚀 Установка и запуск

git clone https://github.com/<your-name>/weather-mcp-server-py.git
cd weather-mcp-server-py

# 创建虚拟环境(可选但推荐)
python3 -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

# 运行(stdio 模式,通常由 MCP 客户端拉起)
python weather_server.py

Этот сервис общается с клиентом через стандартный ввод-вывод (stdio); python weather_server.py по умолчанию запускается в режиме stdio.

🔌 Интеграция с MCP-клиентами

На примере claude_desktop_config.json / mcp.json для Claude Desktop / WorkBuddy добавьте следующую конфигурацию (замените python3 на абсолютный путь к интерпретатору на вашей машине; в Windows используйте python.exe):

{
  "mcpServers": {
    "weather": {
      "command": "python3",
      "args": ["/absolute/path/to/weather_server.py"]
    }
  }
}

После сохранения и перезапуска клиента вы можете попросить в диалоге «узнать погоду в Пекине», и модель автоматически вызовет инструмент get_weather.

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

weather-mcp-server-py/
├── weather_server.py   # MCP 服务主实现(FastMCP)
├── requirements.txt    # 依赖清单
└── README.md           # 本说明

🧰 Технические детали

  • Город → координаты: используется геокодирующий API Open-Meteo;

  • Текущая погода: используется Open-Meteo Forecast API, поле current позволяет за один раз получить температуру / ощущаемую температуру / влажность / скорость ветра / код погоды;

  • Код погоды → описание на китайском: встроенная таблица соответствия кодов WMO;

  • При недоступности сети или отсутствии города возвращается дружественное сообщение об ошибке на китайском, что гарантирует, что инструмент всегда возвращает строку.

🤝 Вклад

Приветствуются Issue и Pull Request, например, добавление дополнительных метрик погоды, поддержка дополнительных примеров клиентов или добавление тестов.

📄 Лицензия

MIT © 2026 участники weather-mcp-server-py

Related MCP Connectors

Related MCP Servers