Skip to main content
Glama

mcp-weather-ts

Ein TypeScript-MCP-Server, der US-Wetterdaten von der National Weather Service API für Hosts wie Cursor bereitstellt.

Der Host startet node build/index.js und kommuniziert per JSON-RPC über stdio. Das Modell ruft NWS nie selbst auf; es ruft die Tools dieses Servers auf (und kann eine Ressource lesen oder eine Prompt verwenden).

So funktioniert MCP (Tools, Ressourcen, Prompts, Transport): docs/create-mcp.readme.md.


Voraussetzungen

  • Node.js 22+ (dieses Repo verwendet ESM und fetch)

  • npm

  • Netzwerkzugriff auf https://api.weather.gov (nur US-Standorte)


Related MCP server: weather

Einrichtung

npm install
npm run build

tsc schreibt JavaScript nach build/. Cursor muss die erstellte Datei ausführen, nicht src/index.ts.

Skripte

Befehl

Was er macht

npm run build

Kompiliert src/build/

npm test

Smoke-Test der NWS: /points, dann Forecast- und Hourly-URLs


In Cursor einbinden

  1. Build ausführen (npm run build).

  2. Füge in diesem Projekt .cursor/mcp.json hinzu:

{
  "mcpServers": {
    "weather": {
      "type": "stdio",
      "command": "node",
      "args": ["${workspaceFolder}/build/index.js"]
    }
  }
}

Verwende für alle Cursor-Projekte %USERPROFILE%\.cursor\mcp.json und einen vollständigen Pfad zu build\index.js anstelle von ${workspaceFolder}.

  1. Öffne Customize → MCP (oder Cursor Settings → MCP) und aktiviere weather.

  2. Nachdem du src/ geändert hast, führe npm run build erneut aus und schalte den Server aus und wieder ein, damit Cursor den Prozess neu startet.

Verwende nach dem Verbinden des Servers kein console.log: stdout ist der MCP-Kanal. Nutze console.error für Logs.


Was du aufrufen kannst

Tools

Das Modell (oder du, indem du im Agent-Chat fragst) ruft diese mit tools/call auf.

Name

Eingaben

Was es tut

get_alerts

state — 2-Buchstaben-US-Code (CA, NY)

Aktive Warnungen für diesen Bundesstaat

get_forecast

latitude, longitude

12-Stunden-Vorhersage (NWS /points, dann properties.forecast)

test_tool

name

Übung: Hello, {name}!

Beispiel-Chat:

  • „Gibt es Wetterwarnungen für CA?“

  • „Vorhersage für 39.7456, -97.0892“

Beispiel-Argumente:

{ "state": "CA" }
{ "latitude": 39.7456, "longitude": -97.0892 }

Ressource

Name

URI

Was es tut

nws_guide

weather://nws-guide

Kurze statische Beschreibung der Tools und des NWS-Nachschlageablaufs

Bitte den Agenten, weather://nws-guide zu lesen, oder verwende resources/read in einem Client.

Prompt

Name

Argumente

Was es tut

check_weather

place — z. B. Boston MA oder CA

Benutzernachrichten-Vorlage, die das Modell anweist, get_forecast / get_alerts zu verwenden

Wähle in Cursor die Prompt Check weather und fülle place aus.


Projektstruktur

src/index.ts              Create McpServer, register, connect stdio
src/tools.ts              get_alerts, get_forecast, test_tool
src/resources.ts          weather://nws-guide
src/prompts.ts            check_weather
src/weather-api-call.ts   NWS fetch + types + alert formatting
src/createTransport.ts    StdioServerTransport + connect
tests/weather-api-call.test.ts
docs/create-mcp.readme.md How to design MCP servers

Startreihenfolge in src/index.ts:

  1. new McpServer({ name: "weather", version: "1.0.0" })

  2. registerWeatherTools / registerWeatherResources / registerWeatherPrompts

  3. connectStdioTransport(server)


Hinweise zu NWS

  • Vorhersagen liegen nicht unter /points/{lat},{lon}/forecast. Lade /points/{lat},{lon} (vier Nachkommastellen) und folge dann properties.forecast oder properties.forecastHourly.

  • NWS verlangt einen User-Agent-Header (gesetzt in weather-api-call.ts).

  • Die Abdeckung umfasst die USA (und einige Territorien). Andere Koordinaten schlagen oft fehl.


Fehlerbehebung

Symptom

Was du versuchen kannst

Server rot / keine Tools

Neu erstellen, prüfen, dass build/index.js existiert, MCP umschalten

Handshake schlägt fehl

Stelle sicher, dass du stdio per connect verbindest und nicht nach stdout loggst

Leere oder fehlgeschlagene Vorhersage

Nur US-Breitengrad/Längengrad; MCP-Logs prüfen

npm test schlägt fehl

Netzwerk-/NWS-Ausfall

Cursor: Output → MCP Logs.


Lizenz

ISC

Install Server
A
license - permissive license
C
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • F
    license
    C
    quality
    C
    maintenance
    Exposes US weather data as MCP tools, resources, and prompts via the National Weather Service API, enabling clients like Claude Desktop to get alerts, forecasts, and weather briefings.
    2
    1
  • F
    license
    Not graded
    quality
    C
    maintenance
    This MCP server provides tools to get current weather, forecasts, and weather alerts from the US National Weather Service via REST APIs, enabling AI agents to query live weather data.
    1
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables natural-language weather queries for U.S. states and coordinates, returning real-time alerts and forecasts from the National Weather Service API via MCP tools.

View all related MCP servers

Related MCP Connectors

  • US weather, alerts, earthquakes and elevation for AI agents, from NWS/NOAA and USGS. No API keys.

  • US weather & geo for AI agents: forecasts, alerts, earthquakes, elevation, geocoding. No keys.

  • Get US weather forecasts, active alerts, and current observations.

View all MCP Connectors

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/kingshuknandy2016/weather-mcp-ts'

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