Skip to main content

MCP Server for OpenWeatherMap API

Project description

🌤️ 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 создан и содержит ключ
  • Убедитесь, что файл находится в той же папке, что и скрипты

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

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

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

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_helpfreedom_openweathermap_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_helpfreedom_openweathermap_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_helpfreedom_openweathermap_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d579c932e9b4c8174fdad6e24f497e845dde0729acb50516eeda06fac68029af
MD5 0b8993c3d5557197bb7b49ef67f0e6b8
BLAKE2b-256 f57d67497bf91ecfe43d09f3d79b8f867cbf575bb8dff29604210f3bf2a70c41

See more details on using hashes here.

File details

Details for the file iflow_mcp_helpfreedom_openweathermap_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_helpfreedom_openweathermap_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_helpfreedom_openweathermap_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 682f0d73c10c32dc4375bc65f48e0f765fb3c3f1cdcd407c14f4bc42ba72b20a
MD5 f3556353d4d706de6c20554859c8910a
BLAKE2b-256 8fe96a4d72eb6be04ff993fa68c01d0716fe06a3383733e300856004987bb9f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page