ArcGIS MCP Server
Exposes ArcGIS Pro geoprocessing capabilities to LLMs via the arcpy library, enabling automated spatial analysis and data management. It provides a comprehensive suite of tools for vector geoprocessing, terrain analysis, and raster operations designed for GIS workflows.
README
ArcGIS MCP Server
MCP (Model Context Protocol) server yang mengekspos ArcGIS Pro geoprocessing via arcpy ke Claude dan LLM lainnya.
Dirancang untuk tim GIS perkebunan kelapa sawit yang menggunakan ArcGIS Pro 3.x.
Status Instalasi
| Komponen | Status |
|---|---|
| ArcGIS Pro | 3.4.0 — C:\Program Files\ArcGIS\Pro\ |
| Python Environment | arcgispro-py3 (Python 3.11.10) |
| arcpy | Tersedia |
Struktur Project
arcgis-mcp/
├── server.py # Entry point — FastMCP server
├── tools/
│ ├── __init__.py
│ ├── data_io.py # Describe, list, export, create GDB
│ ├── geoprocessing.py # Clip, buffer, intersect, dissolve, dll
│ ├── terrain.py # Slope, aspect, hillshade, hidrologi
│ └── raster_analysis.py # Zonal stats, reclassify, extract, kalkulator
├── utils/
│ ├── __init__.py
│ └── helpers.py # Shared utilities (run_arcpy, error handling)
├── requirements.txt
├── claude_desktop_config.json # Contoh config untuk Claude Desktop
└── README.md
Daftar Tools (30 tools)
Data I/O
| Tool | Deskripsi |
|---|---|
arcgis_describe_data |
Deskripsi lengkap dataset: geometry, CRS, extent, fields |
arcgis_list_workspace |
List semua dataset dalam folder/GDB/GeoPackage |
arcgis_list_fields |
List semua field/kolom beserta tipe dan panjangnya |
arcgis_get_feature_count |
Hitung jumlah feature, opsional dengan filter WHERE |
arcgis_export_data |
Export feature class ke format lain (SHP/GDB/GPKG) |
arcgis_create_gdb |
Buat File Geodatabase baru |
Geoprocessing Vector
| Tool | Deskripsi |
|---|---|
arcgis_clip |
Potong features menggunakan boundary polygon |
arcgis_buffer |
Buat buffer di sekeliling features |
arcgis_intersect |
Overlay intersect 2+ feature class |
arcgis_union |
Gabung semua geometry dari 2+ polygon |
arcgis_dissolve |
Merge polygon berdasarkan atribut + statistik |
arcgis_spatial_join |
Gabung atribut berdasarkan relasi spasial |
arcgis_project |
Reproject ke sistem koordinat lain (EPSG/WKID) |
arcgis_select_by_attribute |
Pilih dan export features berdasarkan SQL |
arcgis_erase |
Hapus area tertentu dari features (kebalikan clip) |
arcgis_repair_geometry |
Perbaiki geometry yang rusak/invalid |
Terrain Analysis (Butuh Spatial Analyst)
| Tool | Deskripsi |
|---|---|
arcgis_slope |
Hitung kemiringan lereng dari DEM (derajat / persen) |
arcgis_aspect |
Hitung arah hadap lereng dari DEM |
arcgis_hillshade |
Buat hillshade/bayangan relief untuk visualisasi |
arcgis_contour |
Generate garis kontur dari DEM |
arcgis_fill_dem |
Isi sink di DEM untuk analisis hidrologi |
arcgis_flow_direction |
Hitung arah aliran air per sel |
arcgis_flow_accumulation |
Hitung akumulasi aliran (jumlah sel hulu) |
arcgis_watershed |
Delineasi DAS / catchment area |
arcgis_slope_classification |
Klasifikasi kemiringan untuk perencanaan kebun |
Raster Analysis (Butuh Spatial Analyst)
| Tool | Deskripsi |
|---|---|
arcgis_zonal_statistics_as_table |
Statistik raster per zona (blok, afdeling) |
arcgis_reclassify |
Reklasifikasi nilai raster ke kelas baru |
arcgis_extract_by_mask |
Potong raster menggunakan mask polygon/raster |
arcgis_raster_calculator |
Kalkulasi map algebra (NDVI, conditional, diff) |
arcgis_raster_to_polygon |
Konversi raster terklasifikasi ke polygon |
arcgis_polygon_to_raster |
Konversi polygon ke raster |
arcgis_resample_raster |
Ubah resolusi/cell size raster |
Instalasi
1. Install dependensi MCP ke arcgispro-py3
# Aktifkan environment arcgispro-py3
"C:/Program Files/ArcGIS/Pro/bin/Python/Scripts/conda.exe" activate arcgispro-py3
# Install mcp
"C:/Program Files/ArcGIS/Pro/bin/Python/envs/arcgispro-py3/python.exe" -m pip install mcp pydantic
2. Test server berjalan
"C:/Program Files/ArcGIS/Pro/bin/Python/envs/arcgispro-py3/python.exe" "D:/04 Claude/arcgis-mcp/server.py"
3. Konfigurasi Claude Desktop
Edit file %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"arcgis": {
"command": "C:/Program Files/ArcGIS/Pro/bin/Python/envs/arcgispro-py3/python.exe",
"args": ["D:/04 Claude/arcgis-mcp/server.py"]
}
}
}
Restart Claude Desktop setelah mengubah config.
Contoh Penggunaan
Analisis terrain untuk perencanaan kebun
1. arcgis_slope (DEM → slope raster)
2. arcgis_slope_classification (slope → kelas kemiringan)
3. arcgis_raster_to_polygon (kelas → polygon)
4. arcgis_intersect ([blok_tanam, kelas_lereng] → overlay)
5. arcgis_dissolve (overlay → luas per kelas per blok)
Buffer riparian dan erase dari plantable area
1. arcgis_buffer (sungai → buffer 30m)
2. arcgis_erase (blok_tanam, buffer → blok tanpa riparian)
3. arcgis_get_feature_count (verifikasi hasil)
Zonal statistics slope per plot
1. arcgis_describe_data (cek CRS plot dan DEM sama)
2. arcgis_slope (DEM → slope raster)
3. arcgis_zonal_statistics_as_table (slope, plots → tabel statistik)
Sistem Koordinat Indonesia yang Umum
| WKID | Nama | Digunakan di |
|---|---|---|
| 4326 | WGS 1984 | GPS, data umum |
| 32647 | WGS84 UTM Zone 47N | Sumatra Barat, sebagian Sumatra |
| 32648 | WGS84 UTM Zone 48N | Sumatra Tengah-Timur |
| 32649 | WGS84 UTM Zone 49N | Kalimantan Barat-Tengah |
| 32650 | WGS84 UTM Zone 50N | Kalimantan Timur-Utara |
| 32748 | WGS84 UTM Zone 48S | Sumatra bagian selatan |
| 32750 | WGS84 UTM Zone 50S | Kalimantan Timur bagian selatan |
| 23830 | DGN95/TM Zone 50N | Kadastral Indonesia |
Catatan Penting
- Semua path harus menggunakan forward slash
/atau double backslash\\ - Tool terrain dan raster membutuhkan lisensi Spatial Analyst
- Server berjalan sebagai subprocess stdio — satu koneksi per client
- arcpy bersifat synchronous; semua panggilan dijalankan di thread pool agar tidak memblokir event loop
- Untuk data besar, pastikan koneksi ArcGIS Pro tidak terputus selama eksekusi
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.