Weather MCP Server

Weather MCP Server

This is an MCP Server that uses OpenWeatherMap's API to retrieve weather data. It can be hosted on MCP.so.

Features

  • Current weather data for any location
  • Weather forecast (up to 5 days)
  • Support for metric and imperial units
  • Compatible with both stdio and REST transport modes
  • Docker containerization for easy deployment
  • Compatible with MCP.so hosting requirements

Prerequisites

  • Node.js v18+
  • OpenWeatherMap API key (get one for free at OpenWeatherMap)

Getting Started

Local Development

  1. Clone this repository
    git clone https://github.com/yourusername/weather-mcp-server.git cd weather-mcp-server
  2. Install dependencies
    npm install
  3. Build the TypeScript code
    npm run build
  4. Run the server in stdio mode (for local testing)
    WEATHER_API_KEY=your_api_key_here npm start

Running in REST mode

WEATHER_API_KEY=your_api_key_here mode=rest port=9593 endpoint=/rest npm start

Docker

  1. Build the Docker image
    docker build -t mcp/weather-mcp-server .
  2. Run the container
    docker run -i --rm -e WEATHER_API_KEY=your_api_key_here mcp/weather-mcp-server

Usage

Available Tools

current_weather

Gets the current weather data for a specific location.

Parameters:

  • location (required): The city name or city name + country code (e.g., "London", "Paris,FR")
  • units (optional): Units of measurement. Options: "metric" (Celsius) or "imperial" (Fahrenheit). Default: "metric"

Example Request:

{ "params": { "name": "current_weather", "arguments": { "location": "Tokyo,JP", "units": "metric" } } }

weather_forecast

Gets a weather forecast for a specific location.

Parameters:

  • location (required): The city name or city name + country code (e.g., "London", "Paris,FR")
  • units (optional): Units of measurement. Options: "metric" (Celsius) or "imperial" (Fahrenheit). Default: "metric"
  • days (optional): Number of days for the forecast. Maximum is 5. Default: 5

Example Request:

{ "params": { "name": "weather_forecast", "arguments": { "location": "New York,US", "units": "imperial", "days": 3 } } }

Hosting on MCP.so

To host this server on MCP.so:

  1. Ensure your repository is public on GitHub with an MIT, Apache, or similar license
  2. Submit your MCP Server to MCP.so for review
  3. Once approved, your server will be available on the MCP Playground

License

MIT

Contact

For questions or support, please open an issue on GitHub.

-
security - not tested
A
license - permissive license
-
quality - not tested

An MCP server that connects to OpenWeatherMap's API to provide current weather data and multi-day forecasts for locations worldwide in different measurement units.

  1. Features
    1. Prerequisites
      1. Getting Started
        1. Local Development
        2. Running in REST mode
        3. Docker
      2. Usage
        1. Available Tools
      3. Hosting on MCP.so
        1. License
          1. Contact
            ID: 4i9lolb2zh