io.github.trondbjoroy/met-mcp

Registre officiel Cartes, voyage et météo

Weather forecasts from MET Norway (Yr): geocoding plus hourly forecasts worldwide.

Que pouvez-vous faire avec io.github.trondbjoroy/met-mcp ?

  • geocode_location(name, count) — find coordinates for a place name. Uses the free Open-Meteo geocoder, because MET has no geocoding API.
  • get_forecast(latitude, longitude, hours) — hourly forecast from MET Locationforecast 2.0. Works worldwide, best in the Nordics.
  • get_nowcast(latitude, longitude) — radar-based precipitation for the next 2 hours. Nordics only.
  • get_weather_alerts(latitude?, longitude?) — official Norwegian danger warnings (MetAlerts). Omit coordinates for all of Norway.
  • get_sun_events(latitude, longitude, date, utc_offset) — sunrise, sunset, and solar noon. Worldwide.
  • get_ocean_forecast(latitude, longitude, hours) — wave height and sea temperature along the Norwegian coast.
  • find_weather_stations(latitude, longitude, count) — nearest official weather stations (Frost).
  • get_historical_weather(station_id, from, to, elements) — daily historical observations from the Frost archive; some stations go back over 100 years.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http met-mcp 'https://met-mcp.met-mcp-worker.workers.dev/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "met-mcp": {
            "type": "http",
            "url": "https://met-mcp.met-mcp-worker.workers.dev/mcp"
        }
    }
}
NPM package met-mcp
Claude Code
claude mcp add met-mcp -e 'MET_USER_AGENT=<MET_USER_AGENT>' -- npx -y met-mcp@0.2.0
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "met-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "met-mcp@0.2.0"
            ],
            "env": {
                "MET_USER_AGENT": "<MET_USER_AGENT>"
            }
        }
    }
}

Variables d'environnement

  • MET_USER_AGENT Identifying User-Agent with contact info, sent to api.met.no per MET terms of service. Optional; a package-level default is used if unset.

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. met-mcp
  2. Tools
  3. Build and test
  4. Use with Claude Code
  5. MET terms of service
  6. Remote version
  7. How it works

met-mcp

An MCP server for weather forecasts from MET Norway (Yr). Built as a learning project.

Available three ways:

  • npm: met-mcp — run locally over stdio
  • Remote: https://met-mcp.met-mcp-worker.workers.dev/mcp — Streamable HTTP on Cloudflare Workers, add it as a claude.ai connector
  • MCP registry: io.github.trondbjoroy/met-mcp

Tools

  • geocode_location(name, count) — find coordinates for a place name. Uses the free Open-Meteo geocoder, because MET has no geocoding API.
  • get_forecast(latitude, longitude, hours) — hourly forecast from MET Locationforecast 2.0. Works worldwide, best in the Nordics.
  • get_nowcast(latitude, longitude) — radar-based precipitation for the next 2 hours. Nordics only.
  • get_weather_alerts(latitude?, longitude?) — official Norwegian danger warnings (MetAlerts). Omit coordinates for all of Norway.
  • get_sun_events(latitude, longitude, date, utc_offset) — sunrise, sunset, and solar noon. Worldwide.
  • get_ocean_forecast(latitude, longitude, hours) — wave height and sea temperature along the Norwegian coast.
  • find_weather_stations(latitude, longitude, count) — nearest official weather stations (Frost).
  • get_historical_weather(station_id, from, to, elements) — daily historical observations from the Frost archive; some stations go back over 100 years.

The two Frost tools need a free client ID from https://frost.met.no/auth/requestCredentials.html, set as the FROST_CLIENT_ID env var (or a Cloudflare secret for the worker). The other tools need nothing.

Tool definitions live in src/tools.ts, shared between the stdio server and the worker.

Build and test

npm install
npm run build
npm test

The test spawns the server over stdio and calls both tools against the live APIs.

Use with Claude Code

claude mcp add met-weather -- node C:\Users\trond\met-mcp\dist\index.js

Then ask Claude: "What is the weather in Bergen tomorrow?"

MET terms of service

  • Send an identifying User-Agent with contact info. Set the MET_USER_AGENT env var, e.g. met-mcp/0.1.0 you@example.com.
  • Send at most 4 decimals in coordinates. The server rounds for you.
  • Data license: NLOD / CC BY 4.0. Credit MET Norway when you show the data.

Remote version

worker/ holds the Cloudflare Workers deployment: the same two tools served over MCP Streamable HTTP with createMcpHandler (MCP SDK v2). Develop with npm run dev, ship with npm run deploy (both from worker/).

How it works

  • src/index.ts is the whole server. It speaks MCP over stdio: JSON-RPC on stdin/stdout.
  • Each tool declares an input schema with Zod. The MCP client (Claude) reads the schema and validates arguments.
  • Tool results are content blocks. This server returns JSON as text, trimmed to what an LLM needs — the raw MET response has ~90 timesteps with far more fields.
  • Never write to stdout with console.log. It corrupts the protocol stream. Log to stderr.

Questions fréquentes

Qu'est-ce que io.github.trondbjoroy/met-mcp ?

Weather forecasts from MET Norway (Yr): geocoding plus hourly forecasts worldwide.

Comment installer io.github.trondbjoroy/met-mcp ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http met-mcp 'https://met-mcp.met-mcp-worker.workers.dev/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.trondbjoroy/met-mcp ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.trondbjoroy/met-mcp est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.trondbjoroy/met-mcp ?

Il est publié par trondbjoroy. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.