Content
# Weather MCP Server
[](https://smithery.ai/server/@szypetike/weather-mcp-server)
A Model Context Protocol (MCP) server that provides weather information for cities around the world.
## Features
- Get current weather for any city
- Provides temperature, weather conditions, humidity, wind information, and more
- Fallback to mock data if API request fails
## Requirements
- Node.js (v14 or higher)
- npm or yarn
- OpenWeather API key (optional - will use mock data if not provided)
## Installation
1. Clone this repository
2. Install dependencies:
```
npm install
```
3. Build the server:
```
npm run build
```
## Usage
### Running locally
```
npm start
```
### Using with Claude or other MCP-compatible AI assistants
Add the following configuration to your MCP settings:
```json
{
"mcpServers": {
"weather-server": {
"command": "node",
"args": ["path/to/weather-server/build/index.js"],
"env": {
"OPENWEATHER_API_KEY": "your-api-key-here" // Optional - will use mock data if not provided
},
"disabled": false,
"autoApprove": []
}
}
}
```
### API Key and Mock Data
This server can operate in two modes:
1. **With API Key**: When an OpenWeather API key is provided via the `OPENWEATHER_API_KEY` environment variable, the server will fetch real-time weather data from the OpenWeather API.
2. **Without API Key**: If no API key is provided, the server will automatically use mock data for a set of predefined cities (London, New York, Tokyo, Paris, Sydney). For other cities, it will use default mock data.
To get an OpenWeather API key:
1. Sign up at [OpenWeather](https://openweathermap.org/)
2. Navigate to your account's "API keys" section
3. Generate a new API key or use an existing one
The mock data mode is useful for development, testing, or when you don't need real-time weather data.
## Available Tools
### get_current_weather
Get current weather information for a specified city.
**Input Schema:**
```json
{
"city": "string" // City name (e.g., "London", "New York", "Tokyo")
}
```
**Example Response:**
```json
{
"location": "London, GB",
"date": "Monday, March 24, 2025",
"time": "7:30:00 PM",
"temperature": {
"current": "12°C",
"feelsLike": "10°C"
},
"weather": {
"main": "Cloudy",
"description": "Overcast clouds",
"icon": "https://openweathermap.org/img/wn/04d@2x.png"
},
"details": {
"humidity": "75%",
"pressure": "1012 hPa",
"windSpeed": "4.5 m/s",
"windDirection": "230°",
"cloudiness": "90%",
"sunrise": "6:45 AM",
"sunset": "7:30 PM"
},
"source": "OpenWeather API" // or "Mock Data (No API key provided)" or "Mock Data (API request failed)"
}
```
The `source` field in the response indicates where the data came from:
- `"OpenWeather API"`: Real-time data from the OpenWeather API
- `"Mock Data (No API key provided)"`: Mock data used because no API key was provided
- `"Mock Data (API request failed)"`: Mock data used because the API request failed
## License
MIT
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
markitdown
Python tool for converting files and office documents to Markdown.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.
Fetch
Retrieve and process content from web pages by converting HTML into markdown format.
TrendRadar
TrendRadar: Your hotspot assistant for real news in just 30 seconds.