Exposes ArcGIS Pro geoprocessing capabilities via arcpy, allowing for vector analysis, terrain modeling, raster calculations, and comprehensive spatial data management.
Click on "Install 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., "@ArcGIS MCP ServerCalculate the average slope for each block using zonal statistics from the DEM."
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.
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 — |
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.mdDaftar Tools (30 tools)
Data I/O
Tool | Deskripsi |
| Deskripsi lengkap dataset: geometry, CRS, extent, fields |
| List semua dataset dalam folder/GDB/GeoPackage |
| List semua field/kolom beserta tipe dan panjangnya |
| Hitung jumlah feature, opsional dengan filter WHERE |
| Export feature class ke format lain (SHP/GDB/GPKG) |
| Buat File Geodatabase baru |
Geoprocessing Vector
Tool | Deskripsi |
| Potong features menggunakan boundary polygon |
| Buat buffer di sekeliling features |
| Overlay intersect 2+ feature class |
| Gabung semua geometry dari 2+ polygon |
| Merge polygon berdasarkan atribut + statistik |
| Gabung atribut berdasarkan relasi spasial |
| Reproject ke sistem koordinat lain (EPSG/WKID) |
| Pilih dan export features berdasarkan SQL |
| Hapus area tertentu dari features (kebalikan clip) |
| Perbaiki geometry yang rusak/invalid |
Terrain Analysis (Butuh Spatial Analyst)
Tool | Deskripsi |
| Hitung kemiringan lereng dari DEM (derajat / persen) |
| Hitung arah hadap lereng dari DEM |
| Buat hillshade/bayangan relief untuk visualisasi |
| Generate garis kontur dari DEM |
| Isi sink di DEM untuk analisis hidrologi |
| Hitung arah aliran air per sel |
| Hitung akumulasi aliran (jumlah sel hulu) |
| Delineasi DAS / catchment area |
| Klasifikasi kemiringan untuk perencanaan kebun |
Raster Analysis (Butuh Spatial Analyst)
Tool | Deskripsi |
| Statistik raster per zona (blok, afdeling) |
| Reklasifikasi nilai raster ke kelas baru |
| Potong raster menggunakan mask polygon/raster |
| Kalkulasi map algebra (NDVI, conditional, diff) |
| Konversi raster terklasifikasi ke polygon |
| Konversi polygon ke 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 pydantic2. 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
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.