Skip to main content
Glama
akdrione

Weather MCP Server

by akdrione

Wetter-MCP-Server

Ein Model Context Protocol (MCP)-Server für Wetterdaten mit OpenAPI-Unterstützung. Dieser Server stellt Wetterinformationen von der OpenWeatherMap-API bereit und kann von LLM-Agenten über MCP genutzt werden.

Funktionen

  • MCP-stdio-Transport für die Integration von LLM-Agenten

  • HTTP-REST-API mit OpenAPI 3.0-Spezifikation

  • 4 Wetter-Tools:

    1. Aktuelles Wetter nach Stadt abrufen

    2. Aktuelles Wetter nach Koordinaten abrufen

    3. Wettervorhersage abrufen (5 Tage, 3-Stunden-Intervalle)

    4. Zusammenfassung des Temperaturbereichs abrufen

  • Unterstützung für Mock-Daten zum Testen ohne API-Schlüssel

  • TypeScript-Implementierung mit vollständiger Typsicherheit

Installation

cd weather-mcp-server
npm install
npm run build

Verwendung

1. MCP-Server (stdio-Transport)

Starten Sie den MCP-Server für LLM-Agenten:

npm start

Oder im Entwicklungsmodus:

npm run dev

2. HTTP-Server mit OpenAPI

Starten Sie den HTTP-Server mit REST-API:

npm run dev:http

Der Server startet unter http://localhost:3000 mit:

  • /health - Health-Check-Endpunkt

  • /openapi - OpenAPI-Spezifikation

  • /api/v1/weather/current/{city} - Aktuelles Wetter nach Stadt

  • /api/v1/weather/current/coordinates - Aktuelles Wetter nach Koordinaten

  • /api/v1/weather/forecast/{city} - Wettervorhersage

3. Konfiguration

Legen Sie Ihren OpenWeatherMap-API-Schlüssel fest (optional – falls nicht angegeben, werden Mock-Daten verwendet):

export OPENWEATHER_API_KEY=your_api_key_here

Oder erstellen Sie eine .env-Datei:

OPENWEATHER_API_KEY=your_api_key_here

MCP-Tools

Der Server stellt die folgenden MCP-Tools bereit:

Tool-Name

Beschreibung

Parameter

weather_get_current_by_city

Aktuelles Wetter nach Stadt abrufen

city: string

weather_get_current_by_coords

Aktuelles Wetter nach Koordinaten abrufen

latitude: number, longitude: number

weather_get_forecast

Wettervorhersage abrufen

city: string, days?: number (1-10, Standard: 5)

weather_get_temperature_range

Zusammenfassung des Temperaturbereichs abrufen

city: string

API-Endpunkte

HTTP-REST-API

Alle Endpunkte geben JSON mit der folgenden Struktur zurück:

{
  "success": true,
  "data": { ... }
}

1. Aktuelles Wetter nach Stadt

GET /api/v1/weather/current/{city}

Beispiel:

curl http://localhost:3000/api/v1/weather/current/London

2. Aktuelles Wetter nach Koordinaten

GET /api/v1/weather/current/coordinates?lat={latitude}&lon={longitude}

Beispiel:

curl "http://localhost:3000/api/v1/weather/current/coordinates?lat=51.5074&lon=-0.1276"

3. Wettervorhersage

GET /api/v1/weather/forecast/{city}?days={days}

Beispiel:

curl "http://localhost:3000/api/v1/weather/forecast/New%20York?days=3"

Testen

Führen Sie die Test-Suite aus:

npm test

Starten Sie den MCP-Inspektor zum Debuggen:

npm run inspect

Projektstruktur

weather-mcp-server/
├── src/
│   ├── index.ts              # MCP stdio server
│   ├── http-server.ts        # HTTP server with OpenAPI
│   ├── types/
│   │   └── weather.ts        # TypeScript types and Zod schemas
│   ├── utils/
│   │   └── weather-client.ts # OpenWeatherMap API client
│   └── tools/
│       └── weather-tools.ts  # MCP tool definitions
├── dist/                     # Compiled JavaScript
├── test/
│   └── test.js              # Test suite
├── package.json
├── tsconfig.json
└── README.md

Abhängigkeiten

  • @modelcontextprotocol/sdk - MCP-SDK für TypeScript

  • express - HTTP-Server-Framework

  • axios - HTTP-Client für API-Aufrufe

  • zod - Schema-Validierung

  • typescript - TypeScript-Compiler

Lizenz

MIT

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

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

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