OpenWeatherMap_MCP
by HelpFreedom
README.md
# 🌤️ MCP Сервер Погоды с OpenAI
Простой MCP сервер для получения погоды через OpenWeatherMap API с использованием OpenAI GPT-4o-mini в качестве интерфейса.
## 📋 Что это делает?
- 🌍 Получает текущую погоду для любого города
- 📅 Показывает прогноз погоды на несколько дней
- 🤖 Использует GPT-4o-mini для естественного общения
- 🔧 Реализует протокол MCP для подключения AI к внешним данным
## 🚀 Быстрый старт
### 1. Установка зависимостей
```bash
# Создайте виртуальное окружение
python3 -m venv venv
# Активируйте его
# На macOS/Linux:
source venv/bin/activate
# На Windows:
venv\Scripts\activate
# Установите зависимости
pip3 install -r requirements.txt
```
### 2. Настройка API ключей
Создайте файл `.env` в корне проекта:
```bash
# 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. Запуск
```bash
# Просто запустите клиент
python3 client.py
```
## 💬 Примеры использования
После запуска просто спрашивайте о погоде на естественном языке:
```
👤 Вы: Какая погода в Москве?
🤖 Ассистент: [Показывает текущую погоду в Москве]
👤 Вы: А какой прогноз на 5 дней для Санкт-Петербурга?
🤖 Ассистент: [Показывает прогноз на 5 дней]
👤 Вы: Что лучше надеть в Лондоне сегодня?
🤖 Ассистент: [Проверяет погоду и дает рекомендации]
```
## 🔧 Тестирование только сервера
Если хотите протестировать сервер без клиента:
```bash
# Используйте 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` создан и содержит ключ
- Убедитесь, что файл находится в той же папке, что и скрипты
**Ошибка: "Не удалось получить погоду"**
- Проверьте правильность написания города
- Попробуйте английское название города
**Сервер не запускается**
- Убедитесь, что виртуальное окружение активировано
- Проверьте, что все зависимости установлены
## 📚 Полезные ссылки
- [MCP Documentation](https://modelcontextprotocol.io/)
- [OpenWeatherMap API](https://openweathermap.org/api)
- [Канал "Черный треугольник"](https://t.me/black_triangle_tg)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues