Skip to main content
Glama
zkjon
by zkjon

MCP Weather Server 🌤️

A Model Context Protocol (MCP) server that provides real-time weather information using the Open-Meteo API.

📋 Description

This project implements an MCP server that allows AI models to obtain current weather information for any location worldwide. The server uses Open-Meteo's free APIs for geocoding and weather data.

Related MCP server: Weather MCP Server

🔍 Documentation

Check out the documentation for more details on how to work with this server.

✨ Features

  • 🌍 Global coverage: Get weather information from any location worldwide

  • 🔄 Real-time data: Up-to-date weather information

  • 📊 Complete data: Temperature, humidity, precipitation, wind, cloud cover

  • 🚀 Fast and efficient: Quick responses with structured JSON data

  • 🔧 Easy integration: Compatible with any MCP client

🛠️ Installation

Prerequisites

  • Bun (recommended) or Node.js 20+

Installation Steps

  1. Clone the repository

    git clone https://github.com/zkjon/mcp-weather.git
    cd mcp-weather
  2. Install dependencies

    bun install
    # or
    npm install
  3. Run the server

    bunx -y tsx src/main.ts
    # or
    npx -y tsx src/main.ts

🚀 Usage

MCP Configuration

To use this server with an MCP client, add the following configuration to your mcp.json file:

{
    "mcpServers": {
        "Weather": {
            "command": "bunx",
            "args": [
                "-y",
                "tsx",
                "C:\\full\\path\\to\\project\\src\\main.ts"
            ]
        }
    }
}

Available Tools

get-weather

Gets weather information for a specific location.

Parameters:

  • location (string): Location name (city, country, etc.)

Usage Example:

// Request
{
    "tool": "get-weather",
    "arguments": {
        "location": "Madrid"
    }
}

// Response
{
    "content": [
        {
            "type": "text",
            "text": "{
                \"latitude\": 40.4375,
                \"longitude\": -3.6875,
                \"current\": {
                    \"temperature_2m\": 18.7,
                    \"relative_humidity_2m\": 54,
                    \"precipitation\": 0,
                    \"rain\": 0,
                    \"cloud_cover\": 4,
                    \"wind_speed_10m\": 6.1
                }
            }"
        }
    ]
}

Workflow

  1. Request reception: Server receives a request with a location

  2. Geocoding: Location coordinates are obtained using Open-Meteo API

  3. Weather query: Weather data is queried using the coordinates

  4. Structured response: Data is returned in structured JSON format

Code Structure

  • Imports: MCP SDK and necessary libraries

  • Server configuration: MCP server definition with name and version

  • Tool definition: Implementation of the get-weather tool

  • Connection: Transport configuration and server connection

🌐 APIs Used

📝 License

This project is licensed under the MIT License. See the LICENSE file for more details.

🤝 Contributing

Contributions are welcome! Please read our contribution guide for more information.

🔒 Security

If you find any security vulnerability, please check our security file to know how to report it.

📞 Support

If you have questions or need help:

🙏 Acknowledgments


Made with ❤️ by zkjon

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables real-time weather information and forecasts using the Open-Meteo API. Provides current weather conditions and forecast data for any location specified by latitude and longitude coordinates.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time weather data and forecasts globally through the Model Context Protocol, enabling AI assistants to access weather information without web searches.
    361 npm
    MIT