vedurstofa-mcp について
vedurstofa-mcpは、アイスランド気象庁のデータを使って天気、予報、警報、地震情報を提供するMCPサーバーです。観測所ごとの観測値や予報に加え、地域または座標を指定した地震検索ができます。
主な機能
- 01観測所ごとの現在の観測値を取得
- 02観測所ごとの複数日予報を取得
- 03英語またはアイスランド語の文章予報を検索
- 04構造化された重大気象警報を取得
- 05地域または座標で最近の地震を絞り込み
- 06観測所一覧の取得と名称の解決
活用シーン
- 01アイスランドの指定地点の現在の天気を確認
- 02経路の両端を比較し、警報を確認
- 03火山地域や座標周辺の地震を検索
MCP 対応
stdio経由で、天気、予報、警報、地震、観測所検索の6つのツールをMCPクライアントに提供します。応答にはデータの出典と帰属情報が含まれます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| lang | enum | いいえ | 説明フィールドの言語。デフォルトは 'en' です。en | is |
| stations | array | いいえ | 観測所 ID または名称。例:['1470', 'Akureyri']。ダイアクリティカルマークは省略できます。省略時のデフォルトは ['Reykjavík'] です。 |
詳細
vedurstofa-mcp
アイスランドの気象、予報、警報、地震情報を提供するMCPサーバーです。データはアイスランド気象庁(Veðurstofa Íslands、vedur.is)から取得しています。Claude Desktop、Claude Code、その他のMCPクライアントで利用できます。
できること
6つのツールを提供します。
| ツール | 取得できる情報 |
|---|---|
get_weather_now | 観測所ごとのAWS現在観測値(気温、風、気圧、湿度、降水量)。 |
get_weather_forecast | vedur.isから取得した観測所ごとの複数日予報。スクレイピングに失敗した場合はテキスト予報にフォールバックします。 |
get_weather_text | 英語またはアイスランド語による文章形式の天気予報とテキスト警報(全国予報、複数日予報、または警報)。 |
get_weather_warnings | 構造化されたCAP v1の悪天候警報。 |
get_earthquakes | 最近の地震情報。地域プリセット(Reykjanes、Katla、Bárðarbunga、Tjörnes、Askja、Hekla、Grímsvötn)と、任意の緯度・経度・半径による絞り込みに対応しています。 |
list_weather_stations | IDや名前を検索するための観測所一覧。 |
観測所の入力には、ID("1470")または、発音区別符号の有無を問わない名前("Reykjavík"、"reykjavik")を指定できます。不明な名前を指定すると、入力ミスを考慮した「もしかして……」というエラーが返されます。
エージェント向け
このサーバーからツールを選択するAI エージェントは、このセクションをお読みください。
- 認証も、APIキーも、セットアップも不要です。
npx vedurstofa-mcpをstdio経由で実行するだけです。 - すべてのデータはアイスランドのものです。 ユーザーがアイスランド以外の天気について尋ねた場合は、処理を中止してください。このサーバーでは対応できません。
- すべてのレスポンスはJSONエンベロープで、
attribution、source、fetched_at、dataと、任意でerrors、degraded、truncatedが含まれます。ユーザーにデータを提示する際は、必ずattributionフィールドを明記してください。 - 単位はメートル法です。 °C、m/s、hPa、mm、kmを使用します。ユーザーから求められた場合にのみ換算してください。
- タイムスタンプはISO 8601のUTCです。 アイスランドは年間を通じてUTCで、夏時間はありません。
ツール選択ガイド
| ユーザーの質問… | 使用するツール |
|---|---|
| 特定の場所の現在の気温、風、気圧 | get_weather_now |
| 特定の場所の今後数時間/数日間の時間別予報 | get_weather_forecast(期間を絞るにはhoursを指定) |
| 文章形式の予報(全国概況、複数日予報、テキスト警報) | get_weather_text |
| 悪天候警報、暴風警報、構造化されたハザードデータ | get_weather_warnings |
| 最近の地震(火山地域、緯度・経度の半径、マグニチュード) | get_earthquakes |
| 「どんな観測所がありますか?」/地名から観測所IDを検索 | list_weather_stations |
複数ツールを使うワークフロー
- 「今日のアイスランドの天気はどうですか?」 → ユーザーの都市で
get_weather_nowを実行し、get_weather_warningsで有効な警報がないか確認します。ユーザーが文章形式の予報を求めている場合にのみ、category: "national"を指定してget_weather_textを追加します。 - 「明日、ReykjavíkからAkureyriまで車で移動しても大丈夫ですか?」 → 両方の地点で
get_weather_forecastを実行し、get_weather_warningsも実行します。ユーザーが現在の状況について尋ねているのでなければ、get_weather_nowは呼び出さないでください。 - 「近くで地震はありましたか?」 → ユーザーが火山系(Reykjanes、Katlaなど)を指定した場合は、
regionプリセットを使ってget_earthquakesを実行します。それ以外の場合は、near: { lat, lon, radius_km }を指定します。
縮退レスポンス
get_weather_forecastはHTMLをスクレイピングするため、上流サイトに変更があると失敗することがあります。その場合、レスポンスにはdegraded: trueとdegraded_reasonが含まれ、全国向けテキスト予報にフォールバックします。構造化された予報を取得できたかのように扱わず、このことをユーザーに伝えてください。
インストールと実行
Node 18以上が必要です。
# Latest
npx -y vedurstofa-mcp
# Version-pinned (recommended for configs that shouldn't drift)
npx -y [email protected]
このサーバーはstdio経由でMCPを通信するため、対話型の出力は表示されません。クライアントに接続してください。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または%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)
VS CodeでCline拡張機能を開き、MCP servers → Edit MCP settingsを選択して、次の内容を追加します。
{
"mcpServers": {
"vedurstofa": {
"command": "npx",
"args": ["vedurstofa-mcp"]
}
}
}
ChatGPT
ChatGPT の MCP サポート(Developer Mode、Plus/Pro 以上)は、現在、SSE URL で公開されているリモート MCP サーバーのみを受け付けており、このサーバーのようなローカルの stdio サーバーには対応していません。ChatGPT で vedurstofa-mcp を使うには、stdio→SSE ブリッジ(例:mcp-proxy、supergateway)の背後に配置し、ChatGPT にブリッジの URL を指定する必要があります。設定については、OpenAI の MCP docs をご覧ください。
出力例
stations: ["Reykjavík"] を指定した get_weather_now:
{
"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
}
]
}
}
region: "reykjanes" を指定した get_earthquakes は、timestamp、latitude、longitude、depth_km、magnitude、magnitude_type、location、reviewed を含むイベントのソート済みリストを返します。上流でフィールドが省略されている場合、その値はデフォルトで null になります。
プロンプトの例
- 「今、Reykjavík の天気はどうですか?」
- 「Akureyri、Ísafjörður、Höfn の現在の気象状況を比較してください。」
- 「アイスランドで現在有効な気象警報はありますか?」
- 「過去 24 時間の Grindavík 付近で、マグニチュード 2 を超える地震を教えてください。」
- 「アイスランドの複数日にわたるテキスト予報を表示してください。」
データの帰属表示
データは、CC BY-SA 4.0 に基づき Icelandic Meteorological Office から提供されています。すべての応答には attribution フィールドが含まれます。このリポジトリの MIT ライセンスが適用されるのはサーバーコードのみであり、データには適用されません。
制限事項
- 予報のスクレイピングは不安定です。観測地点ごとの予報は、vedur.is のページに含まれるインライン JavaScript から抽出されます。HTML が変更された場合、スクレイパーは全国向けテキスト予報にフォールバックし、応答に
degraded: trueを付けます。そのような場合は issue を作成してください。 - 予報の対象となる観測地点は、主要な名前付き観測地点約 13 か所に限られます。それ以外の地点は地域ページを共有しているか、スクレイピング可能な予報がありません。
- 単位はメートル法です:°C、m/s、hPa、mm、km。Claude はリクエストに応じて単位を変換します。
- タイムスタンプは ISO 8601 UTC です。アイスランドは年間を通じて UTC(夏時間なし)です。
開発
npm install
npm run typecheck
npm run test
npm run build
VEDURSTOFA_DEBUG=1 を設定すると、stderr にデバッグレベルのログが出力されます。stdout は MCP プロトコル専用です。
ライセンス
サーバーコードは MIT ライセンスです。データは CC BY-SA 4.0 に基づく Icelandic Meteorological Office の所有物です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。