Skip to main content
Glama

Weather MCP Server

by gmailhasan

Weather MCP Server

A Model Context Protocol (MCP) server that provides weather data from the Open-Meteo API.

Overview

This MCP server fetches weather data from the Open-Meteo API endpoint and communicates over HTTP using the Streamable HTTP transport.

https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current=temperature_2m,wind_speed_10m&hourly=temperature_2m,relative_humidity_2m,wind_speed_10m

Features

  • HTTP Transport: Communicate over HTTP for remote access

  • Current Weather: Get current temperature and wind speed

  • Hourly Forecast: Access hourly temperature, relative humidity, and wind speed data

  • Flexible Coordinates: Query weather for any latitude/longitude coordinates

  • Session Management: Supports multiple concurrent client sessions

Installation

  1. Install dependencies:

npm install
  1. Build the server:

npm run build
  1. Start the server:

node build/index.js

The server will start on http://localhost:3000 by default. You can customize the port:

PORT=8080 node build/index.js

Endpoints

  • POST /mcp - Main MCP endpoint for tool calls and requests

  • GET /mcp - Server-Sent Events (SSE) endpoint for streaming

  • DELETE /mcp - Close session endpoint

  • GET /health - Health check endpoint

Tools

get_weather

Fetches current weather and hourly forecast data for specified coordinates.

Parameters:

  • latitude (number): Latitude coordinate (e.g., 52.52 for Berlin)

  • longitude (number): Longitude coordinate (e.g., 13.41 for Berlin)

Returns:

  • Current temperature (°C)

  • Current wind speed (km/h)

  • Hourly forecast data arrays

  • Complete raw API response

Usage with MCP Clients

HTTP Client (Recommended)

Use the provided HTTP client to connect to the running server:

# Start the server in one terminal node build/index.js # Run the client in another terminal node mcp-http-client.js

Or create your own HTTP client using the MCP SDK:

import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"; const client = new Client( { name: "my-client", version: "1.0.0", }, { capabilities: {} } ); const transport = new StreamableHTTPClientTransport( new URL("http://localhost:3000/mcp") ); await client.connect(transport); // List tools const tools = await client.listTools(); // Call a tool const result = await client.callTool({ name: "get_weather", arguments: { latitude: 47.6162, longitude: -122.0356 }, });

VS Code

Add to your .vscode/mcp.json:

{ "servers": { "weather-mcp-server": { "type": "http", "url": "http://localhost:3000/mcp" } } }

Claude Desktop

The HTTP server can be accessed by any MCP client that supports HTTP transport. Configure your client to connect to:

http://localhost:3000/mcp

Example Queries

Once connected to an MCP client, you can ask questions like:

  • "What's the current weather in Berlin?" (latitude: 52.52, longitude: 13.41)

  • "Get weather forecast for San Francisco" (latitude: 37.77, longitude: -122.42)

  • "Show me the hourly temperature forecast for Tokyo" (latitude: 35.68, longitude: 139.65)

Development

The server is built using:

API Reference

Weather data is sourced from Open-Meteo, a free weather API that provides:

  • Real-time weather data

  • Hourly forecasts

  • No API key required

License

ISC

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Provides current weather data and hourly forecasts for any location worldwide using the Open-Meteo API, accessible through HTTP transport without requiring an API key.

  1. Overview
    1. Features
      1. Installation
        1. Endpoints
          1. Tools
            1. get_weather
          2. Usage with MCP Clients
            1. HTTP Client (Recommended)
            2. VS Code
            3. Claude Desktop
          3. Example Queries
            1. Development
              1. API Reference
                1. License

                  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/gmailhasan/mcpexample'

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