jaxa-earth-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jaxa-earth-mcp What's the daily rainfall in Uonuma for the last 30 days?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jaxa-earth-mcp
JAXA Earth API を Claude Code / Claude Desktop から対話的に扱うための軽量 MCP ラッパー。
個人開発者が作成した再利用可能な MCP(Model Context Protocol)ツールです。
JAXA が公開している衛星観測データ配信サービス JAXA Earth API
の Python パッケージ(jaxa-earth)を薄くラップし、地点の時系列取得・データセット情報照会・
領域画像生成を AI エージェントから呼び出せるようにします。
追加の API キー・ユーザー登録・課金は不要(JAXA Earth API は登録不要・無償)
依存は最小限(
jaxa-earth/mcp/numpy/requests)サーバーは標準入出力(stdio)で動作
本リポジトリは JAXA 公式のものではありません。データの権利は JAXA に帰属します (利用上の注意 参照)。
提供ツール
ツール | 概要 |
| データセットを検索。 |
| 分解能・提供期間・単位・出典(citation/DOI)・ライセンス・クレジット表記例・利用上の注意を返す。 |
| 地点の時系列(日付・値の配列+統計)。 |
| 指定領域・日付の PNG を |
実装上の主な挙動(実測で確認済み)
bbox 自動拡張:
get_point_timeseriesは点まわりの矩形を データセットの分解能 (STAC のje:ppu_max)から動的に算出します。粗い ~5km 級(GSMaP/SMC など)は ±0.3° 程度に広げて地域平均を取り、高分解能(DSM 30m)は点に近い矩形を使います。 固定値ではありません。長期間の自動分割: JAXA Earth API は 1 リクエスト最大 100 日の制約があります。 期間がこれを超える場合、内部で 90 日ごとに分割取得し、結合して 1 本の時系列で返します。
静的データの単発取得: 標高(ALOS DSM)のような時間変化しないデータは、
start_date/end_dateを無視して単発取得します。欠測は補間しない: 雲などで観測が欠けた場合、その値は
null(NaN)のまま返します (前後の値でつなぎません)。取得失敗はそのまま返す: 想定外のエラーは握りつぶさず、内容を返します。
Related MCP server: Weather MCP Server
対応データセット(主要 5 種)
略称 | 内容 | 単位 | 分解能(概算) | 備考 |
GSMaP | 降水(日次) | mm/hr | 約11km (0.1°) | 値は日平均降水強度。日積算量[mm]=値×24(JAXA GSMaP FAQ Q4)。時系列取得時に |
GCOM-C LST | 地表面温度(日中・日次) | Kelvin | 約2.8km (1/40°) | 地表面温度であり気温ではない。雲欠測あり。 |
GCOM-C NDVI | 植生指数(日中・半月) | 無次元 | 約2.8km (1/40°) | 分解能が粗く圃場単位でなく地域傾向。雲欠測あり。 |
ALOS AW3D30 | 数値表層モデル(標高) | m | 約30m | 静的データ(2024年4月版 / v4.1)。 |
GCOM-W SMC | 土壌水分量(日中・日次) | %(体積含水率) | 約11km (0.1°) | マイクロ波観測で雲を透過。 |
単位は jaxa-earth が COG メタデータから読む値(cinfo.unit)を実測で確認しています。
keyword 検索で上記以外のデータセット(GCOM-C は 39 種など、全体で 100 以上)も利用できます。
分解能の注記: GCOM-C LST/NDVI の API 配信グリッドは COG の GeoTIFF タグ (
ModelPixelScale=0.025°、90°タイル=3600px)を実測して 1/40°(約2.8km) と確認しました。 一部のデータセットで STAC のcitationに「1/24 deg」等の実グリッドと異なる表記や、descriptionの取り違え(NDVI に「Land surface temperature」と記載)が見られます。 本ツールは分解能をppu_max/COG 実測値から算出しており、get_dataset_infoのresolution.noteにこの不一致を明記します。
セットアップ
前提: Python 3.10 以上、macOS / Linux / Windows。
git clone <this-repo> jaxa-earth-mcp
cd jaxa-earth-mcp
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .インストール確認:
python -c "import jaxa_earth_mcp, mcp, jaxa.earth; print('OK')"MCP サーバーの登録
Claude Code(CLI)
claude mcp add jaxa-earth \
--env JAXA_MCP_OUTPUTS="$(pwd)/outputs" \
-- "$(pwd)/.venv/bin/jaxa-earth-mcp"
# 確認(Status: ✔ Connected になれば成功)
claude mcp get jaxa-earth登録後、Claude Code のプロンプトから自然文で呼び出せます。例:
「2026年4月から今日までの魚沼の日次降水量の推移と合計を出して」
「魚沼の8月のNDVIとその分解能・注意事項を教えて」
Claude Desktop
設定ファイル(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json、
Windows: %APPDATA%\Claude\claude_desktop_config.json)に以下を追加します。
パスは環境に合わせて絶対パスで記述してください。
{
"mcpServers": {
"jaxa-earth": {
"command": "/absolute/path/to/jaxa-earth-mcp/.venv/bin/jaxa-earth-mcp",
"env": {
"JAXA_MCP_OUTPUTS": "/absolute/path/to/jaxa-earth-mcp/outputs"
}
}
}
}Windows の command は ...\\.venv\\Scripts\\jaxa-earth-mcp.exe を指定します。
設定後、Claude Desktop を再起動してください。
python -m jaxa_earth_mcp.serverでも起動できます。その場合はcommandに venv のpythonを、argsに["-m", "jaxa_earth_mcp.server"]を指定します。
使い方(ツール詳細)
get_point_timeseries
dataset_id : データセットID(list_datasets で確認)
lat, lon : 省略時は魚沼(37.2250, 138.9689)
start_date : "YYYY-MM-DD"(時系列データで必須)
end_date : "YYYY-MM-DD"(時系列データで必須)返り値には series({date, value} の配列、欠測は value: null)、stats
(count / missing / mean / min / max)、aggregation(使用した bbox と分解能)、
unit、credit が含まれます。
降水強度[mm/hr]の単純合計は物理的に無意味なため stats に sum は持ちません。
GSMaP(mm/hr)の場合のみ derived に日積算量[mm/day]への換算
(series_mm と total_mm_estimated、換算根拠付き)を返します。
get_area_image
dataset_id : データセットID
bbox : [min_lon, min_lat, max_lon, max_lat]
date : "YYYY-MM-DD"(最も近い観測日を自動選択。静的データでは無視)outputs/ に PNG を保存し、image_path を返します。
クレジット・ライセンス
コード: MIT License。
データ: JAXA Earth 研究データ利用規約に従います。商用利用は同規約適用データで可能です。 各データセットの詳細ライセンスは STAC の
license/providersに定義されています。クレジット表記例(
get_dataset_infoが各データセットの表記例を返します):データ:
Credit: <データセット名> (JAXA)(例:Credit: GSMaP (JAXA))API 利用:
Image: Created using the JAXA Earth API
出典・規約の一次情報: JAXA Earth API / 利用規約
免責
本リポジトリは個人開発による非公式ツールです。JAXA が提供・保証するものではありません。 データの内容・可用性については JAXA Earth API の提供状況に依存します。
Available Tools
4 toolsget_area_imageA
指定領域・日付の PNG を outputs/ に保存し、保存パス等を返す。
bbox=[min_lon, min_lat, max_lon, max_lat]、date=YYYY-MM-DD。 静的データは date を無視して当該データを描画する。
Inputs: bbox (required), date (required), dataset_id (required).
get_dataset_infoB
データセットの詳細情報を返す。
分解能(ppu_max / ピクセル度・メートル概算)、提供期間、静的判定、単位、 出典(citation/DOI)、ライセンス、クレジット表記例("Credit: <名> (JAXA)")、 利用上の注意(気温ではない/雲欠測/分解能の粒度など)を含む。
Inputs: dataset_id (required).
get_point_timeseriesA
地点の時系列(日付・値の配列+基本統計)を返す。
lat/lon 省略時は魚沼(37.2250, 138.9689)。日付は YYYY-MM-DD。
bbox はデータセットの分解能に応じて自動拡張し領域平均を返す。
期間が 100 日を超える場合は内部で自動分割し結合する。
静的データ(DSM 等)は日付を無視して単発取得する。
雲欠測は value=null(NaN)のまま返し、補間しない。
Inputs: dataset_id (required), lat, lon, end_date, +1 more.
list_datasetsA
JAXA Earth API のデータセットを検索する。
keyword を省略すると主要データセット(降水/地表面温度/植生/地形/土壌水分)を返す。 keyword を与えると STAC カタログ全体を ID 部分一致で検索する (例: "GSMaP", "GCOM-C LST", "AW3D30")。
Inputs: keyword.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: image download, metadata retrieval, point timeseries, and dataset search. No overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case (get_area_image, get_dataset_info, get_point_timeseries, list_datasets).
Four tools is well-scoped for a geospatial data server, covering essential operations without unnecessary clutter.
Covers search, metadata, point and area data retrieval. Minor omission: no direct tool for listing available dates or data coverage, but dataset info includes period.
Related MCP Connectors
tri-train is a training platform for triathletes that syncs activities from Strava and Garmin and exposes them to Claude through a remote MCP server. Ask Claude how your last block went, why your run pace dropped, or whether you are fresh enough for Sunday's race, and it answers from your real data: activities with laps and grade-adjusted pace, weekly load and the performance management chart (CTL/ATL/TSB), sleep, HRV and resting heart rate, and your race calendar with predictions. Claude can also act: create and adjust planned workouts with structured intervals, push them to your Garmin watch, add races and write notes. Every change is journaled and can be undone. Read and write access are separate OAuth scopes, and the server enforces them on every call. Built and hosted in Switzerland by a triathlete; data stays on our own servers (Swiss revDSG / GDPR).
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables natural language access to Japanese patent information through the JPO API, allowing users to query patent data directly from Claude Desktop or Claude Code.MIT
- AlicenseNot gradedqualityDmaintenanceProvides real-time weather data to Claude using the Open-Meteo API, with no API key required. Enables natural language queries like 'What's the weather in Tokyo?'.11 npmMIT
- AlicenseAqualityBmaintenanceEnables AI agents to query Earth observation data, satellite imagery, active fires, and weather via natural language, returning interactive maps and briefs.12MIT
- AlicenseAqualityBmaintenanceEnables AI agents to autonomously discover, stream, and compute satellite analytics from free government Earth observation archives. Provides tools for STAC search, spectral indices, elevation profiles, SAR water detection, and sandboxed geospatial scripting.29Apache 2.0