Introduction
Ces dernières années, l'IA a évolué pour devenir une « IA agentique » qui ne se contente pas de répondre aux questions, mais utilise également des services et des données externes pour exécuter des tâches. Le Model Context Protocol (MCP) est un mécanisme qui attire l'attention comme moyen de connecter cette IA aux systèmes externes. La communauté des développeurs ArcGIS en a déjà parlé à plusieurs reprises, et l'utilisation du MCP s'étend également dans le domaine géospatial, permettant d'accéder aux données ouvertes gouvernementales, aux données satellitaires, ainsi qu'aux services de localisation ArcGIS via le langage naturel. Cet article présente le MCP dans l'industrie géospatiale et MCP for ArcGIS Location Services (bêta) proposé par Esri aux États-Unis.
Qu'est-ce que MCP ?
MCP est une norme ouverte pour connecter l'IA à des outils et données externes. Auparavant, chaque service nécessitait une intégration API spécifique, mais avec MCP, l'IA peut utiliser divers services via un mécanisme commun.
MCP se compose principalement des trois éléments suivants.
- Hôte MCP
- Applications IA utilisées par les utilisateurs telles que Claude Desktop, Visual Studio Code (GitHub Copilot), ChatGPT, etc.
- Client MCP
- Fonctionne à l'intérieur de l'hôte MCP et communique avec le serveur MCP.
- Serveur MCP
- Serveur qui publie des services ou sources de données externes via MCP. Le serveur MCP fournit les fonctionnalités suivantes que l'IA consulte et utilise selon les besoins.
- Outils (fonctionnalités exécutables)
- Ressources (données)
- Modèles de prompt
MCP dans l'industrie géospatiale japonaise
Le développement et la publication de serveurs MCP progressent également dans le domaine géospatial au Japon. Voici quelques exemples représentatifs de serveurs MCP publiés au Japon.
- Serveur MCP MLIT DATA PLATFORM (Ministère des Terres, Infrastructures, Transports et Tourisme)
C'est un serveur MCP permettant à l'IA d'utiliser les données sur la "Plateforme de données du Ministère des Terres, Infrastructures, Transports et Tourisme" fournie par le Ministère. L'IA peut rechercher et obtenir des données administratives en langage naturel, ce qui est prometteur pour la prévention des catastrophes, la planification urbaine et les infrastructures. - Serveur MCP géospatial - Serveur MCP géospatial MLIT - (version α) (Ministère des Terres, Infrastructures, Transports et Tourisme)
C'est un serveur MCP permettant à l'IA d'utiliser les données de la "Bibliothèque d'informations immobilières" fournie par le Ministère. L'IA peut rechercher et obtenir intuitivement les données immobilières sous forme de dialogue. - Intégration IA générative JAXA Earth API (JAXA)
L'IA peut obtenir des images satellites et des données environnementales disponibles via "JAXA Earth API for Python", ce qui est prometteur pour la surveillance des catastrophes et l'analyse environnementale.
Dans ces exemples, l'objectif principal est d'obtenir et rechercher des données, puis d'analyser ces données obtenues par l'IA. Cependant, il est difficile pour une IA seule d'effectuer des recherches ou analyses prenant en compte les relations spatiales. Par exemple, bien que l'IA puisse rechercher des installations proches d'un emplacement donné, cette recherche se limite à la distance à vol d'oiseau ; elle ne peut pas effectuer d'analyse d'itinéraire suivant les routes réelles. Pour résoudre ce problème, il est nécessaire que l'IA puisse utiliser un outil d'analyse d'itinéraire.
MCP for ArcGIS Location Services
MCP for ArcGIS Location Services est un serveur MCP fourni par Esri aux États-Unis qui permet d'accéder via MCP à certains services de localisation disponibles sur ArcGIS Location Platform. En utilisant ces services, l'IA peut accéder aux services de localisation ArcGIS via le langage naturel. La version bêta publique actuelle offre les fonctionnalités principales d’ArcGIS Location Services sous forme d’outils MCP.
Outils | Résumé |
|---|
find_address_candidates | Recherche de position à partir d'adresses ou noms de lieux *1 *2 |
reverse_geocode | Obtention d'adresse à partir de coordonnées *1 *2 |
solve_route | Calcul d’itinéraire entre point de départ et destination |
elevation_at_locations | Obtention de l'altitude au point spécifié |
map_with_overlay | Génération d'image cartographique |
get_topic_fields | Obtention du jeu de champs relatifs aux sujets disponibles dans un pays donné *3 |
describe_location | Obtention de la description du lieu spécifié avec les champs obtenus via get_topic_fields *3 |
*1 Valable uniquement si les données sont enregistrées.
*2 L'enregistrement d'une carte bancaire est obligatoire.
*3 Pour la liste des sujets de données disponibles par pays, veuillez consulter "Data Browser."
Avec ces outils accessibles à l’IA, il est possible par exemple de répondre à la demande suivante :
'Affiche-moi un itinéraire avec carte du Tokyo Station jusqu'au refuge le plus proche.'
, en exécutant géocodage, analyse d’itinéraire et génération d’image cartographique. MCP for ArcGIS Location Services est actuellement disponible en version bêta publique accessible en rejoignant la communauté Early Adopter Community. Pour plus de détails, veuillez consulter le blog ArcGIS.
Essayons de connecter la Plateforme de données du Ministère des Terres avec MCP for ArcGIS Location Services
Dans cet article, nous allons utiliser un fichier CSV contenant plusieurs sites pour demander à Claude Desktop de rechercher l’itinéraire vers le refuge le plus proche pour chaque site. Les informations sur les refuges seront obtenues depuis la Plateforme de données du Ministère (MLIT DATA PLATFORM MCP Server), puis nous demanderons aussi les informations sur l’altitude. Pour utiliser un serveur MCP dans Claude Desktop, il faut configurer claude_desktop_config.json ; voici la configuration utilisée dans cet exemple.
{
"mcpServers": {
"mlit-dpf-mcp": {
"command": "<chemin vers python.exe>\\python.exe",
"args": [
"<chemin vers server.py>\\server.py"
],
"env": {
"MLIT_API_KEY": "<clé API du compte Plateforme de données du Ministère>",
"MLIT_BASE_URL": "https://www.mlit-data.jp/api/v1/",
"PYTHONUNBUFFERED": "1",
"LOG_LEVEL": "WARNING"
}
},
"arcgis-location-services": {
"command": "npx",
"args": [
"mcp-remote",
"https://location-services-mcp.arcgis.com/beta/mcp",
"--header",
"Authorization:${ESRI_AUTH_HEADER}"
],
"env": {
"ESRI_AUTH_HEADER": "Bearer <clé API du compte ArcGIS Location Platform>"
}
}
}
}
Pour la construction et configuration des serveurs MCP respectifs, veuillez vous référer aux ressources ci-dessous.
MCP for ArcGIS Location Services を利用するには、ArcGIS Location Platform のアカウントが必要です。アカウントをお持ちでない方はコチラを参考に作成することで利用できるようになります。
各拠点に一番近い避難所のルート解析
国土交通データプラットフォームには、国土交通省をはじめとしたさまざまな機関から提供されているデータが配置されています。これらのデータの中から全国の避難所を取得し、複数拠点の CSV ファイルから一番近い避難所を検索してもらいます。
使用するモデルは Sonnet 5 を使い、MCP ツール以外の情報源を利用しないよう、Web 検索を無効化して実施します。プロンプトは下記のように入力します。
添付した CSVファイルは、ESRIジャパンの各事業所の一覧です。それぞれの事業所周辺 1km 圏内にある避難所から最も近い避難所のうち 3 施設を実際の徒歩ルート距離 (m) と時間 (分) から割り出し、最も移動時間が短く、標高が高い位置にある避難所の施設名順に上から並べ、下記の表形式で出力してください。事業所名、避難所の施設名、施設までの徒歩距離 (m)、想定所要時間 (分)、施設のある位置の標高 (m)
今回は、MCP for ArcGIS Location Services を利用する場合と利用しない場合の比較もしてみましょう。
先に事業所ごとに一番近い避難所を割り出すために事前に ArcGIS Online の Map Viewer 上で実行したルート解析の結果を確認します。また、標高については ArcGIS Location Platform で利用可能な ArcGIS Elevation service から避難所のポイントごとに取得した標高値を参照します。実行した例として永田町オフィスの場合を下図に表示しています。
事業所ごとに手作業で実行した結果は下図のように Excel にまとめています。
今回は上図を正として、出力結果を確認していきます。ちなみに筆者がこの表を作るためにかけた時間は、使用するデータの検索やルート解析を実行するための作業など下準備も含めると 1 時間ほどでした。MCP 経由で AI に作業してもらうことで減る時間についても注目してみましょう。
MCP for ArcGIS Location Services を利用しない場合
プロンプトを実行して得られた結果を Excel 形式で見やすくしてもらったものが下図となります。実行時間は 7 分ほどでした。
Dans un environnement où la recherche Web n'est pas disponible, il semble que les données d'altitude n'aient pas été obtenues car les informations réelles ne peuvent pas être utilisées. En ce qui concerne le temps estimé nécessaire, l'IA semble fournir une estimation approximative en multipliant la distance à vol d'oiseau par 1,2 et en la convertissant en temps de marche (en supposant une vitesse de 80 m par minute). Comparons les résultats. À gauche, les résultats manuels, à droite, ceux générés par l'IA. Les parties en rouge indiquent les différences.
En regardant l'image ci-dessus, il y a des différences considérables. Il semble qu'il soit impossible d'obtenir des distances ou des temps précis sans données routières réelles.
Lorsque MCP for ArcGIS Location Services est utilisé
Ensuite, voici les résultats obtenus en utilisant MCP for ArcGIS Location Services. Comme plusieurs outils sont utilisés, le temps d'exécution a été un peu long, environ 10 minutes. Les résultats ont également été présentés dans un format Excel facile à lire.
L'altitude a également été obtenue et le temps nécessaire est globalement raisonnable. Cependant, pour certaines distances, il semble que le calcul ait été fait en miles. Cela peut être évité en demandant explicitement une sortie en mètres dans le prompt ou en spécifiant cela à l'avance via une skill. Le résultat de la conversion des miles en mètres a été affiché dans l'image ci-dessous.
Comparons les résultats après correction en mètres. À gauche, les résultats manuels, à droite ceux générés par l'IA. Comme dans la section précédente, les parties en rouge indiquent les différences, mais une différence de ± 5 m pour la distance à pied et ± 0,5 minute pour le temps nécessaire est affichée en noir.
Les trois premiers abris semblent globalement correspondre, mais quelques différences ont été observées. En particulier pour le bureau de Sapporo : bien que les trois premiers soient identiques, la distance et le temps diffèrent. Pour vérifier davantage ces différences dans les résultats de l'analyse d'itinéraire mentionnée ci-dessus, demandons à l'IA de générer une image cartographique pour comparaison. À gauche se trouve le résultat dessiné manuellement sur la carte, à droite l'image obtenue avec map_with_overlay de MCP for ArcGIS Location Services.
Après comparaison, il semble que les coordonnées du point de départ et du point d'arrivée étaient différentes respectivement. En générant une image cartographique incluant les résultats de l'analyse d'itinéraire, on peut vérifier les résultats directement sur la carte réelle.
Jusqu'à présent, nous avons comparé deux scénarios différents, mais dans tous les cas, pouvoir exécuter sans attendre les données ou l'exécution des outils simplement en donnant des instructions en langage naturel en environ 10 minutes est très attractif.
Enfin
MCP se répand rapidement comme base commune pour réaliser une IA agentique. Dans le domaine géospatial au Japon aussi, le Ministère des Terres, des Infrastructures, des Transports et du Tourisme ainsi que JAXA avancent vers la compatibilité MCP, créant un environnement où il est possible d'utiliser des données géospatiales et des services de localisation via le langage naturel. MCP for ArcGIS Location Services permet d'intégrer facilement les puissantes fonctionnalités de localisation d'ArcGIS dans un agent IA, ce qui en fait un service idéal pour faire ses premiers pas dans l'utilisation conjointe de GIS × AI. Nous vous invitons vivement à l'essayer vous-même.
Références