Skip to content

HelpFreedom/OpenWeatherMap_MCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌤️ MCP Сервер Погоды с OpenAI

Простой MCP сервер для получения погоды через OpenWeatherMap API с использованием OpenAI GPT-4o-mini в качестве интерфейса.

📋 Что это делает?

  • 🌍 Получает текущую погоду для любого города
  • 📅 Показывает прогноз погоды на несколько дней
  • 🤖 Использует GPT-4o-mini для естественного общения
  • 🔧 Реализует протокол MCP для подключения AI к внешним данным

🚀 Быстрый старт

1. Установка зависимостей

# Создайте виртуальное окружение
python3 -m venv venv

# Активируйте его
# На macOS/Linux:
source venv/bin/activate
# На Windows:
venv\Scripts\activate

# Установите зависимости
pip3 install -r requirements.txt

2. Настройка API ключей

Создайте файл .env в корне проекта:

# API ключ OpenWeatherMap (бесплатный)
# Получите на: https://openweathermap.org/api
OPENWEATHER_API_KEY=ваш_ключ_здесь

# API ключ OpenAI
# Получите на: https://platform.openai.com/api-keys
OPENAI_API_KEY=ваш_ключ_здесь

Как получить ключи:

  • OpenWeatherMap:

    1. Зарегистрируйтесь на https://openweathermap.org
    2. Перейдите в раздел API Keys
    3. Скопируйте ключ (бесплатный план дает 1000 запросов/день)
  • OpenAI:

    1. Зарегистрируйтесь на https://platform.openai.com
    2. Создайте новый API ключ
    3. Пополните баланс (минимум $5)

3. Запуск

# Просто запустите клиент
python3 client.py

💬 Примеры использования

После запуска просто спрашивайте о погоде на естественном языке:

👤 Вы: Какая погода в Москве?
🤖 Ассистент: [Показывает текущую погоду в Москве]

👤 Вы: А какой прогноз на 5 дней для Санкт-Петербурга?
🤖 Ассистент: [Показывает прогноз на 5 дней]

👤 Вы: Что лучше надеть в Лондоне сегодня?
🤖 Ассистент: [Проверяет погоду и дает рекомендации]

🔧 Тестирование только сервера

Если хотите протестировать сервер без клиента:

# Используйте MCP Inspector
uv run mcp dev server.py

# Или установите в Claude Desktop
uv run mcp install server.py --name "Weather Service"

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

weather-mcp-server/
├── server.py          # MCP сервер с инструментами погоды
├── client.py          # Клиент с OpenAI и mcp-use
├── .env              # API ключи (не добавляйте в Git!)
├── requirements.txt   # Python зависимости
└── README.md         # Эта инструкция

🛠️ Доступные инструменты

get_current_weather

Получает текущую погоду для города

Параметры:

  • city (обязательный): Название города
  • units (опционально): "metric" или "imperial"

get_forecast

Получает прогноз погоды на несколько дней

Параметры:

  • city (обязательный): Название города
  • days (опционально): Количество дней (1-5)
  • units (опционально): "metric" или "imperial"

⚠️ Важные замечания

  1. Не используйте print() в server.py - это сломает STDIO транспорт
  2. Храните .env в безопасности - добавьте в .gitignore
  3. Лимиты API:
    • OpenWeatherMap Free: 1000 запросов/день
    • OpenAI: зависит от вашего тарифа
  4. Стоимость OpenAI: GPT-4o-mini очень дешевая (~$0.15 за 1M токенов)

🐛 Решение проблем

Ошибка: "OPENWEATHER_API_KEY не найден"

  • Проверьте, что файл .env создан и содержит ключ
  • Убедитесь, что файл находится в той же папке, что и скрипты

Ошибка: "Не удалось получить погоду"

  • Проверьте правильность написания города
  • Попробуйте английское название города

Сервер не запускается

  • Убедитесь, что виртуальное окружение активировано
  • Проверьте, что все зависимости установлены

📚 Полезные ссылки

About

MCP Сервер для получения погоды через OpenWeatherMap API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages