Vedurstofa Mcp

io.github.sandsower由 GitHub 帳號 sandsower 發布v1.0.0更新於 Oct 24, 2026

MCP server for Icelandic weather, forecasts, warnings, and earthquakes from vedur.is.

已驗證STDIO僅桌面位置與生活資料與分析

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理取得 vedur.is 的冰島天氣實況、預報、警報與近期地震資料。

可以做什麼
查詢各氣象站的目前觀測與多日分站預報,擷取失敗時改用全國文字預報,並讀取英文或冰島語的文字預報與文字警報,以及結構化的惡劣天氣警示。依火山區域預設或經緯度半徑查詢近期地震,並列出氣象站目錄以解析地名或站點編號。每個回應都是帶署名、來源與取得時間的 JSON 封裝,降級回應會被標記。
適用情境
適合使用者詢問冰島的天氣、預報、警報或地震時使用,例如雷克雅維克的目前天氣、冰島城鎮之間的出行路況、生效中的警報,或某火山系統附近的地震活動。它無法回答冰島以外的天氣問題。
執行需求
透過 npx 以 stdio 在本機執行,需要 Node.js 18 或以上版本。不需帳號、API 金鑰或環境變數。需要能連線 vedur.is 的網路,且需要桌面版 MCP 用戶端,因為它不是遠端伺服器。
安裝前請注意
唯讀:僅取得公開資料,不會寫入、傳送或刪除任何內容。預報擷取較脆弱,可能回傳降級結果,應向使用者說明。資料來自冰島氣象局,採 CC BY-SA 4.0 授權,必須署名;儲存庫的 MIT 授權僅涵蓋程式碼,不涵蓋資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Vedurstofa Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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:

ToolWhat it returns
get_weather_nowCurrent AWS observations per station (temperature, wind, pressure, humidity, precipitation).
get_weather_forecastPer-station multi-day forecasts scraped from vedur.is. Falls back to the text forecast if scraping fails.
get_weather_textProse weather forecasts and text warnings (national, multi-day, or warnings), in English or Icelandic.
get_weather_warningsStructured CAP v1 severe-weather alerts.
get_earthquakesRecent earthquakes with region presets (Reykjanes, Katla, Bárðarbunga, Tjörnes, Askja, Hekla, Grímsvötn) and arbitrary lat/lon radius filters.
list_weather_stationsStation 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 locationget_weather_now
Hourly forecast for the next hours/days at a locationget_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 dataget_weather_warnings
Recent earthquakes — volcanic regions, lat/lon radius, magnitudeget_earthquakes
"Which stations are there?" / resolving a place name to a station IDlist_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.

bash
# Latestnpx -y vedurstofa-mcp
# Version-pinned (recommended for configs that shouldn't drift)npx -y [email protected]

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):

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

Claude Code

bash
claude mcp add vedurstofa -- npx vedurstofa-mcp

Cursor

~/.cursor/mcp.json:

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:

json
{  "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"]:

json
{  "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

bash
npm installnpm run typechecknpm run testnpm 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.

來源:README.md,提交 3300117

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。