使用说明
JMA Data MCP
気象庁のAMeDAS観測・過去データと天気予報を検索するMCPサーバーです。全国1,286観測所のスナップショットを同梱し、地点名・座標から観測所を検索できます。
実行
Python 3.10+ と uv が必要です。
uvx --from git+https://github.com/koizumikento/jma-data-mcp.git@master jma-data-mcp
MCPクライアント設定例:
{
"mcpServers": {
"jma-data": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/koizumikento/jma-data-mcp.git@master",
"jma-data-mcp"
]
}
}
}
引数なし、または serve でMCPサーバーを起動します。station、weather、forecast、history サブコマンドからCLIとしても利用できます。
MCP tools
- 観測所:
get_station_info、search_stations、search_nearby_stations、get_stations_of_type、list_stations - 観測・予報:
get_current_weather、get_weather_by_location、get_forecast、list_prefectures - 過去・時系列:
get_historical_weather、get_weather_time_series
過去データは気象庁側で提供される直近約1〜2週間、時系列は最大168時間を対象とします。
Sitesでの実行
sites/ に認証付き POST /mcp Worker ESM adapterとbuild設定があります。
全11 toolsは既存Python backendで実行します。Sitesとは別にHTTPS接続可能なPython hostが必要です。
stdio・CLI・Python libraryはそのまま利用できます。設定、secret名、再現手順、検証範囲は上記手順を参照してください。
データ出典・利用条件
出典: 気象庁ホームページ
同梱する観測所表は気象庁公開データを本ソフトウェア用に加工しています。取得データを利用・再配布する際は、気象庁の利用規約と気象業務法上の制約を確認してください。本ソフトウェアは独自の予報を生成しません。
開発
uv sync --frozen
uv run ruff check .
uv run mypy jma_data_mcp
uv run pytest -m "not integration"
uv run python scripts/check_amedas_snapshot.py
uv build
npm --prefix sites test
npm --prefix sites run build
npm --prefix sites run validate
Sites契約検証にはNode 22+も必要です。テストではJMA取得をfixtureで置き換え、使用したloopbackサーバーを停止します。
観測所スナップショットの差分チェックは週次でも実行されます。
License
Windows EXE: release security checks and outstanding distribution work.