OpenWeatherMap MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenWeatherMap MCP Serverwhat's the weather forecast for Paris this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenWeatherMap MCP Server
A Model Context Protocol (MCP) server that provides weather data using the OpenWeatherMap API. This example demonstrates how to build an MCP server with multiple tools for current weather, forecasts, and air pollution data.
Features
Current Weather: Get real-time weather conditions for any city
5-Day Forecast: Retrieve weather forecasts with 3-hour intervals
Air Pollution: Access air quality data including pollutant concentrations
Related MCP server: Weather MCP Server
Prerequisites
Python 3.12+
OpenWeatherMap API key (free at openweathermap.org)
Installation
Clone this repository:
git clone git@github.com:mattiaperi/openweathermap-mcp-server.git
cd openweathermap-mcp-serverCreate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall dependencies:
pip3 install -r requirements.txtSet your OpenWeatherMap API key:
export OPENWEATHER_API_KEY="your_api_key_here"Usage
Running the Server
python server.pyTesting with the Client
python test_mcp_client.py Milan
# or
python test_mcp_client.py # Will prompt for city nameUsing with Amazon Q
Create
.amazonq/mcp.jsonin your project:
{
"mcpServers": {
"weather": {
"command": ".venv/bin/python",
"args": ["server.py"],
"env": {}
}
}
}or better (edit and accordingly):
{
"mcpServers": {
"openweather": {
"command": "uv",
"args": [
"--directory",
"<PATH_TO_REPO>/openweathermap-mcp-server",
"run",
"server.py"
],
"disabled": false,
"env": {
"OPENWEATHER_API_KEY": "<OPENWEATHER_API_KEY>"
},
"autoApprove": [
"get_current_weather",
"get_weather_forecast",
"get_air_pollution"
]
}
}
}Restart Amazon Q and ask: "What's the weather like in Tokyo?"
Available Tools
get_current_weather(city: str)
Returns current weather conditions including temperature, humidity, pressure, and weather description.
get_weather_forecast(city: str)
Returns a 5-day weather forecast with data points every 3 hours.
get_air_pollution(city: str)
Returns air quality data including AQI and pollutant concentrations (CO, NO, NO2, O3, SO2, PM2.5, PM10, NH3).
API Response Format
All tools return the complete OpenWeatherMap API response, allowing LLMs to extract relevant information based on context. Error responses include an error field with descriptive messages.
Development
Project Structure
├── server.py # MCP server implementation
├── requirements.txt # Python dependencies
└── README.md # This fileAdding New Tools
Define a function with type hints
Add the
@mcp.tooldecoratorInclude a descriptive docstring
Handle errors gracefully
Example:
@mcp.tool
def get_uv_index(city: str) -> dict:
"""Get UV index data for a city."""
# Implementation hereSecurity Notes
Never commit API keys to version control
Use environment variables for sensitive data
Consider rate limiting for production use
Validate input parameters
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
MIT License - see LICENSE file for details
Resources
This server cannot be installed
Maintenance
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
- Alicense-qualityDmaintenanceProvides real-time weather data and 5-day forecasts using OpenWeatherMap API. Supports querying by city name, country code, or geographic coordinates with detailed climate information including temperature, humidity, wind, and UV index.Last updated28MIT
- Alicense-qualityDmaintenanceProvides access to real-time weather data, 5-day forecasts, air quality information, and weather comparisons across multiple cities using the free OpenWeatherMap API.Last updatedMIT
- Alicense-qualityDmaintenanceEnables querying real-time weather and 5-day forecasts for any city using the OpenWeatherMap API.Last updated284MIT
- Flicense-qualityDmaintenanceProvides weather data, forecasts, air quality, and location services via OpenWeatherMap API integration.Last updated12
Related MCP Connectors
Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.
OpenWeather MCP — wraps the OpenWeatherMap API (openweathermap.org)
Global weather API: forecasts, historical data, marine, ski, astronomy and timezone.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/mattiaperi/openweathermap-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server