Skip to main content
Glama
spraveenitpro

mcp-weather-server

MCP Weather Server Tutorial

This project demonstrates how to build a simple Model Context Protocol (MCP) server that provides weather information for any city using the Open-Meteo API.

Features

  • MCP server using @modelcontextprotocol/sdk

  • One tool: get-weather (returns weather for a given city)

  • Uses geocoding and weather APIs from Open-Meteo

  • Returns weather data in JSON format

How It Works

  1. The MCP server exposes a tool called get-weather.

  2. When a city name is provided, the server:

    • Uses Open-Meteo's geocoding API to get latitude and longitude for the city.

    • Fetches current weather data for those coordinates.

    • Returns the weather data as a JSON response.

  3. If the city is not found, a helpful error message is returned.

Prerequisites

  • Node.js (v18+ recommended)

  • MCP Inspector (or any MCP client)

Setup

  1. Clone this repository or copy the files to your workspace.

  2. Install dependencies:

    npm install
    npm install node-fetch
  3. Update your main.ts to import fetch from node-fetch if running in Node.js:

    import fetch from "node-fetch";
  4. Start the MCP server using MCP Inspector:

    npx -y @modelcontextprotocol/inspector npx tsx main.ts

Usage

  • Open MCP Inspector and connect to your server.

  • Use the get-weather tool, enter a city name (e.g., "Paris", "Bangalore", "Chennai").

  • The server will respond with the current weather data for that city.

Example Tool Response

{
  "latitude": 13,
  "longitude": 80.125,
  "current": {
    "temperature_2m": 30,
    "relative_humidity_2m": 66,
    "wind_speed_10m": 14.9,
    "cloud_cover": 94,
    "apparent_temperature": 33.2
  }
}

Troubleshooting

  • If you see fetch is not defined, make sure you have installed and imported node-fetch.

  • If the city is not found, check for typos or try a nearby major city.

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/spraveenitpro/mcp-weather-server'

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