Skip to main content
Glama

🌦️ Weather MCP RAG Assistant

Помощник по погоде на основе ИИ, созданный с использованием Model Context Protocol (MCP), Retrieval-Augmented Generation (RAG), LangChain, ChromaDB, Groq LLM и OpenWeather API.

Проект предоставляет пользовательский MCP-инструмент, который получает данные о погоде в реальном времени и объединяет их с RAG-конвейером для генерации контекстуальных ответов о погоде на естественном языке.

🚀 Ключевые возможности

  • Пользовательский MCP-сервер, созданный с помощью FastMCP

  • Получение данных о погоде в реальном времени через OpenWeather API

  • Конвейер Retrieval-Augmented Generation (RAG) для контекстуальных ответов

  • Векторное хранилище ChromaDB для хранения и поиска погодного контекста

  • Эмбеддинги Sentence Transformer с использованием all-MiniLM-L6-v2

  • Интеграция LLM, размещённой на Groq, через LangChain

  • Интеграция MCP-инструмента с VS Code / GitHub Copilot

  • Поддержка динамических запросов о погоде для разных городов

  • Безопасное управление API-ключами с помощью переменных окружения

Related MCP server: Weather MCP Server

🧠 Как это работает

User Query
    ↓
GitHub Copilot / MCP Client
    ↓
Weather MCP Server
    ↓
get_weather(location)
    ↓
OpenWeather API
    ↓
Weather Data Processing
    ↓
ChromaDB Vector Store
    ↓
RAG Retrieval
    ↓
Groq LLM
    ↓
Context-Aware Weather Response

🛠️ Технологический стек

Язык: Python

AI / GenAI: LLM, RAG, Prompt Engineering, Sentence Transformers

Фреймворки: LangChain, FastMCP

Векторная база данных: ChromaDB

Поставщик LLM: Groq

Внешний API: OpenWeather API

Протокол: Model Context Protocol (MCP)

Среда разработки: VS Code, Git, GitHub

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

Weather-MCP-RAG-Assistant/
│
├── rag/
│   ├── embedding.py
│   ├── llm.py
│   ├── retriever.py
│   └── vector_store.py
│
├── services/
│   └── weather_service.py
│
├── utils/
│   └── parser.py
│
├── config.py
├── server.py
├── requirements.txt
├── env.example
├── .gitignore
└── README.md

⚙️ Настройка

1. Клонируйте репозиторий

git clone https://github.com/rudraniai/Weather-MCP-RAG-Assistant.git
cd Weather-MCP-RAG-Assistant

2. Создайте виртуальное окружение

python -m venv .venv

Активируйте его в Windows:

.venv\Scripts\activate

3. Установите зависимости

pip install -r requirements.txt

4. Настройте переменные окружения

Скопируйте пример файла окружения:

copy env.example .env

Добавьте свои учётные данные в .env:

OPENWEATHER_API_KEY=your_openweather_api_key
GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=your_groq_model
EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2
CHROMA_DB_DIR=./chroma_db

Учётные данные API хранятся вне системы контроля версий с помощью .gitignore.

5. Запустите MCP-сервер

python server.py

🔌 Конфигурация MCP

Настройте локальный MCP-сервер в VS Code, используя:

{
  "servers": {
    "weather-mcp": {
      "type": "stdio",
      "command": "python",
      "args": [
        "PATH_TO_PROJECT/server.py"
      ]
    }
  },
  "inputs": []
}

Замените PATH_TO_PROJECT на локальный путь к server.py.

После настройки:

  1. Откройте палитру команд в VS Code.

  2. Выберите MCP: List Servers.

  3. Выберите weather-mcp.

  4. Запустите MCP-сервер.

  5. Откройте GitHub Copilot Chat и разрешите использование MCP-инструмента при запросе.

🎥 Демонстрация проекта

Следующая демонстрация показывает, как пользовательский MCP-инструмент weather-mcp вызывается через GitHub Copilot для получения и генерации контекстуальной информации о погоде.

Weather MCP Demo

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

Спросите Copilot:

Use the weather-mcp MCP tool to get the weather in Pune.

Другие примеры:

Use the weather-mcp MCP tool to get the weather in Mumbai.

Use the weather-mcp MCP tool to get the weather in Nagpur.

Пример информации, возвращаемой помощником, включает:

  • Текущую температуру

  • Ощущаемую температуру

  • Влажность

  • Скорость и направление ветра

  • Облачность

  • Сводку о погоде

  • Информацию о качестве воздуха, когда она доступна

🔐 Безопасность

Конфиденциальные данные, такие как API-ключи, хранятся в локальном файле .env.

Следующие файлы/каталоги исключены из Git:

.env
chroma_db/
__pycache__/
.vscode/

Никогда не коммитьте реальные API-ключи в репозиторий.

📌 Чему я научился

В ходе этого проекта я получил практический опыт в:

  • Создании и предоставлении инструментов через Model Context Protocol (MCP)

  • Интеграции внешних API с приложениями на основе LLM

  • Реализации RAG-конвейера

  • Работе с эмбеддингами и векторными базами данных

  • Использовании ChromaDB для контекстуального поиска

  • Подключении LangChain к размещённой LLM

  • Интеграции пользовательского MCP-сервера с GitHub Copilot

  • Безопасном управлении переменными окружения и учётными данными API

🔮 Планы на будущее

  • Добавить многодневный прогноз погоды

  • Добавить погодные оповещения и рекомендации

  • Улучшить поиск и контекстуальную память

  • Добавить дополнительные источники погодных и экологических данных

  • Создать отдельный веб-интерфейс с помощью Streamlit или FastAPI

  • Контейнеризировать приложение с помощью Docker

👩💻 Автор

Rudrani Gulhane

B.Tech Computer Science Engineering — Artificial Intelligence & Machine Learning

Интересы: AI/ML, Generative AI, RAG, LLM, AI Agents и приложения на основе MCP.

📄 Лицензия

Этот проект предназначен для образовательных целей, портфолио и экспериментов.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to fetch real-time weather data for any location using the OpenWeatherMap API. Demonstrates how to build a simple MCP server that exposes weather information as a tool for LLMs.
    1
    GPL 3.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time weather updates and city geocoding by integrating the Nominatim and Open-Meteo APIs. It enables users to retrieve current weather conditions for any location through natural language queries in MCP-compatible clients.
    15
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides weather data from OpenWeatherMap API through MCP tools and a REST API with OpenAPI support. Enables LLM agents to retrieve current weather, forecasts, and temperature ranges by city or coordinates.
    21
    MIT

View all related MCP servers

Related MCP Connectors

  • OpenWeather MCP — wraps the OpenWeatherMap API (openweathermap.org)

  • Open-Meteo MCP — weather forecast + historical reanalysis + sister APIs

  • WeatherAPI.com MCP — wraps WeatherAPI.com (api.weatherapi.com)

View all MCP Connectors

Latest Blog Posts

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/rudraniai/Weather-MCP-RAG-Assistant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server