mcpField
M
met-mcp

met-mcp

リモート
github.com/trondbjoroy地図・旅行010 週間前に更新
リポジトリ

met-mcp について

met-mcpは、MET Norway(Yr)の天気などのデータを提供するMCPサーバーで、場所ごとの予報や観測を必要とするクライアント向けです。世界各地の予報に加え、北欧限定のレーダー、警報、沿岸データを扱います。

主な機能

  1. 01地名を座標に変換
  2. 02世界各地の時間別予報を取得
  3. 03北欧のレーダー降水ナウキャストを取得
  4. 04ノルウェーの気象警報を照会
  5. 05日照イベントと沿岸の海洋予報を取得
  6. 06観測所の検索と過去の観測データの取得

活用シーン

  1. 01目的地の時間別予報を確認
  2. 02ノルウェーの気象警報を調べる
  3. 03近隣観測所の過去データを確認
  4. 04ノルウェー沿岸の波高と海水温を調べる

MCP 対応

ローカルのstdioサーバーまたはリモートのStreamable HTTPエンドポイントを通じて、MCPクライアントに天気ツールを公開します。両方の実行方式で同じツール定義を使用します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://met-mcp.met-mcp-worker.workers.dev/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npmmet-mcp0.2.0

ツール

8
パラメーター型必須説明
namestringはい地名。例:“Bergen”または“Oslo, Norway”
countintegerいいえ返す一致項目の最大数

詳細

met-mcp

MET Norway(Yr)の天気予報を提供する MCP サーバーです。学習プロジェクトとして作成しました。

次の3つの方法で利用できます。

  • npm: met-mcp — stdio 経由でローカル実行
  • リモート: https://met-mcp.met-mcp-worker.workers.dev/mcp — Cloudflare Workers 上の Streamable HTTP。claude.ai コネクターとして追加できます
  • MCP レジストリ: io.github.trondbjoroy/met-mcp

ツール

  • geocode_location(name, count) — 地名の座標を検索します。MET にはジオコーディング API がないため、無料の Open-Meteo ジオコーダーを使用します。
  • get_forecast(latitude, longitude, hours) — MET Locationforecast 2.0 による時間ごとの予報です。世界中で利用できますが、北欧で最も精度が高くなります。
  • get_nowcast(latitude, longitude) — 今後2時間のレーダーに基づく降水情報です。北欧のみで利用できます。
  • get_weather_alerts(latitude?, longitude?) — ノルウェーの公式気象警報(MetAlerts)です。ノルウェー全域の情報を取得するには、座標を省略してください。
  • get_sun_events(latitude, longitude, date, utc_offset) — 日の出、日の入り、南中時刻です。世界中で利用できます。
  • get_ocean_forecast(latitude, longitude, hours) — ノルウェー沿岸の波高と海水温です。
  • find_weather_stations(latitude, longitude, count) — 最寄りの公式気象観測所(Frost)を検索します。
  • get_historical_weather(station_id, from, to, elements) — Frost アーカイブから日別の過去の観測データを取得します。観測所によっては100年以上前までさかのぼれます。

2つの Frost ツールを使うには、無料のクライアント ID を https://frost.met.no/auth/requestCredentials.html から取得し、FROST_CLIENT_ID 環境変数(または Worker の Cloudflare シークレット)に設定する必要があります。それ以外のツールに必要な設定はありません。

ツールの定義は src/tools.ts にあり、stdio サーバーと Worker で共有されています。

ビルドとテスト

npm install
npm run build
npm test

テストでは、stdio 経由でサーバーを起動し、実際の API に対して両方のツールを呼び出します。

Claude Code での使用

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

次に Claude に「明日のベルゲンの天気は?」と尋ねます。

MET の利用規約

  • 連絡先情報を含む識別可能な User-Agent を送信してください。MET_USER_AGENT 環境変数に、たとえば met-mcp/0.1.0 [email protected] を設定します。
  • 座標の小数点以下は最大4桁にしてください。サーバーが丸め処理を行います。
  • データライセンス:NLOD / CC BY 4.0。データを表示する際は MET Norway をクレジット表記してください。

リモート版

worker/ には Cloudflare Workers へのデプロイ設定があります。createMcpHandler(MCP SDK v2)を使い、同じ2つのツールを MCP Streamable HTTP 経由で提供します。worker/ から npm run dev で開発し、npm run deploy でデプロイできます。

仕組み

  • src/index.ts がサーバー全体です。stdio 経由で MCP を処理し、stdin/stdout 上で JSON-RPC をやり取りします。
  • 各ツールでは Zod による入力スキーマを定義します。MCP クライアント(Claude)がスキーマを読み取り、引数を検証します。
  • ツールの結果は content ブロックです。このサーバーは JSON をテキストとして返し、LLM に必要な内容だけに絞り込みます。MET の生のレスポンスには約90個のタイムステップがあり、さらに多くのフィールドが含まれています。
  • console.log で stdout に書き込まないでください。プロトコルのストリームが破損します。ログは stderr に出力してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。