vedurstofa-mcp

vedurstofa-mcp

MCP server for Icelandic weather, forecasts, warnings, and earthquakes. Data comes from the Icelandic Meteorological Office.

Category
Visit Server

README

vedurstofa-mcp

MCP server for Icelandic weather, forecasts, warnings, and earthquakes. Data comes from the Icelandic Meteorological Office (Veðurstofa Íslands, vedur.is). Works with Claude Desktop, Claude Code, and any other MCP client.

What it does

Six tools:

Tool What it returns
get_weather_now Current AWS observations per station (temperature, wind, pressure, humidity, precipitation).
get_weather_forecast Per-station multi-day forecasts scraped from vedur.is. Falls back to the text forecast if scraping fails.
get_weather_text Prose weather forecasts and text warnings (national, multi-day, or warnings), in English or Icelandic.
get_weather_warnings Structured CAP v1 severe-weather alerts.
get_earthquakes Recent earthquakes with region presets (Reykjanes, Katla, Bárðarbunga, Tjörnes, Askja, Hekla, Grímsvötn) and arbitrary lat/lon radius filters.
list_weather_stations Station catalog for ID/name lookups.

Station inputs accept IDs ("1470") or names with or without diacritics ("Reykjavík", "reykjavik"). Unknown names return a typo-tolerant "did you mean..." error.

For agents

Read this section if you're an AI agent picking tools from this server.

  • No auth, no API key, no setup. Just run npx vedurstofa-mcp over stdio.
  • All data is Icelandic. If the user asks about weather outside Iceland, stop — this server can't help.
  • Every response is a JSON envelope with attribution, source, fetched_at, data, and optionally errors, degraded, truncated. Always cite the attribution field when surfacing data to users.
  • Units are metric. °C, m/s, hPa, mm, km. Convert only when the user asks.
  • Timestamps are ISO 8601 UTC. Iceland is on UTC year-round (no DST).

Tool selection guide

User asks about… Use
Current temperature, wind, pressure at a location get_weather_now
Hourly forecast for the next hours/days at a location get_weather_forecast (pass hours to narrow the window)
Narrative / prose forecast (national outlook, multi-day, text warnings) get_weather_text
Severe-weather alerts, storm warnings, structured hazard data get_weather_warnings
Recent earthquakes — volcanic regions, lat/lon radius, magnitude get_earthquakes
"Which stations are there?" / resolving a place name to a station ID list_weather_stations

Multi-tool workflows

  • "What's the weather like in Iceland today?" → get_weather_now for the user's city + get_weather_warnings to surface any active alerts. Add get_weather_text with category: "national" only if the user wants a narrative.
  • "Should I drive from Reykjavík to Akureyri tomorrow?" → get_weather_forecast for both endpoints + get_weather_warnings. Don't pull get_weather_now unless the user asks about right now.
  • "Are there any earthquakes near me?" → get_earthquakes with region preset if the user names a volcanic system (Reykjanes, Katla, etc.), otherwise near: { lat, lon, radius_km }.

Degraded responses

get_weather_forecast scrapes HTML and can fail when the upstream site changes. When this happens, the response carries degraded: true and degraded_reason, and falls back to the national text forecast. Surface this to the user rather than pretending the structured forecast is available.

Install & run

Node 18+ required.

# Latest
npx -y vedurstofa-mcp

# Version-pinned (recommended for configs that shouldn't drift)
npx -y vedurstofa-mcp@1.0.0

The server speaks MCP over stdio, so you won't see interactive output. Plug it into a client.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "vedurstofa": {
      "command": "npx",
      "args": ["vedurstofa-mcp"]
    }
  }
}

Claude Code

claude mcp add vedurstofa -- npx vedurstofa-mcp

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "vedurstofa": {
      "command": "npx",
      "args": ["vedurstofa-mcp"]
    }
  }
}

Cline (VS Code)

In VS Code, open the Cline extension → MCP servers → Edit MCP settings, and add:

{
  "mcpServers": {
    "vedurstofa": {
      "command": "npx",
      "args": ["vedurstofa-mcp"]
    }
  }
}

ChatGPT

ChatGPT's MCP support (Developer Mode, Plus/Pro and higher) currently accepts only remote MCP servers exposed over an SSE URL, not local stdio servers like this one. To use vedurstofa-mcp with ChatGPT you'd need to wrap it behind an stdio→SSE bridge (e.g. mcp-proxy, supergateway) and point ChatGPT at the bridge URL. See OpenAI's MCP docs for setup.

Example output

get_weather_now with stations: ["Reykjavík"]:

{
  "attribution": "Icelandic Met Office (vedur.is), CC BY-SA 4.0. ...",
  "source": "https://api.vedur.is/weather/observations/aws/hour/latest",
  "fetched_at": "2026-04-15T21:00:00.000Z",
  "data": {
    "observations": [
      {
        "station_id": "1470",
        "station_name": "Reykjavík",
        "observed_at": "2026-04-15T20:50:00.000Z",
        "temperature_c": 4.2,
        "wind_speed_ms": 7.1,
        "wind_direction_deg": 230,
        "wind_direction_cardinal": "SW",
        "pressure_hpa": 1008.4,
        "humidity_pct": 82,
        "precipitation_mm": 0.0
      }
    ]
  }
}

get_earthquakes with region: "reykjanes" returns a sorted list of events with timestamp, latitude, longitude, depth_km, magnitude, magnitude_type, location, reviewed. Fields default to null when upstream omits them.

Example prompts

  • "What's the weather in Reykjavík right now?"
  • "Compare current conditions in Akureyri, Ísafjörður and Höfn."
  • "Any weather warnings active for Iceland?"
  • "Earthquakes near Grindavík in the last 24 hours above magnitude 2."
  • "Show me the Icelandic multi-day text forecast."

Data attribution

Data comes from the Icelandic Meteorological Office under CC BY-SA 4.0. Every response includes an attribution field. The MIT license in this repo covers the server code only, not the data.

Limitations

  • Forecast scraping is fragile. Per-station forecasts are extracted from inline JavaScript on vedur.is pages. When the HTML changes, the scraper falls back to the national text forecast and marks the response degraded: true. File an issue when you see it.
  • Forecast station coverage is limited to ~13 major named stations. Others share a regional page or have no scrapeable forecast.
  • Units are metric: °C, m/s, hPa, mm, km. Claude converts on request.
  • Timestamps are ISO 8601 UTC. Iceland is on UTC year-round (no DST).

Development

npm install
npm run typecheck
npm run test
npm run build

VEDURSTOFA_DEBUG=1 enables debug-level logs on stderr. Stdout is reserved for the MCP protocol.

License

MIT for the server code. Data is the property of the Icelandic Meteorological Office under CC BY-SA 4.0.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured