{
  "markdown": "# vedurstofa-mcp\n\nMCP server for Icelandic weather, forecasts, warnings, and earthquakes. Data comes from the Icelandic Meteorological Office (Veðurstofa Íslands, [vedur.is](https://vedur.is)). Works with Claude Desktop, Claude Code, and any other MCP client.\n\n## What it does\n\nSix tools:\n\n| Tool | What it returns |\n|---|---|\n| `get_weather_now` | Current AWS observations per station (temperature, wind, pressure, humidity, precipitation). |\n| `get_weather_forecast` | Per-station multi-day forecasts scraped from vedur.is. Falls back to the text forecast if scraping fails. |\n| `get_weather_text` | Prose weather forecasts and text warnings (national, multi-day, or warnings), in English or Icelandic. |\n| `get_weather_warnings` | Structured CAP v1 severe-weather alerts. |\n| `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. |\n| `list_weather_stations` | Station catalog for ID/name lookups. |\n\nStation inputs accept IDs (`\"1470\"`) or names with or without diacritics (`\"Reykjavík\"`, `\"reykjavik\"`). Unknown names return a typo-tolerant \"did you mean...\" error.\n\n## For agents\n\nRead this section if you're an AI agent picking tools from this server.\n\n- **No auth, no API key, no setup.** Just run `npx vedurstofa-mcp` over stdio.\n- **All data is Icelandic.** If the user asks about weather outside Iceland, stop — this server can't help.\n- **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.\n- **Units are metric.** °C, m/s, hPa, mm, km. Convert only when the user asks.\n- **Timestamps are ISO 8601 UTC.** Iceland is on UTC year-round (no DST).\n\n### Tool selection guide\n\n| User asks about… | Use |\n|---|---|\n| Current temperature, wind, pressure at a location | `get_weather_now` |\n| Hourly forecast for the next hours/days at a location | `get_weather_forecast` (pass `hours` to narrow the window) |\n| Narrative / prose forecast (national outlook, multi-day, text warnings) | `get_weather_text` |\n| Severe-weather alerts, storm warnings, structured hazard data | `get_weather_warnings` |\n| Recent earthquakes — volcanic regions, lat/lon radius, magnitude | `get_earthquakes` |\n| \"Which stations are there?\" / resolving a place name to a station ID | `list_weather_stations` |\n\n### Multi-tool workflows\n\n- **\"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.\n- **\"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*.\n- **\"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 }`.\n\n### Degraded responses\n\n`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.\n\n## Install & run\n\nNode 18+ required.\n\n```bash\n# Latest\nnpx -y vedurstofa-mcp\n\n# Version-pinned (recommended for configs that shouldn't drift)\nnpx -y vedurstofa-mcp@1.0.0\n```\n\nThe server speaks MCP over stdio, so you won't see interactive output. Plug it into a client.\n\n## Claude Desktop\n\n`~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"vedurstofa\": {\n      \"command\": \"npx\",\n      \"args\": [\"vedurstofa-mcp\"]\n    }\n  }\n}\n```\n\n## Claude Code\n\n```bash\nclaude mcp add vedurstofa -- npx vedurstofa-mcp\n```\n\n## Cursor\n\n`~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"vedurstofa\": {\n      \"command\": \"npx\",\n      \"args\": [\"vedurstofa-mcp\"]\n    }\n  }\n}\n```\n\n## Cline (VS Code)\n\nIn VS Code, open the Cline extension → MCP servers → **Edit MCP settings**, and add:\n\n```json\n{\n  \"mcpServers\": {\n    \"vedurstofa\": {\n      \"command\": \"npx\",\n      \"args\": [\"vedurstofa-mcp\"]\n    }\n  }\n}\n```\n\n## ChatGPT\n\nChatGPT'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](https://developers.openai.com/api/docs/mcp) for setup.\n\n## Example output\n\n`get_weather_now` with `stations: [\"Reykjavík\"]`:\n\n```json\n{\n  \"attribution\": \"Icelandic Met Office (vedur.is), CC BY-SA 4.0. ...\",\n  \"source\": \"https://api.vedur.is/weather/observations/aws/hour/latest\",\n  \"fetched_at\": \"2026-04-15T21:00:00.000Z\",\n  \"data\": {\n    \"observations\": [\n      {\n        \"station_id\": \"1470\",\n        \"station_name\": \"Reykjavík\",\n        \"observed_at\": \"2026-04-15T20:50:00.000Z\",\n        \"temperature_c\": 4.2,\n        \"wind_speed_ms\": 7.1,\n        \"wind_direction_deg\": 230,\n        \"wind_direction_cardinal\": \"SW\",\n        \"pressure_hpa\": 1008.4,\n        \"humidity_pct\": 82,\n        \"precipitation_mm\": 0.0\n      }\n    ]\n  }\n}\n```\n\n`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.\n\n## Example prompts\n\n- \"What's the weather in Reykjavík right now?\"\n- \"Compare current conditions in Akureyri, Ísafjörður and Höfn.\"\n- \"Any weather warnings active for Iceland?\"\n- \"Earthquakes near Grindavík in the last 24 hours above magnitude 2.\"\n- \"Show me the Icelandic multi-day text forecast.\"\n\n## Data attribution\n\nData 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.\n\n## Limitations\n\n- 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.\n- Forecast station coverage is limited to ~13 major named stations. Others share a regional page or have no scrapeable forecast.\n- Units are metric: °C, m/s, hPa, mm, km. Claude converts on request.\n- Timestamps are ISO 8601 UTC. Iceland is on UTC year-round (no DST).\n\n## Development\n\n```bash\nnpm install\nnpm run typecheck\nnpm run test\nnpm run build\n```\n\n`VEDURSTOFA_DEBUG=1` enables debug-level logs on stderr. Stdout is reserved for the MCP protocol.\n\n## License\n\nMIT for the server code. Data is the property of the Icelandic Meteorological Office under CC BY-SA 4.0.\n",
  "bytes": 7118,
  "sha": "4f4942137296b022ea252910efe6a4d40bcc3268cbe03bdc470e75dd8b0679f3",
  "repo_slug": "sandsower/vedurstofa-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_sandsower_vedurstofa_mcp_884f2a39/readme"
}