「誰もが衛星データ利用を手軽にできる時代に」JAXA Earth APIにおける生成AI連携の解説_PR
衛星データを専門知識なしで扱えるJAXA Earth APIと、生成AI連携を実現するMCP・Agent Skillsの仕組み、対話だけで衛星データを解析できるチュートリアルを紹介します。
1. 衛星データの必要性と需要の増大
近年、地球観測衛星から得られるデータへの注目が世界的に高まっています。実際に、大規模災害発生直後の被害状況分析、森林やインフラの変化監視、農業生産の分析など、衛星データは社会課題の解決に直結する情報基盤として活用が進んでいます。
日本においても、国立研究開発法人宇宙航空研究開発機構(JAXA)が開発・運用する地球観測衛星は、防災、環境監視、資源管理など幅広い分野で重要な役割を担ってきました。
たとえば、昼夜や天候を問わず観測可能な陸域観測技術衛星2号「だいち2号」(ALOS-2)や先進レーダ衛星「だいち4号」(ALOS-4)は、災害時の被害状況把握や森林モニタリングなどに活用されています。また、気候変動観測衛星「しきさい」(GCOM-C)や水循環変動観測衛星「しずく」(GCOM-W)は、長期にわたり地球規模で気候や生態系の変化を観測し続けています。これらの衛星データは、これまでもJAXAから公開され、誰でも利用できる環境が整えられてきました。
一方で、実際に活用するには、画像処理や地球物理、地理空間情報に関する専門知識が必要です。さらに、配信システムごとにデータの仕様や操作方法が異なるため、民間企業や自治体が活用するには、なお高いハードルがありました。そのため、公開されている膨大な衛星データを、社会のさまざまな課題解決に十分生かしきれていない状況が続いていました。
こうした課題を解決し、誰もが衛星データを活用できる環境を目指してJAXA地球観測研究センターで開発されている衛星データ提供サービスが、本記事のタイトルに含まれているJAXA Earth APIです。
JAXA Earth APIは、JAXAが運用する複数の衛星データの検索・取得・解析表示を統一的かつ簡単に扱え、提供されるデータは商用利用でも原則無償となっています。さらに2026年1~3月には、生成AIと連携するための「Model Context Protocol (MCP) [1]」および「Agent Skills [2]」という2つの規格にも対応可能となりました。これにより、これまで活用する際に専門知識が必要だった衛星データを、普段私たちが日常で使う言葉を通して確認・解析 できることにより、より身近なものへと変えつつあります。
本記事では、JAXA Earth APIの概要から始まり、MCPおよびAgent Skillsについての解説、それら規格を用いて生成AIを通じてJAXA Earth APIを利用するチュートリアルを紹介します。
2. JAXA Earth APIとは?
JAXA Earth APIは、地球観測衛星が観測したデータを、衛星データに関する専門知識がない利用者でも扱いやすくすることを目的に整備された、衛星データ配信サービスです。
JAXAが提供する地球観測衛星データを、API(Application Programming Interface)経由で簡単に取得・表示できるようにし、より多くの人が衛星データを活用できる環境を提供しています。
JAXA Earth APIが生まれるまで、多くの衛星データの取得や画像化には、ファイルのデータ構造や配信形式、座標系などに関する専門知識が必要でした。そのため、衛星データを活用できる可能性がある新しい分野があったとしても、実際に扱える人や組織は限られているため、活用が難しい状況でした。
ただし、上述の通り、衛星データは、防災や環境把握のみならず、農業分野での生育監視、都市分野でのインフラ変化検知など、活用の期待は年々高まってきています。その隔たりを解消するには、専門家だけでなく、さまざまな分野の利用者が、それぞれの目的に応じて衛星データを簡単に扱える環境が重要になります。
JAXA Earth APIは、こうした課題を解決するため、衛星データ利用の入口を様々な分野に広げることを目的として開発されました。単に衛星データを配信するだけではなく、利用者の技術レベルや活用目的に応じて、多様な衛星データ利用手段を提供している点が大きな特徴となります (図1)。
当初、JAXA Earth APIでは、従来は専門領域だった衛星データ利用を一定のITスキルやプログラミング知識を持つ方々に広げることを意図して、プログラミング言語Python版API (JAXA Earth API for Python) およびJavaScript向版API(JAXA Earth API for JavaScript)をオープンソースで公開しました。
どちらのAPIも、データ形式や配信仕様を細かく意識することなく、取得したいデータセット、観測時期、座標、解像度をコード上で指定することで衛星データを検索・取得することができ、従来必要だった複雑な事前処理の負担を減らし、より扱いやすい形で衛星データを利用できるようにしています。
また、利用者の多いPythonとJavaScript、ふたつのプログラミング言語に対応していることで、それぞれの言語が使用されやすい分野に応じた使い方ができるようになっています。
Python版APIでは、機械学習やデータ分析で広く利用されているPython環境に、PyPIから簡単に導入可能で、AI解析および統計処理、GIS解析、研究用途などに対するPythonの豊富なデータサイエンスエコシステムと連携した高度な活用が可能です。
JavaScript版APIでは、Webアプリケーションの開発と親和性が高いJavaScript環境向けに、ESM形式モジュールとUMD形式モジュールを提供しており、Webブラウザ上でのインタラクティブな表示や地図APIとの連携など、幅広いWebアプリケーションへの展開が可能です。
さらに、これらPython版およびJavaScript版APIのコードは公開されているため、これらを応用した利用者による独自の拡張も可能です。実例として、オープンソースの地理情報システムであるQGISにJAXA Earth APIが公開する衛星データを取り込む機能を追加するプラグインは、Python版APIを使用して、IT技術を持つGIS企業の株式会社MIERUNEにより独自に開発公開されたものです[3]。この例は、JAXA Earth APIがその意図通りに、GISという別の分野に衛星データ活用を広げた例と言えます。
このように、JAXA Earth APIは衛星データをより身近な利用に広げるためにPython版およびJavaScript版APIを提供することで、ITスキルやプログラミング知識を持つ方々に向けて、意図通りに一定の成果が得られました。しかしながら、それ以外の方々に向けては、依然として衛星データの利用には高いハードルが存在していました。
そこでJAXA Earth APIは、これまで想定していた衛星データ利用者層やIT技術を持つ利用者層に加え、より幅広い利用者に向けた新しい衛星データ利用手段として、普段私たちが日常的に用いる言葉で衛星データを扱えるようにするために、生成AIとの連携に対応しました。
3. 生成AIの広がりと、直感的なツール利用の実現
生成AIとは、文字や画像などの入力に対して、AI(人工知能)がテキストや画像などを生成して応答するシステムのことです。近年では、OpenAI社のChatGPTやAnthropic社のClaudeに代表されるような、人間が日常的に用いる言語 (自然言語) で対話できる生成AIが急速に普及しており、興味を持たれていたり、すでに利用されている方も少なくないでしょう。
こうした生成AI技術の発達によって、これまで専門知識や高度なスキルが必要だった分野でも、目的を自然言語で伝えるだけで、さまざまな成果物を生成できるようになりました。たとえば、スクリプトの作成や文書作成、小説やイラストなどのコンテンツ制作など、幅広い分野における生成AIの活用が急速に進んでいます。
特に2025年頃からは、生成AIはコンテンツを生成するだけでなく、実際のコンピュータ上の作業を実行するAIエージェントとしての活用も急速に広がっています。
たとえば、ファイルの読み込みやWeb検索、プログラムの実行などを、人間の指示に従って自律的に行う仕組みが実用化され始めています。これは、生成AIに対してシステム操作機能や外部アプリケーションを道具(ツール)として連携させることで実現されています。生成AIは自然言語による指示を理解し、それらのツールを利用しながら処理を実行することで、単体では実現できない高度な作業を行えるようになりました。
このように、外部ツールと連携した生成AIは、既存のツールやサービスをより直感的に利用するための“橋渡し役”として注目されていますが、一方で、従来の生成AIと外部ツールの連携には課題もありました。
まず、生成AIは連携方法が定まっていない外部システムやアプリケーションを自由に利用できるわけではありません。たとえば、異なる機器同士が共通の接続規格を持たなければ通信できないのと同様に、生成AIと外部ツールの間にも、相互に連携するための仕組みが必要になります。
また、通常の生成AIは、同じ指示に対して常に同じ応答をするわけではなく、指示内容をもとに毎回推論を行いながら処理を行い、応答しています。そのため、 同じツールを利用する場合であっても、毎回同様の処理手順を選択できるとは限りません。
そのため、生成AIとツールの連携をより安定して扱いやすいものにするには、生成AIが外部ツールを利用するための通信方式(プロトコル)と、どのような手順で処理を進めるべきかという専門知識(スキル)を与えることが重要になりました。そこで登場したのが、JAXA Earth APIも対応したModel Context Protocol (MCP)およびAgent Skillsと呼ばれる、異なる生成AI間でも共通して使用できる2つの規格になります。
4. MCPとAgent Skills
MCPとAgent Skillsは、どちらも生成AIの能力を拡張するための仕組みですが、その内容は大きく異なります。以下では、その2つについてそれぞれ説明します。
4-1. MCPとは?
これらをまとめて「外部ツール」と呼ぶ)を連携させるための規格です。
従来の生成AIでも外部ツールを利用させること自体は可能でしたが、その接続方法には共通の規格がなく、利用したい生成AIと接続先となる外部ツールの組み合わせごとに、専用の連携機能を個別に開発する必要がありました。
そのままでは、図2で示すように外部ツールと生成AIの数が増えるに従って、開発および保守される連携機能の数は外部ツールと生成AIの数の総当たりとなって爆発的に増加することになります(M x N integration problem)。
そこでMCPは、さまざまな生成AIと外部ツールを標準化された共通の接続方式で連携することで、この問題を解決する仕組みです。例えるなら、機器ごとに形の異なる専用ケーブルを用意するのではなく、USBのような共通の接続規格を採用することで、さまざまな機器を接続しやすくする考えに近いものです。生成AIがMCPに対応しているのなら、外部ツールのMCPサーバが1つあれば、図3で示す処理の流れで、様々な生成AIからその外部ツールを利用することができます。
MCPの具体的な仕組みは、MCPホスト・MCPサーバ・MCPクライアントという三つの要素から構成されています。また以降では、生成AIを利用したアプリケーションのことも、特に断りのない限り生成AIと呼びます。MCPのそれぞれの要素は、以下の役割を担当しています:
●MCPホスト: 利用者からの依頼を受け取り、MCPクライアントの作成・管理や、通信の許可やセキュリティ制御、AIモデルとの対話を行います。Claude Desktopなどの生成AIのアプリケーション本体が、この役目を担います。なお、AIモデル自体はMCPホストに含まれません。
●MCPサーバ: MCPクライアントからの依頼を受けて、外部ツールを実行して結果を返します。
●MCPクライアント: MCPホストの内部で動作し、外部ツールのMCPサーバとの通信を担当します。MCPホストは接続するMCPサーバごと1対1になるようにMCPクライアントを用意し、それぞれの通信を個別に管理しています。通信はHTTPまたは標準入出力により行われます。
これらMCP要素の生成AIにおける関係と、外部ツールとの通信の流れを図4に示します。生成AIにMCPで外部ツールが連携されている場合、利用者の依頼に基づいてAIモデルが回答に必要な外部ツールを判断し、MCPを通してその外部ツールを実行され、得られた結果を踏まえた回答が依頼した利用者に返されます。
ここまで、MCPサーバを外部ツールを実行する機能として説明してきました。しかし、MCPサーバには本来、ツール、リソース、プロンプトという3つの基本機能があり、このうち外部ツールの実行に対応する機能がツールです。残りのリソースとプロンプトについては、本稿で扱う範囲を超えることに加え、現状ではツール機能のみがMCPサーバとして利用されることが多いため、ここでは説明を省略します。
このようにMCPを利用することで、さまざまなAIとWeb APIなどの外部ツールを、従来よりも少ない負担で連携できるようになります。
4-2.Agent Skillsとは?
Agent Skillsは、先に説明したMCPが様々な生成AIと外部ツールを接続するための仕組みであるのに対して、同じように様々な生成AIが特定の作業を実行する際に行ってほしい手順や動作、参考資料等を事前に設定するための規格です。
Agent Skillsが設定された生成AIは、利用者から指示を受けるとその指示内容に合ったスキルを推論して選択し、スキルに含まれた手順や動作、関連資料を読み込んで処理を進めます 。
例えば、「アンケート結果を集計して、報告書を作成してください」と指示した場合、スキルを設定していなければ、生成AIが実行の都度に最適と判断した手順で報告書が作成され、図5のようにその結果の一貫性は保証されません。スキルを設定することにより、図6のように特定の指示に対して常に手順に沿った処理が行われるようになります。
スキルの具体的な仕組みは、設定したい1つの「スキル」に対して、SKILL.mdというマークダウン形式ファイルと、処理に必要なスクリプトやリソース(文書ファイルや画像等)一式をまとめたフォルダとして構成されます。
生成AIはSKIIL.md内の「description」に書かれた文脈から、利用者の依頼に合致するスキルかを判断し、どのような処理を行うのかは以降に書かれる本文の内容 (例えば、フォルダ内にあるスクリプトの実行やリソースの読み込み、外部ツール実行の実行手順等) から処理を行います (図7)。
Agent Skillsの仕組みはとても単純ですが、例えスキルが生成AIに設定されていたとしても、使用するべきスキルと判断されるか、想定通りの作業手順で実行されるかは、SKIIL.mdに書かれている内容の具体性に依存しています。
このようにAgent Skillsを利用することで、様々な生成AIに、個人や組織が持つ作業手順、判断基準、専門知識に沿った作業を行わせることができるようになります。
4-3. MCPとAgent Skillsの関係と使い分け
ここまでで説明したように、MCPとAgent Skillsは、どちらも生成AIの能力を拡張するための仕組みですが、その役割は大きく異なります。MCPが生成AIと外部ツールとの連携を担当するのに対し、Agent Skillsは特定の指示に対して決まった手順で処理させる仕組みであり、両者は競合する技術ではなく、それぞれ異なる役割を担っています。
生成AI上でMCPとAgent Skillsを組み合わせることにより、それぞれの特徴を最大限に活かすことができます。生成AIにスキルで外部ツールを使った処理の手順を設定しておき、MCPで外部ツールと連携させておくことで、外部ツールの利用が想定される利用者の指示を、一貫性を保ちながら実行しやすくなります。
例えば、MCPに似たような機能を持つ外部ツールが複数接続されている場合、スキルが設定されていなければ、図8のように、指示の都度に使用される外部ツールが生成AIの判断に委ねられます 。一方、スキルで使用される外部ツールが適切に設定されていれば、図9のように、常に適切な外部ツールが選択されて期待した通りに処理が行われます。
このように、MCPとAgent Skillsを目的に応じて使い分け組み合わせることで、生成AIは適切に外部ツールを利用して、高度な依頼を自律的にこなすことができるようになります。
5. JAXA Earth APIでの生成AI連携サンプル
JAXA Earth APIでは衛星データを生成AIから使用する手助けとなるように、4章で説明したMCPとAgent Skillsを用いた連携方法について幾つかのチュートリアルが公開されています。以下リンク先のチュートリアルでは、生成AIを通してJAXA Earth APIから衛星データを検索・取得・可視化する方法が説明されています:
● MCPのチュートリアル
○ MCP基礎(STDIO編)
MCPサーバと生成AIアプリケーションを同一端末上で動かす、標準入出力 (STDIO) 方式の基本的な実装方法が紹介されています。
○ MCP基礎(Streamable HTTP編)
MCPサーバをネットワーク経由で利用する、Streamable HTTP方式の実装方法が紹介されています。
○ 実用的なMCP作成・実行デモ
生成AIが必要なデータセットを選び、数値や画像を取得する例のほか、関連情報の提示、レポートの作成、Webアプリケーションの生成例などが紹介されています。
● Agent Skillsのチュートリアル
○ 実用的なAgent Skillsの作成・実行デモ
生成AIでJAXA Earth APIのAgent Skillsを利用する方法が紹介されています。
衛星データを単に表示したいだけでも、通常だと衛星データの検索およびダウンロードと、ファイルからデータを読み出して表示するためのプログラミング作業が必要になります。上記チュートリアルに基づいてJAXA Earth APIをMCPで連携して使用すると、ダウンロードやプログラミングをせずに言葉だけで、図10のように衛星データを表示することができます。
先の例ではひとつの衛星データを表示しただけでしたが、衛星データの利点は広域同時観測や、過去観測データが蓄積されている点ですので、例えば「最近の北海道と沖縄の海の温度を衛星データで見比べてみたい」と依頼すると、図11のように、それぞれの地域の海面水温データを並べて表示して比較することもできます。
また、「昨年の同じ時期と比べて」と依頼すると、最近の北海道と沖縄の海面水温データに加えて、図12のように前年のデータを比較することもできます。このように、途中から条件やデータを追加したり、新たな処理を依頼したりすることも可能です。生成AIとの対話を重ねながら比較や分析を進めていけることは、生成AI連携での利点のひとつとなります。
ここまでの例ではMCPでJAXA Earth APIを組み合わせただけでしたが、Agent Skillsを組み合わせることで、さらに複雑な処理を行うこともできます。図13は、「日本周辺の海面水温と地表面温度を1枚の画像に合成してください」と依頼した例です。ふたつの衛星データを合成する処理は、JAXA Earth APIにあらかじめ用意されている機能ではりません。このような処理も、Agent Skillsを利用することで、生成AIがスキルに記載された手順や参考資料を参照し、必要なプログラムを作成・実行して処理することができます。
より実用に即した応用として、衛星データを用いた簡易的なシミュレーションを依頼することもできます。図14は、「衛星の地形データを使って海面上昇のシミュレーションを行い、海面高さが現在から40m高くなった場合を再現した画像を出してください」と依頼した例です。ここでは、人工衛星から得られた標高データをもとに、海面が現在より40m高くなったと仮定した場合に海面下となる範囲を可視化しています。
このように、JAXA Earth APIと生成AIを組み合わせることで、単純な衛星データの取得だけでなく、対話による条件の変更、地域間の比較、複数データの組み合わせ、取得したデータを利用した応用的な処理まで、自然言語による指示で行えるようになります。
ただし、生成AIを通して得られる結果は常に一定ではなく、また出力される内容が必ずしも適切であるとは限りません。例えば先の海面上昇の場合、元になっている地形データには海底地形が含まれておらず海の範囲は標高0 mとなっているため、2万年前の水面が低かった時のシミュレーションを行うと、図15 にように、海の範囲が全て陸になり正しく再現されていません。このように、生成AIを用いることで実際の調査や分析に利用する際には、使用されたデータや処理方法を考慮して、結果の妥当性を確認することが重要となります。
6. まとめ
本記事では、JAXA Earth APIの概要に加え、生成AIと外部ツールを連携するためのMCP、そして生成AIへ作業手順や専門知識を与えるAgent Skillsについて、その役割や違いを紹介しました。
生成AIの登場によって、さまざまな技術が、普段使う言葉を通して手軽に利用できるようになりつつあります。衛星データ利用も、その大きな変化の中にあります。その流れの中で重要なのは、衛星データを必要とする人が、それぞれの知識や目的に応じた方法で利用できるようになることです。プログラミングから直接利用した方が適した場面もあれば、生成AIを通して手軽に扱った方が価値を発揮する場面もあります。
全てを完全に生成AI利用へ置き換えるのではなく、様々な利用方法に広げることが、専門技術の価値をより多くの人へ届け、新たな価値の創造につながっていくと考えられます。
JAXA Earth APIが、より多くの人々と衛星データをつなぐ橋渡しとなり、新しい活用やアイデアが生まれるきっかけとなることを願っています。
出典
[1] LF Projects, LLC., “What is the Model Context Protocol (MCP)?,” Model Context Protocol. [Online]. Available: https://modelcontextprotocol.io/docs/2026-07-28/getting-started/intro. [Accessed 5 Aug, 2026].
[2] Anthropic, “Agent Skills,” Claude Platform Docs. [Online]. Available: https://platform.claude.com/docs/ja/agents-and-tools/agent-skills/overview. [Accessed 5 Aug, 2026].
[3] 株式会社MIERUNE, “QGIS用JAXA Earth APIプラグインを公開,” 株式会社MIERUNE. [Online]. Available: https://www.mierune.co.jp/news/ba7ffdzh0. [Accessed 6 Aug, 2026].
[4] JAXA, “実用的なMCP作成”, JAXA Earth API. [Online]. Available: https://data.earth.jaxa.jp/api/javascript/v2.0.1/ja/docs/documents/MCP_Demo1.html. [Accessed 29 July, 2026].

