ArcGIS MCP Server

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.

Category
Visit Server

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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured