Skip to main content
Glama

šŸŒ¦ļø Weather MCP RAG Assistant

An AI-powered weather assistant built using Model Context Protocol (MCP), Retrieval-Augmented Generation (RAG), LangChain, ChromaDB, Groq LLM, and OpenWeather API.

The project exposes a custom MCP tool that retrieves real-time weather data and combines it with a RAG pipeline to generate contextual, natural-language weather insights.

šŸš€ Key Features

  • Custom MCP server built using FastMCP

  • Real-time weather retrieval using OpenWeather API

  • Retrieval-Augmented Generation (RAG) pipeline for contextual responses

  • ChromaDB vector store for storing and retrieving weather context

  • Sentence Transformer embeddings using all-MiniLM-L6-v2

  • Groq-hosted LLM integration through LangChain

  • MCP tool integration with VS Code / GitHub Copilot

  • Supports dynamic weather queries for different cities

  • Secure API-key management using environment variables

Related MCP server: Weather MCP Server

🧠 How It Works

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

šŸ› ļø Tech Stack

Language: Python

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

Frameworks: LangChain, FastMCP

Vector Database: ChromaDB

LLM Provider: Groq

External API: OpenWeather API

Protocol: Model Context Protocol (MCP)

Development Environment: VS Code, Git, GitHub

šŸ“‚ Project Structure

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

āš™ļø Setup

1. Clone the repository

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

2. Create a virtual environment

python -m venv .venv

Activate it on Windows:

.venv\Scripts\activate

3. Install dependencies

pip install -r requirements.txt

4. Configure environment variables

Copy the example environment file:

copy env.example .env

Add your credentials to .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 credentials are kept outside version control using .gitignore.

5. Run the MCP server

python server.py

šŸ”Œ MCP Configuration

Configure the local MCP server in VS Code using:

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

Replace PATH_TO_PROJECT with the local path to server.py.

After configuration:

  1. Open the VS Code Command Palette.

  2. Select MCP: List Servers.

  3. Select weather-mcp.

  4. Start the MCP server.

  5. Open GitHub Copilot Chat and allow the MCP tool when requested.

šŸŽ„ Project Demo

The following demo shows the custom weather-mcp MCP tool being invoked through GitHub Copilot to retrieve and generate contextual weather information.

Weather MCP Demo

šŸ’¬ Example Usage

Ask Copilot:

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

Other examples:

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

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

Example information returned by the assistant includes:

  • Current temperature

  • Feels-like temperature

  • Humidity

  • Wind speed and direction

  • Cloud conditions

  • Weather summary

  • Air-quality information when available

šŸ” Security

Sensitive credentials such as API keys are stored in a local .env file.

The following files/directories are excluded from Git:

.env
chroma_db/
__pycache__/
.vscode/

Never commit real API keys to the repository.

šŸ“Œ What I Learned

Through this project, I gained hands-on experience with:

  • Building and exposing tools through Model Context Protocol (MCP)

  • Integrating external APIs with LLM-based applications

  • Implementing a RAG pipeline

  • Working with embeddings and vector databases

  • Using ChromaDB for contextual retrieval

  • Connecting LangChain with a hosted LLM

  • Integrating a custom MCP server with GitHub Copilot

  • Managing environment variables and API credentials securely

šŸ”® Future Improvements

  • Add multi-day weather forecasting

  • Add weather alerts and recommendations

  • Improve retrieval and contextual memory

  • Add additional weather and environmental data sources

  • Build a standalone web interface using Streamlit or FastAPI

  • Containerize the application using Docker

šŸ‘©ā€šŸ’» Author

Rudrani Gulhane

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

Interested in AI/ML, Generative AI, RAG, LLMs, AI Agents, and MCP-based applications.

šŸ“„ License

This project is intended for educational, portfolio, and experimental use.

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