Introduction
In recent years, AI has evolved beyond simply answering questions to become "Agentic AI," which performs tasks using external services and data. The Model Context Protocol (MCP) is gaining attention as a mechanism for such AI to interact with external systems. While the ArcGIS developer community has covered this topic multiple times, MCP usage is expanding in the geospatial field as well, enabling natural language access to administrative open data, satellite data, and ArcGIS location services. This article introduces MCP in the geospatial industry and MCP for ArcGIS Location Services (beta) provided by Esri in the United States.
What is MCP?
MCP is an open standard protocol that connects AI with external tools and data. Previously, individual API integrations were required for each service, but with MCP, AI can use various services through a common framework.
MCP mainly consists of the following three components.
- MCP Host
- AI applications used by users such as Claude Desktop, Visual Studio Code (GitHub Copilot), and ChatGPT.
- MCP Client
- Runs inside the MCP Host and communicates with the MCP Server.
- MCP Server
- A server that publishes external services and data sources via MCP. The MCP Server provides the following functions, which AI refers to and uses as needed.
- Tools (executable functions)
- Resources (data)
- Prompt templates
MCP in Japan's Geospatial Industry
Development and publication of MCP servers are progressing in Japan's geospatial field as well. Below are representative examples of MCP servers published domestically in Japan.
- MLIT DATA PLATFORM MCP Server (Ministry of Land, Infrastructure, Transport and Tourism)
An MCP server that allows AI to use data on the "MLIT Data Platform" provided by the Ministry of Land, Infrastructure, Transport and Tourism. It enables natural language search and retrieval of administrative data, expected to be utilized in disaster prevention, urban planning, and infrastructure fields. - Geospatial MCP Server - MLIT Geospatial MCP Server - (Alpha version) (Ministry of Land, Infrastructure, Transport and Tourism)
An MCP server that allows AI to use data from the "Real Estate Information Library" provided by the Ministry of Land, Infrastructure, Transport and Tourism. It enables intuitive conversational search and retrieval of real estate information library data. - JAXA Earth API Generative AI Integration (JAXA)
Allows AI to obtain satellite images and environmental data available from the "JAXA Earth API for Python", expected to be used for disaster monitoring and environmental analysis.
These examples focus on data retrieval and search, with analysis mainly performed on data obtained by AI. However, it is difficult for AI alone to perform searches or analyses considering spatial relationships within geospatial contexts. For example, while AI can search for nearby facilities from a specific location based on straight-line distance, it cannot perform route analysis along actual roads. To solve this issue, route analysis tools need to be made accessible to AI.
MCP for ArcGIS Location Services
MCP for ArcGIS Location Services is an MCP server provided by Esri USA that allows access via MCP to some Location Services available on the ArcGIS Location Platform. By using these services, AI can access ArcGIS location services through natural language. In the current public beta version, representative functions of ArcGIS Location Services are offered as MCP tools.
Tools | Overview |
|---|
find_address_candidates | Search location from address or place name *1 *2 |
reverse_geocode | Get address from coordinates *1 *2 |
solve_route | Calculate route between start and destination points |
elevation_at_locations | Get elevation at specified locations |
map_with_overlay | Generate map image |
get_topic_fields | Retrieve field sets related to topics available in specified countries *3 |
describe_location | Get description of specified location using fields obtained by get_topic_fields tool |
*1 Only valid when saving data.
*2 Credit card registration is required.
*3 For a list of available data topics by country, please refer to "Data Browser".
With these tools available to AI, for example, commands like
'Show me a map with the route from Tokyo Station to the nearest evacuation shelter'
can execute geocoding, route analysis, map image output, etc. MCP for ArcGIS Location Services is currently released as a public beta accessible by joining the Early Adopter Community. For details, please check Esri USA's ArcGIS Blog.
Let's Link MLIT Data Platform with MCP for ArcGIS Location Services
In this article, let's have Claude Desktop find routes from multiple locations listed in a CSV file to their nearest evacuation shelters. Shelter information will be retrieved from the MLIT Data Platform MCP Server. Finally, elevation information will also be included. When using an MCP server with Claude Desktop, configuration in claude_desktop_config.json is necessary; in this example it is set as follows.
{
"mcpServers": {
"mlit-dpf-mcp": {
"command": "<path_to_python.exe>\\python.exe",
"args": [
"<path_to_server.py>\\server.py"
],
"env": {
"MLIT_API_KEY": "<MLIT Data Platform account API key>",
"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 <ArcGIS Location Platform account API key>"
}
}
}
}
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 分ほどでした。
In environments where web search is unavailable, actual information cannot be used, so it seems that elevation data has not been obtained in the table. For the estimated required time, AI appears to output an approximate value calculated by multiplying the straight-line distance by 1.2 and converting it to walking time (assuming 80 m per minute). Let's compare the results. The left side shows manual results, and the right side shows AI-generated results. Differences are highlighted in red.
Looking at the above figure, there are quite significant differences. It seems that without actual road data, accurate distances and travel times cannot be produced.
When using MCP for ArcGIS Location Services
Next, the results when using MCP for ArcGIS Location Services are shown in the figure below. Since multiple tools were used, the execution time took a bit longer, about 10 minutes. This is also formatted in Excel for easier viewing.
Elevation data has also been obtained, and the required time is generally reasonable. However, some travel distances seem to have been calculated in miles. This can likely be avoided by instructing the prompt to output in meters or specifying it beforehand with skills or similar methods. The figure below shows the results after converting from miles to meters.
Let's compare the results after correcting to meters. The left side shows manual results, and the right side shows AI-generated results. As in the previous section, differences are highlighted in red; walking distances within ±5 m and required times within ±0.5 minutes are shown in black.
The top 3 evacuation shelters roughly match, but some differences can be seen. Especially for the Sapporo office, while the top 3 match, distances and times differ. To further check these route analysis result differences, let's have AI output map images for comparison. The left side shows manually executed results drawn on a map, and the right side shows images obtained with MCP for ArcGIS Location Services' map_with_overlay.
Upon comparison, it seems that the coordinates of the start and goal points were different respectively. By outputting map images including route analysis results like this, you can verify results on an actual map.
So far, we have compared two patterns, but either way, being able to execute in about 10 minutes just by giving natural language instructions without waiting for data or tool execution is quite attractive.
Finally
MCP is rapidly spreading as a common platform to realize agentic AI. In the geospatial field domestically as well, MLIT and JAXA are advancing MCP support, creating an environment where geospatial data and location services can be accessed via natural language. MCP for ArcGIS Location Services easily integrates ArcGIS's powerful location features into AI agents, making it an ideal first step to experience GIS × AI utilization going forward. Please try it out yourself as well.
References