
MCP Weather SSE Server
An MCP server that connects AI assistants to real-time weather data through OpenWeatherMap API using Server-Sent Events.
What is MCP Weather SSE Server?
MCP Weather SSE Server is a Model Context Protocol (MCP) server that connects AI assistants to real-time weather data through the OpenWeatherMap API using Server-Sent Events (SSE).
How to use MCP Weather SSE Server?
To use the server, clone the repository, set up a virtual environment, install dependencies, and start the server with your OpenWeatherMap API key. Connect it with AI clients like Cursor AI or Claude Desktop by configuring the server settings.
Key features of MCP Weather SSE Server?
- Implements the Model Context Protocol for seamless integration with AI tools.
- Uses Server-Sent Events (SSE) for real-time communication.
- Connects to the OpenWeatherMap API to fetch live weather data.
- Provides tools to get current weather, multi-day forecasts, and weather by geographic coordinates.
Use cases of MCP Weather SSE Server?
- Providing real-time weather updates to AI assistants.
- Enabling AI clients to fetch weather data for various locations.
- Supporting applications that require live weather information for decision-making.
FAQ from MCP Weather SSE Server?
- What programming language is used?
The server is built using Python 3.8 and above.
- Do I need an API key?
Yes, you need to sign up at OpenWeatherMap to get an API key.
- Is the server secure?
By default, the server binds to 127.0.0.1, making it accessible only from your local machine. For production, implement proper security measures.
MCP Weather SSE Server
A Model Context Protocol (MCP) server that connects to the OpenWeatherMap API through Server-Sent Events (SSE). This server provides real-time weather data to AI clients like Claude, CursorAI, or MCP-Inspector.
Features
- Implements the Model Context Protocol for seamless integration with AI tools
- Uses Server-Sent Events (SSE) transport for real-time communication
- Connects to the OpenWeatherMap API to fetch live weather data
- Provides three tools:
get_current_weather
: Get current weather conditions for a cityget_weather_forecast
: Get a multi-day weather forecast for a cityget_weather_by_coordinates
: Get weather for specific geographic coordinates
Prerequisites
- Python 3.8+
- An OpenWeatherMap API key (sign up at openweathermap.org)
Installation
-
Clone this repository:
git clone https://github.com/yourusername/mcp-weather-sse.git cd mcp-weather-sse
-
Create a virtual environment and install dependencies:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install mcp requests
Usage
Starting the Server
You can start the server with your OpenWeatherMap API key:
# Using command line argument
python mcp_weather_sse.py --api-key YOUR_API_KEY
# Using environment variable
export OPENWEATHER_API_KEY=YOUR_API_KEY
python mcp_weather_sse.py
# Customize host and port (default: 127.0.0.1:3001)
python mcp_weather_sse.py --host 0.0.0.0 --port 8080
Connecting with MCP Clients
Cursor AI
- Open Cursor AI
- Go to File → Preferences → Cursor Settings → MCP → Add New Server
- Enter the following details:
- Name: Weather SSE
- Type: sse
- URL: http://127.0.0.1:3001/sse
Claude Desktop
- Open Claude Desktop
- Go to Settings → MCP Servers
- Add a new server with the following configuration:
{ "mcpServers": { "weather": { "type": "sse", "url": "http://127.0.0.1:3001/sse" } } }
MCP-Inspector
You can use the MCP-Inspector tool to test your server:
npm install -g @anthropic-ai/mcp-inspector
mcp-inspector http://127.0.0.1:3001/sse
Example Queries
Once connected, you can use the following queries to interact with the server:
- "What's the current weather in New York?"
- "Can you give me a 3-day forecast for Tokyo?"
- "What's the weather at coordinates 40.7128, -74.0060?"
API Reference
get_current_weather
Get current weather conditions for a city.
Parameters:
city
(string): City name (e.g., 'London', 'New York')units
(string, optional): Units of measurement ('metric' or 'imperial', default: 'metric')
get_weather_forecast
Get a multi-day weather forecast for a city.
Parameters:
city
(string): City name (e.g., 'London', 'New York')days
(integer, optional): Number of days to forecast (1-5, default: 3)units
(string, optional): Units of measurement ('metric' or 'imperial', default: 'metric')
get_weather_by_coordinates
Get weather for specific geographic coordinates.
Parameters:
latitude
(number): Latitude coordinatelongitude
(number): Longitude coordinateunits
(string, optional): Units of measurement ('metric' or 'imperial', default: 'metric')
Security Considerations
- The server binds to 127.0.0.1 by default, making it only accessible from your local machine
- For production use, implement proper authentication and HTTPS
- Consider rate limiting to avoid exceeding OpenWeatherMap API quotas
License
MIT
Acknowledgments
- Built with the Model Context Protocol
- Uses data from the OpenWeatherMap API