GIS MCP Server

98 tools. 42 can modify or destroy data without limits.

41 write tools that can modify data. Rate limits recommended.

Last updated:

42 can modify or destroy data
56 read-only
98 tools total

Community server · catalogue entry verified 11/06/2026

How to control GIS MCP Server ↓

What GIS MCP Server exposes to your agents

Read (56) Write / Execute (41) Destructive / Financial (0)
High Risk

The most dangerous GIS MCP Server tools

42 of GIS MCP Server's 98 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control GIS MCP Server

PolicyLayer is an MCP gateway — it sits between your AI agents and GIS MCP Server, and nothing reaches the server without passing your rules. These are the rules we recommend:

Rate limit write operations
{
  "build_transform_and_save_weights": {
    "limits": [
      {
        "counter": "build_transform_and_save_weights_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "append_gpd": {
    "limits": [
      {
        "counter": "append_gpd_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register GIS MCP Server — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON GIS →

Free to start. No card required.

All 98 GIS MCP Server tools

WRITE 34 tools
Write build_transform_and_save_weights Pipeline: Read shapefile, build spatial weights, optionally transform, and save to file. Parameters: Write scale_geometry Scale a geometry. Write concat_bands Concatenate multiple single-band raster files into one multi-band raster, handling alignment issues autom Write extract_band Extract a specific band from a multi-band raster and save it as a single-band GeoTIFF. Parameters: - Write make_valid Make a geometry valid. Write reproject_raster reproject_raster Write resample_raster resample_raster Write rotate_geometry Rotate a geometry. Write simplify Simplify a geometry. Write translate_geometry Translate a geometry. Write buffer Create a buffer around a geometry. Write clip_raster_with_shapefile Clip a raster dataset using polygons from a shapefile and write the result. Converts the shapefile's CRS t Write clip_vector Clip vector geometries using geopandas.clip. Args: gdf_path: Path to the input geospatial file. Write compute_ndvi Compute NDVI (Normalized Difference Vegetation Index) and save to GeoTIFF. Parameters: - source: Write create_map create_map Write create_web_map create_web_map Write dissolve_gpd Dissolve geometries by attribute using geopandas.dissolve. Args: gdf_path: Path to the geospatial Write distance_band_weights Create a distance-based spatial weights (W) object from point data. - data_path: path to point shapefile Write explode_gpd Split multi-part geometries into single parts using geopandas.explode. Args: gdf_path: Path to the Write hillshade Generate hillshade from a DEM raster. Args: raster_path: Path to the DEM raster. azimuth: Write knn_weights Create a k-nearest neighbors spatial weights (W) object from point data. - data_path: path to point shape Write merge_gpd Merges two shapefiles based on common attribute columns, This function performs a database-style join, not Write overlay_gpd Overlay two GeoDataFrames using geopandas.overlay. Args: gdf1_path: Path to the first geospatial f Write reclassify_raster Reclassify raster values using a mapping dictionary. Args: raster_path: Path to the input raster. Write save_results MCP Tool: Save any GIS-MCP result dict to files, only when the user requests. Args: data: The dic Write sjoin_gpd Spatial join between two GeoDataFrames using geopandas.sjoin. Args: left_path: Path to the left ge Write sjoin_nearest_gpd Nearest neighbor spatial join using geopandas.sjoin_nearest. Args: left_path: Path to the left geo Write tile_raster Split a raster into square tiles of a given size and save them individually. Parameters: - source: Write triangulate_geometry Create a triangulation of a geometry. Write unary_union_geometries Create a union of multiple geometries. Write voronoi Create a Voronoi diagram from points. Write weighted_band_sum Compute a weighted sum of all bands in a raster using specified weights. Parameters: - source: P Write write_file_gpd Export a GeoDataFrame to a file (Shapefile, GeoJSON, GPKG, etc.). Args: gdf_path: Path to the inpu Write write_raster Write a numpy array to a raster file using metadata from a reference raster. Args: array: 2D or 3D
READ 56 tools
Read append_gpd Reads two shapefiles directly, concatenates them vertically. Read calculate_geodetic_area Calculate area of a polygon using geodetic calculations. Read calculate_geodetic_distance Calculate geodetic distance between points. Read calculate_geodetic_point Calculate point at given distance and azimuth. Read calculate_shortest_path Calculate the shortest path between two points using a saved street network. Args: graphml_path: P Read compute_s2_ndvi compute_s2_ndvi Read convex_hull Calculate convex hull of a geometry. Read difference Find difference between geometries. Read download_boundaries download_boundaries Read download_climate_data download_climate_data Read download_satellite_imagery download_satellite_imagery Read download_species_occurrences download_species_occurrences Read download_street_network download_street_network Read download_worldcover download_worldcover Read dynamic_lisa dynamic_lisa Read envelope Get bounding box of a geometry. Read gamma_statistic Compute Gamma Statistic for spatial autocorrelation. Read gearys_c Compute Global Geary's C Autocorrelation Statistic. Read geojson_to_geometry Convert GeoJSON to a Shapely geometry using shapely.geometry.shape. Args: geojson: GeoJSON diction Read geometry_to_geojson Convert a Shapely geometry (WKT) to GeoJSON using shapely.geometry.mapping. Args: geometry: WKT st Read get_area Get the area of a geometry. Read get_available_crs Get list of available CRS. Read get_bounds Get the bounds of a geometry. Read get_centroid Get the centroid of a geometry. Read get_coordinates Get the coordinates of a geometry. Read get_crs_info Get information about a CRS. Read get_geocentric_crs Get geocentric CRS for given coordinates. Read get_geod_info Get information about a geodetic calculation. Read get_geometry_type Get the type of a geometry. Read get_length Get the length of a geometry. Read get_raster_crs Retrieve the Coordinate Reference System (CRS) of a raster dataset. Opens the raster (local path or H Read get_species_info get_species_info Read get_utm_crs Get UTM CRS for given coordinates. Read get_utm_zone Get UTM zone for given coordinates. Read getis_ord_g Compute Getis-Ord G for global hot spot analysis. Read getis_ord_g_local Local Getis-Ord G. Read gm_lag gm_lag Read intersection Find intersection of two geometries. Read is_valid Check if a geometry is valid. Read join_counts Global Binary Join Counts. Read join_counts_local Local Join Counts. Read metadata_raster metadata_raster Read minimum_rotated_rectangle Get minimum rotated rectangle of a geometry. Read moran_local Local Moran's I. Read morans_i Compute Moran's I Global Autocorrelation Statistic. Read nearest_point_on_geometry Find the nearest point on geometry2 to geometry1 using shapely.ops.nearest_points. Args: geometry1 Read normalize_geometry Normalize the orientation/order of a geometry using shapely.normalize. Args: geometry: WKT string Read project_geometry Project a geometry between CRS. Read raster_band_statistics Calculate min, max, mean, and std for each band of a raster. Parameters: - source: path to input rast Read raster_histogram Compute histogram of pixel values for each band. Parameters: - source: path to input raster. - bi Read read_file_gpd Reads a geospatial file and returns stats and a data preview. Read symmetric_difference Find symmetric difference between geometries. Read union Combine two geometries. Read zonal_statistics zonal_statistics Read point_in_polygon Check if points are inside polygons using spatial join (predicate='within'). Args: points_path: Pa Read weights_from_shapefile Create a spatial weights (W) from a shapefile using contiguity. - contiguity: 'queen' or 'rook' (default

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about GIS MCP Server

How do I prevent bulk modifications through GIS MCP Server? +

The GIS MCP Server server has 34 write tools including build_transform_and_save_weights, scale_geometry, concat_bands. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach GIS MCP Server.

How many tools does the GIS MCP Server MCP server expose? +

98 tools across 3 categories: Execute, Read, Write. 56 are read-only. 42 can modify, create, or delete data.

How do I enforce a policy on GIS MCP Server? +

Register the GIS MCP Server MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every GIS MCP Server tool call.

Deterministic rules across all 98 GIS MCP Server tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

98 GIS MCP Server tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.