Jma について
Jmaは、気象庁の公開データを利用するMCPサーバーです。地名から予報区を特定し、天気予報や警報・注意報、最近の地震情報を取得できます。
主な機能
- 01地名から予報区を特定
- 023日間・7日間の予報を取得
- 03地域の警報・注意報を確認
- 04最近の地震と震度を取得
活用シーン
- 01日本の都市の短期・週間予報を調べる
- 02地域で発表中の警報を確認する
- 03最近の地震のマグニチュードと最大震度を調べる
MCP 対応
気象庁の公開bosai JSONフィードを使い、天気予報、警報、地震情報のツールをMCPクライアントに提供します。ゲートウェイ経由のほか、ローカルのstdio MCPサーバーとしても実行できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/jma/mcpclaude mcp add --transport http pipeworx-io-jma https://gateway.pipeworx.io/jma/mcp{"mcpServers":{"pipeworx-io-jma":{"type":"http","url":"https://gateway.pipeworx.io/jma/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-jma":{"type":"http","url":"https://gateway.pipeworx.io/jma/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-jma":{"type":"http","url":"https://gateway.pipeworx.io/jma/mcp"}}}{"mcpServers":{"pipeworx-io-jma":{"serverUrl":"https://gateway.pipeworx.io/jma/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/jma
気象庁(JMA)の天気予報、警報・注意報、地震情報を、キー不要で気象庁の公開 bosai JSON フィードから直接取得します。
Pipeworx の一部です。AI エージェントを1882以上のライブデータソースに接続する MCP ゲートウェイです。独立した非公式の統合であり、上流プロバイダーとは提携しておらず、承認や公開も受けていません。
ツール
jma_resolve_area(query)— 地名(英語のローマ字表記または日本語。例:「Tokyo」、「Sapporo」、「大阪」)または気象庁の地域コードを、jma_forecast/jma_warningsで使用する予報担当官署コードに変換します。jma_forecast(area)— 地域ごとの3日間の短期予報(天気、降水確率、気温)と7日間の週間予報(天気、降水確率、予報の信頼度、信頼度の範囲を含む最高・最低気温)を取得します。地名を直接指定できます。jma_resolve_areaと同じ方法で内部的に変換されます。jma_warnings(area)— 地域の現在の警報・注意報について、概要と、すべての気象庁の警報カテゴリー(大雨、暴風、洪水、波浪、高潮、濃霧、雷、なだれ、霜、およびそれらの「特別警報」や緊急レベル)ごとの地域別の状況(発表中/継続中/解除/発表なし)を、都道府県と市区町村の両方のレベルで取得します。jma_earthquakes(limit?, min_magnitude?, min_intensity?)— マグニチュード、最大震度(気象庁の10段階の震度階級)、震央、発表時刻・発生時刻を含む、最近の地震情報を取得します。
認証
キーは不要です。登録も API キーも必要ありません。
データソース
https://www.jma.go.jp/bosai/common/const/area.json— 地域のマスターリストです。58の予報担当官署に加え、気象庁が名称を定めているすべての都道府県・地域・市・区・町が、日本語と英語の両方で収録されています。jma_resolve_areaはこのリストを検索します。https://www.jma.go.jp/bosai/forecast/data/forecast/<office>.json— 1つの官署の3日間予報と週間予報です。https://www.jma.go.jp/bosai/warning/data/warning/<office>.json— 1つの官署の現在の警報・注意報です。https://www.jma.go.jp/bosai/quake/data/list.json— 最近の地震速報をまとめた更新型フィードです(通常は直近数週間分)。新しい情報が先頭に並びます。
次の担当者向けの注意点
- 予報と警報は、市区町村ごとではなく、予報を担当する「予報区」ごとに発表されます。 予報区は58あり、北海道と沖縄の細分を除けば、おおむね都道府県ごとに1つです(例:東京=
130000)。利用者が指定するのは予報区コードではなく、「東京」や「札幌」です。areaを受け取るすべてのツールは、area.jsonの完全な階層(予報区 → 地域 → 市区町村)をたどり、該当する予報区まで遡って解決します。 - 地名の順位付けは、まず名前の一致度、次に地域の広さで決めます。この順序は重要です。 順序を逆にすると、どちらも気づきにくい誤答が発生しました。地域レベルを先にすると、予報区のほうが市より常に優先されるため、三重県の市「伊賀」が新潟の予報を返しました。同様に、加賀→香川、隠岐→沖縄、安芸→長崎となりました。一致度をまったく考慮しない場合は、「横浜」が青森を返しました。気象庁は政令指定都市を区分しており(「横浜市北部」「横浜市南部」のようになっていて、「横浜市」という葉ノードはありません)、文字どおり「横浜」と一致する唯一の葉ノードは700km離れた小さな町だからです。この動作を保証する回帰テストでは、地域マスターにある英語名2,217件すべてが自身に解決されることを確認します。順位付けに手を加える前に実行してください(fleet #1939)。
- 異なる都道府県に同名の場所がある場合は、地域コード(JIS都道府県順)で決定し、
alternativesに開示します。 伊達市は北海道と福島県に、川崎町は宮城県と福岡県に存在します。クエリだけでは区別できないため、alternativesには、各場所が解決される予報区とともに、ほかの候補が含まれます。したがって、alternatives: []は本当に同名の場所が存在しないことを意味します。以前は、ちょうど誤動作が起きたケースで逆の意味になっていました。 area.jsonの4つの階層では、コードが重複することがあります。 一部の小規模な予報区は単独の小地域になっているため、officesとclass10sの両方に同じ数値コードが現れます(例:011000宗谷)。このパックの親階層への遡り処理は、常に一致した階層からたどります(4つの辞書をまたいでコードが一意だと見なすことはありません)。これにより、この特殊なケースも、誤った予報区に気づかないまま解決されることなく、正しく処理できます。weatherCodesは、気象庁が定めた閉じた数値セットです(3桁で、現在約110個が使用されています)。このパックには、その固定セットに基づいて作成した完全な静的翻訳テーブル(weather_en)が含まれており、機械翻訳は使用していません。自由記述のweathers[]の説明文(「後」「時々」「一時」などの時間表現を含む)は、意図的に日本語のままにしています。静的テーブルでは安全に網羅できない構成になっており、その場しのぎの不正確な翻訳を出すより、翻訳しないほうがよいためです。- 警報コード(各地域の
warnings[]内にあるcodeフィールド)は、気象コードとは別の閉じた数値セットです(02~49。警報/注意報/特別警報/緊急警報)。東京の実際のレスポンスと照合したところ、areaTypesペイロード内のコード14/15/16/20は、そのレスポンス自身のheadlineTextにある「強風」「高波」「落雷」「濃霧」と正確に対応していました。この照合結果を基にテーブルを作成しています。 - 地震の震度(
maxi/int[].maxi)は、気象庁独自の10段階震度階級です:1、2、3、4、5-、5+、6-、6+、7。5-/5+は「5弱」/「5強」を意味し、「5より少し弱い/強い」という意味ではありません。空文字列は、震度情報を含まないことを示します(例:揺れの報告がない「震源情報」レコード)。 area.jsonは約260KBで、基本的に静的です(気象庁の予報区の境界は恒常的な行政区分です)。このパックでは、呼び出しごとに再取得するのではなく、モジュールスコープで24時間キャッシュします。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurfなど)に追加します:
{
"mcpServers": {
"jma": {
"url": "https://gateway.pipeworx.io/jma/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/jma/mcp の tools/list は、上の表にあるツールに加えて、共有 Pipeworx メタツール(ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で共通のツール群)も返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントでは、パック固有のツールとともに、共有ツールがおよそ 30 個一覧表示されます。接続の initialize 応答には正確な対象範囲が示されており、その日の状況を確認する際の正式な情報源となります。
これは意図的な仕様であり、偶然に多重化されているわけではありません。メタツールを使えば、このパックでは対応していない質問にも、カタログ全体を対象に振り分ける ask_pipeworx を通じて回答できます。別の MCP サーバーを追加する必要はありません。現在、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマによってコンテキストコストが増え、振り分け機能のメリットを上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。
または、フル Pipeworx ゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールを直接一覧表示できます。
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も同じゲートウェイと同じ 1882 以上のデータソースに接続します。異なるのは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworx を使ってすべてのツールにアクセスできます。
MCP クライアントをお持ちでない場合:HTTP で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/jma_resolve_area \
-H 'Content-Type: application/json' \
-d '{"query":"Tokyo"}'
最初の呼び出しにアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/jma_resolve_area を使用します。ツールを検索するには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を使用します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージはローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も不要です。
{
"mcpServers": {
"jma": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-jma"]
}
}
}
または、直接実行して起動を確認できます。
npx -y @pipeworx/mcp-jma
stdin/stdout 経由で MCP を使用し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールはありません。同じソース、同じツールで、ask_pipeworx による振り分けはありません。
ask_pipeworx を使う
ツールを直接呼び出す代わりに、平易な英語で質問できます。これは上記のパックエンドポイントでも、フルゲートウェイでも利用できます。
ask_pipeworx({ question: "your question about Jma data" })
ゲートウェイが適切なツールを選び、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。