junaidrahim/weatherunion-mcp
If you are the rightful owner of weatherunion-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Weather Union MCP Server provides real-time weather and air quality data using the Weather Union API, accessible via the Model Context Protocol.
get_current_weather
Get current weather data for any geographic location using latitude and longitude coordinates.
get_weather_for_city
Get weather data for major Indian cities using predefined city names.
Weather Union MCP Server
A Model Context Protocol (MCP) server that provides weather data and air quality information using the Weather Union API.
This server offers real-time weather data for specific coordinates or predefined Indian cities.
Usage with MCP Clients
Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"weather-union": {
"command": "uvx",
"args": ["weatherunion-mcp"],
"env": {
"WEATHER_UNION_API_KEY": "your-api-key-here"
}
}
}
}
Other MCP Clients
The server follows standard MCP protocol and works with any compliant MCP client.
Quick Start
-
Set up your API key:
export WEATHER_UNION_API_KEY='your-api-key-here'
-
Run the server:
# For MCP clients (default - uses stdin) python weatherunion_mcp/server.py # For testing with HTTP python weatherunion_mcp/server.py --http --port 8000
Available Tools
The MCP server provides two powerful weather tools:
1. get_current_weather
Get current weather data for any geographic location using latitude and longitude coordinates.
Parameters:
latitude
(float): Latitude coordinate (-90 to 90 degrees)longitude
(float): Longitude coordinate (-180 to 180 degrees)
Returns: Comprehensive weather information including temperature, humidity, wind conditions, precipitation, and air quality data.
Example:
get_current_weather(12.933756, 77.625825) # Bangalore coordinates
2. get_weather_for_city
Get weather data for major Indian cities using predefined city names.
Parameters:
city_name
(str): Name of the city (case-insensitive)country_code
(str, optional): Country code (default: "IN")
Supported Cities:
- Bangalore, Mumbai, Delhi, Hyderabad, Chennai
- Kolkata, Pune, Ahmedabad, Jaipur, Lucknow
Example:
get_weather_for_city("bangalore")
get_weather_for_city("Mumbai")
Weather Data Format
The server returns comprehensive weather information in a formatted string:
Weather Information (Lat: 12.933756, Lon: 77.625825):
Temperature: 25.68°C
Humidity: 25.81%
Wind Speed: 1.15 km/h
Wind Direction: 331.2°
Rain Intensity: 0 mm/h
Rain Accumulation: 0.4 mm
Air Quality Index (PM 2.5): 84
Air Quality Index (PM 10): 75
API Key
You need a Weather Union API key (X-Zomato-Api-Key) to use this server. You can generate this for free by signing up at Weather Union.
- The server validates your API key on startup
- API key must be set as an environment variable
- The server will show clear error messages if the API key is missing or invalid
Contributing
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
License
This project is licensed under the MIT License - see the file for details.