SHEARLINE について
SHEARLINEは、米国の激しい気象を分析するMCPサーバーです。基本的な予報を超える情報を必要とするエージェントやアプリ向けに、警報、観測、環境データを統合した監査可能な脅威ブリーフを提供します。公式警報の代替ではなく、情報提供のみを目的とします。
主な機能
- 01影響タグ付きの有効な警報
- 02SPC見通しとRAP環境データ
- 03MRMSの雹・回転プロダクト
- 04雷と暴風レポート
- 05過去のレポートとレーダーデータ
- 06ルールベースの総合脅威ブリーフ
活用シーン
- 01地点周辺の気象リスク評価
- 02嵐の前の環境変化の追跡
- 03保険請求向けの過去の雹・風レポート確認
- 04屋外イベント周辺の雷の監視
MCP 対応
警報、見通し、レーダー、雷、レポート、脅威ブリーフを照会するツールをMCPクライアントに提供します。stdioとStreamable HTTPのトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
SHEARLINE
エージェントに欠けていた、荒天の専門分析ツールです。 SHEARLINE は、AI エージェントにアナリスト級の米国荒天ツールを提供する、無料の MIT ライセンス MCP サーバーです。影響ベース警報タグ付きの最新警報ポリゴン、SPC 対流性見通し、RAP 由来の地点別環境 および予報傾向(CAPE/シアー/SRH/STP を MetPy で算出)、MRMS レーダー由来の雹および回転プロダクト、GOES 雷情報、地上観測に基づく嵐の報告(リアルタイム および過去のデータ)、さらにこれらすべてを統合する複合脅威ブリーフを提供します。基本的な予報 API をラップする気象 MCP はすでに多数あります。SHEARLINE はそうしたものが提供する機能を意図的に省き、レーダー気象学の知見を正しく公開するために必要な機能だけを提供します。
情報提供のみを目的としています。NWS の公式警報に代わるものではありません。 重要な注意事項のため、すべてのツールで繰り返し伝えています。気象が脅威となる場合は、weather.gov および地域当局からの公式警報に従ってください。
ツール
| ツール | 返される内容 |
|---|---|
get_active_warnings(lat, lon, radius_km=40) | IBW タグ(最大ひょうサイズ、最大突風、竜巻の検出/被害の脅威)、解析されたストームの移動、期限、および指定した地点がポリゴン内にあるかどうかを含む、発令中の竜巻/激しい雷雨/鉄砲水警報のポリゴン。監視情報は別途一覧表示されます。 |
get_spc_outlook(lat, lon, day=1) | 指定地点の SPC カテゴリー別リスク(TSTM→HIGH)に加え、1~3 日先の竜巻/ひょう/風の確率と顕著な激しさのフラグを、カテゴリーに合わせた解釈とともに返します。 |
get_point_environment(lat, lon) | MetPy で算出した最新の RAP 13-km 解析プロファイル:MLCAPE/MUCAPE/CIN、LCL、0–1/0–6 km のシアー、0–1/0–3 km の SRH、Bunkers の移動、実効流入層、実効 SRH/シアー、SCP、顕著な竜巻パラメーター。パルス型、寒候期の高シアー型、典型的なスーパーセルのパラメーター空間などを、解析者のように解釈します。 |
get_environment_trend(lat, lon) | 先を見越した見通し:一貫した単一サイクルによる短時間の RAP 予報系列(f00/f01/f03/f06)から、MLCAPE、0–6 km のシアー、0–1 km の SRH、SCP、STP を示し、推移(強まっている/安定している/横ばい)を解釈します。「今どうなのか」ではなく「悪化しているか」を把握するためのものです。 |
get_mrms_severe(lat, lon, radius_km=40) | 指定半径内の MRMS 最大値:60 分間の MESH(ひょう、インチと mm)、低層・中層の回転トラック(方位角シアー)、VIL、合成反射強度。それぞれの有効時刻と、最大値の距離/方位を返します。 |
get_storm_reports(lat, lon, radius_km=80, hours=6) | 標準化された局地的な暴風報告:種類、単位付きの規模、時刻、位置、距離/方位、備考。 |
get_lightning(lat, lon, radius_km=40, minutes=15) | 直近の時間枠における GOES-East GLM の総雷活動:落雷数と頻度、最寄りの落雷(距離/方位/時刻)、段階別の屋外安全性解釈(真上/落雷の射程内/周辺)。 |
get_historical_storm_reports(lat, lon, date, radius_km=80) | 過去の特定の日付(YYYY-MM-DD、UTC)に指定地点を襲ったひょう/風/竜巻の情報。保険/農業/事後調査の用途に向け、規模と単位、距離/方位を含む標準化された報告を返します。データの対象期間は約 2005 年以降です。速報版 LSR であり、NCEI の最終記録ではありません。 |
get_threat_brief(lat, lon) | 中核となるツールです。上記すべてを並行して実行し、明示したロジックに基づく脅威レベル(なし/限界的/やや高い/重大/極端)を統合して、危険要因の優先順位、環境の概要、最寄りのストームの特徴、推奨される注視時間帯を提示します。 |
get_radar_snapshot(lat, lon) | 最寄りの WSR-88D における最新の Level 2 ボリュームのメタデータ:VCP(スキャン方式)、範囲/方位付きの最大反射強度、概算のエコートップ高度。 |
すべてのツールは、data(数値フィールドと明記された単位)、interpretation(平易な言葉による解析者の解説)、degraded(上流ソースに失敗があった場合はその一覧。エラーの代わりに部分データを返します)、安全性に関するdisclaimer、およびschema_versionを含む構造化 JSON を返します。フィールドの仕様はセマンティックバージョニングに基づき安定しているため(ARCHITECTUREを参照)、インテグレーターはこれを前提にできます。
例:実際の大規模発生時の脅威概要
2026-06-10、ミズーリ州北部の発令中の竜巻警報区域内にある地点での実際の出力:
{
"threat_level": "extreme",
"threat_logic": [
"Tornado Warning in effect at the point, corroborated by confirmed tornado reports nearby — treat as an immediate life-safety situation.",
"Severe Thunderstorm Warning at the point tagged 'Considerable' (hail to 1.75\", gusts to 60 mph).",
"Significant-tornado parameter of 4.0 with storms ongoing — environment strongly supports tornadic supercells.",
"MRMS MESH of 2.3\" hail within radius in the last hour.",
"Intense rotation track (azimuthal shear 0.013 /s) nearby in the last hour.",
"6 tornado report(s) near the point in the report window."
],
"hazards_ranked": [
{"hazard": "tornado", "level": "extreme"},
{"hazard": "hail", "level": "extreme"},
{"hazard": "damaging_wind", "level": "extreme"},
{"hazard": "flash_flood", "level": "moderate"}
],
"nearest_storm_signature": {
"signature": "composite reflectivity", "value": "58.5 dBZ",
"distance_km": 18.0, "direction": "ENE", "valid_utc": "2026-06-10T22:14Z"
},
"attention_window": {"window": "now", "until_utc": "2026-06-10T21:00:00-05:00"}
}
同じツールを、沿岸部の静穏なメイン州の地点で使うと、エラーではなく、静穏であることが確信を持って示されます。環境の数値も表示されるため、エージェントは静穏な理由を確認できます("threat_level": "none")。
インストール
Python 3.12 以降と uv が必要です。API キーは不要です。すべてのデータソースは公開されており、匿名で利用できます。uvx は公開済みパッケージをダウンロードして実行するため、恒久的にインストールされるものはありません。
Claude Code:
claude mcp add shearline -- uvx shearline
Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"shearline": {
"command": "uvx",
"args": ["shearline"]
}
}
}
Streamable HTTP(リモート/エージェントプラットフォームでの利用向け):
uvx shearline --http --port 8741
# serves at http://127.0.0.1:8741/mcp
macOS では、scripts/launch.command をダブルクリックして、Terminal ウィンドウで HTTP サーバーを起動することもできます(SHEARLINE_PORT が反映されます)。
HTTP トランスポートはホスト環境での運用を想定して構築されています。ツール呼び出しごとに構造化された JSON のログ行を 1 行出力し(ツール、概算の 1° 緯度/経度区分、レイテンシ、degraded リスト、キャッシュのヒット/ミス)、クライアントごとにトークンバケット方式のレート制限を適用します。制限を超えると、Retry-After を付けて 429 を返します。いずれも HTTP 専用の機能で、stdio の動作に変更はありません。環境変数で設定できます。
| 環境変数 | デフォルト | 効果 |
|---|---|---|
SHEARLINE_RATE_RPM | 60 | クライアントごとの持続リクエスト数/分(0 で制限を無効化) |
SHEARLINE_RATE_BURST | 30 | トークンバケットの容量(最大バースト数) |
SHEARLINE_HTTP_LOG | 1 | 0 に設定すると、リクエストごとのログ出力を無効化 |
SHEARLINE_LOG_LEVEL | INFO | shearline.http ロガーのログレベル |
SHEARLINE_UPSTREAM_CONCURRENCY | 8 | 上流からの同時取得数の上限(NOAA への配慮) |
PyPI リリースではなく、未リリースの最新の main を実行するには、shearline を --from git+https://github.com/lostnumber07/shearline shearline に置き換えます。
これらのツールを使う理由
予報 API からは、雨が降る可能性があることは分かります。しかし、悪天候の日に重要となる「この嵐は回転しているか」「ひょうの大きさはどれくらいか」「竜巻が発生しやすい環境になっているか」「自分は警戒区域内にいるか」といった問いには、予報エンドポイントでは答えられません。警報の IBW タグ、レーダー由来のプロダクト、そして実際のサウンディングが必要です。
- 警報文だけでなく、IBW タグ付きの警報。 基本レベルの激しい雷雨警報と、最大風速 80 mph の突風を伴う
DESTRUCTIVEタグ付きの警報では、計画すべき内容が異なります。SHEARLINE は機械可読なタグ(最大ひょうサイズ、最大突風、竜巻検出/被害の脅威)と嵐の移動ベクトルを解析し、ポイントが警戒区域内にあるかも判定します。 - 環境を、正確に計算。 シアーのない CAPE はパルス型嵐の日、CAPE のないシアーは風による雨を意味します。SHEARLINE は現在の RAP 解析プロファイルを取得し、有効流入層、有効 SRH/シアー、SCP、STP など、状況を見分ける指標を MetPy で計算します。高 CAPE/低シアー、低 CAPE/高シアー、典型的なスーパーセルの各パラメーター空間では危険の種類が大きく異なるため、どの状況に該当するかも解釈で示します。
- MRMS。警報は嵐の発生に遅れるためです。 MESH は嵐がすでに降らせたひょうの大きさを示します。回転トラックは、過去 1 時間にメソサイクロンが通過した場所を示します。いずれも全国レーダーモザイクから約 2 分間隔で提供され、次の警報更新より早く確認できることもよくあります。
- LSR。レーダーが地上の実態そのものではないためです。 観測者の報告により、実際に地上へ到達した現象をリアルタイムで確認できます。過去の日付も指定できるため、保険や調査で「その日にこの住所で何が起きたか」を確認する場合にも使えます。
- 雷。屋外の安全確保で最も一般的な発動要因だからです。 GOES GLM の総雷活動を距離別に示し、30-30/10 マイルのルールに対応します。試合、作業現場、ドローン飛行を実際に中止させる判断につながる信号です。
- 現在と、その先の両方。 ポイント環境は現在の解析値です。予報の推移(1 回のモデルサイクルにおける f00→f06)からは、午後に向けて STP/CAPE が上昇しているかが分かります。「今どうなっているか」と「悪化しているか」の違いが分かります。
- すべてを横断して推論する 1 つのブリーフ。 脅威レベルはルールに基づいており、該当したルールも併記されます。エージェントは感覚的な判断を鵜呑みにせず、ロジックを検証できます。
データソース(すべて公開、キー不要)
- 警報:api.weather.gov(NWS)
- 見通し:Storm Prediction Center の公開 GeoJSON
- 地点環境:NOMADS RAP grib filter を使用し、MetPy で導出
- MRMS:NOAA MRMS on AWS Open Data
- ストーム報告(リアルタイムおよび過去):Iowa Environmental Mesonet LSR サービス
- NEXRAD Level 2:Unidata on AWS Open Data
- 雷:GOES GLM on AWS Open Data(GOES-East GLM-L2-LCFA)
対象範囲は米国本土のみです。範囲外の座標は、明確なエラーを返して拒否されます。上流データの取得結果はキャッシュされ(警報は60秒、MRMS/雷は120秒、LSRは300秒、見通し/RAPは30分、過去の報告は6時間)、障害時も適切に縮退します。いずれかのソースが停止している場合は、degraded フィールドを含む部分データが返され、例外だけが返ることはありません。毎日のカナリアワークフローで、すべての上流データのレスポンス形式を確認し、スキーマの変更(フィールド名の変更、バケットの移動)がユーザーに届く前に失敗を検出します。
気象学の専門家ではない方向けのレシピ
SHEARLINE を使うのに、STP が何かを知っている必要はありません。.claude/skills/ ディレクトリには、特定のタスクに必要なツールの正確な実行順序を示す、最初から最後まで使える3つのレシピが含まれています。SHEARLINE に接続された任意のエージェントに追加して使えます。
- hail-claim-verification — この住所でこの日に被害をもたらす雹が降りましたか?(保険/鑑定)
- chase-day-briefing — 見通し → 環境 → 傾向 → 警報 → レーダーを確認し、対象時間帯を定めた実施/中止の判断を下します(ストームチェイス/緊急管理)
- event-day-lightning-watch — 雷の接近状況を定期確認し、30-30/10マイルのルールに基づいて中断/避難/再開を判断します(会場/屋外運営)
アーキテクチャ
SHEARLINE は、薄いレイヤー構造の非同期サーバーです。ソースごとの取得/解析モジュールから気象学的な導出レイヤーへ、さらに統一されたツールレイヤーへとデータが渡されます。すべてのツールは同じ {data, interpretation, degraded, disclaimer} エンベロープを返し、すべての上流呼び出しは TTL キャッシュされます。また、いずれかのソースに障害が発生した場合は、例外ではなく部分データに縮退します。モジュールの構成、get_threat_brief のリクエストライフサイクル、並行処理モデル、各ソースモジュールに組み込まれた上流データ特有の処理については、ARCHITECTURE.md を参照してください。
開発
git clone https://github.com/lostnumber07/shearline && cd shearline
uv sync
uv run pytest # offline test suite against recorded fixtures
uv run ruff check .
uv run shearline # stdio
uv run python scripts/smoke.py # live smoke test, both transports
uv run python scripts/canary.py # live upstream drift check (shape-only)
ツールまたはデータソースの追加方法については、ARCHITECTURE.md を参照してください。
ライセンス
MIT © Backshear LLC. 気象データは NOAA/NWS およびその他の公開サービスが作成したものです。このプロジェクトは NOAA と提携しておらず、NOAA の承認も受けていません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。