Skip to main content
Glama

OpenWeatherMap MCP Server

README.md4.43 kB
# OpenWeatherMap MCP Server A Model Context Protocol (MCP) server that provides comprehensive weather data and forecasts through the OpenWeatherMap API. This server enables AI assistants to access real-time weather information, forecasts, air quality data, and location services. <a href="https://glama.ai/mcp/servers/@robertn702/mcp-openweathermap"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@robertn702/mcp-openweathermap/badge" alt="OpenWeatherMap Server MCP server" /> </a> ## Features ### Weather Tools - **Current Weather** - Get current conditions for any location - **Weather Forecast** - 5-day weather forecast with 3-hour intervals - **Hourly Forecast** - Detailed hourly forecasts for up to 48 hours - **Daily Forecast** - Daily weather forecasts for up to 8 days with temperature ranges and astronomical data - **Minutely Forecast** - Minute-by-minute precipitation forecasts for the next hour - **Weather Alerts** - Active weather warnings and alerts with severity classification ### Air Quality & Location - **Current Air Pollution** - Real-time air quality index and pollutant measurements - **Location Info** - Reverse geocoding to get location details from coordinates - **OneCall Weather** - Comprehensive weather data combining multiple forecasts - **Air Pollution** - Historical and forecast air quality data - **Geocoding** - Convert location names to coordinates ## Installation ### Prerequisites - [Bun](https://bun.sh) runtime - OpenWeatherMap API key (free at [openweathermap.org](https://openweathermap.org/api)) ### Setup 1. Clone the repository: ```bash git clone https://github.com/robertn702/mcp-openweathermap.git cd mcp-openweathermap ``` 2. Install dependencies: ```bash bun install ``` 3. Set up your environment variables: ```bash cp .env.example .env # Edit .env and add your OpenWeatherMap API key ``` Environment variables: - `OPENWEATHER_API_KEY` - Your OpenWeatherMap API key (required for stdio transport only) - `PORT` - Server port for HTTP transport (default: 3000) - `MCP_TRANSPORT` - Transport type: `stdio` or `httpStream` (default: stdio) - `MCP_ENDPOINT` - HTTP endpoint path (default: /stream) ## Usage ### Running the Server **Stdio Transport (default):** ```bash bun run src/main.ts ``` **HTTP Stream Transport:** ```bash MCP_TRANSPORT=httpStream PORT=3000 bun run src/main.ts ``` ### Claude Desktop Configuration Add this configuration to your Claude Desktop MCP settings: ```json { "mcpServers": { "openweathermap": { "command": "npx", "args": ["mcp-openweathermap"], "env": { "OPENWEATHER_API_KEY": "your-api-key-here" } } } } ``` ## API Tools ### Weather Information - `get-current-weather` - Current weather conditions - `get-weather-forecast` - 5-day forecast - `get-hourly-forecast` - Hourly forecasts (up to 48 hours) - `get-daily-forecast` - Daily forecasts (up to 8 days) - `get-minutely-forecast` - Minute-by-minute precipitation ### Alerts & Air Quality - `get-weather-alerts` - Weather warnings and alerts - `get-current-air-pollution` - Current air quality data - `get-air-pollution` - Air quality forecasts and history ### Location Services - `get-location-info` - Reverse geocoding from coordinates - `geocode-location` - Convert addresses to coordinates - `get-onecall-weather` - Comprehensive weather data ## Development ### Running in Development ```bash bun run src/main.ts ``` ### Testing with MCP Inspector ```bash bun run src/main.ts ``` Then connect the MCP Inspector to test the tools interactively. ### Build ```bash bun run build ``` ## Authentication **Stdio Transport:** Requires `OPENWEATHER_API_KEY` environment variable. **HTTP Transport:** The OpenWeatherMap API key is passed as a bearer token in the HTTP request headers. No environment variable needed. ## Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Add tests if applicable 5. Submit a pull request ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## Support - [OpenWeatherMap API Documentation](https://openweathermap.org/api) - [openweather-api-node Library](https://github.com/loloToster/openweather-api-node) - The underlying API client - [Model Context Protocol Documentation](https://modelcontextprotocol.io) - [Issue Tracker](https://github.com/robertn702/mcp-openweathermap/issues)

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/robertn702/mcp-openweathermap'

If you have feedback or need assistance with the MCP directory API, please join our Discord server