Arcgis Roanoke vs Gis MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Arcgis Roanoke vs Gis MCP
In-depth architectural comparison of the Arcgis Roanoke and Gis MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Arcgis Roanoke
Location Services · Local stdio
Quality: 53/100 (Good) | Auth: No auth required
Gis MCP
Location Services · Local stdio
Quality: 63/100 (Good) | Auth: No auth required
Verdict Summary: Choose Arcgis Roanoke if you need specialized Location Services tools running via a local process. Choose Gis MCP if your workspace requires Location Services integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Arcgis Roanoke when:
You need dedicated capabilities in the Location Services domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
City of Roanoke GIS — Roanoke, Virginia open geospatial data (ArcGIS).
A Model Context Protocol (MCP) server implementation that connects Large Language Models (LLMs) to GIS operations using GIS libraries, enabling AI assistants to perform accurate geospatial operations and transformations.
Search City of Roanoke GIS open geospatial datasets (parcels, zoning, public works & city services) by keyword. Returns each dataset's name, summary, record_count, owner/org, and its Feature Service `url` — pass that url to query_layer / layer_info.
query_layer
Query an ArcGIS Feature Service / Map Service layer by its url (from search_datasets). SQL-like `where`, comma-separated `out_fields`, `order_by`, `limit`, `offset`. Returns attribute rows (and geometry). Use where="1=1" + out_fields="*" to sample.
layer_info
Get an ArcGIS Feature/Map Service layer's schema by url: fields (name + type), geometry type, total record count, and capabilities.
Gis MCP Tools (87)
read_file_gpd
Reads a geospatial file and returns stats and a data preview.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Arcgis Roanoke is categorized under Location Services and uses a local stdio subprocess. In contrast, Gis MCP belongs to Location Services using local stdio subprocess. Select Arcgis Roanoke when you need capabilities focused on location services and Gis MCP when you require tools for location services.
Reads two shapefiles directly, concatenates them vertically.
merge_gpd
Merges two shapefiles based on common attribute columns,
This function performs a database-style join, not a spatial join.
Args:
left_shapefile_path: Path to the left shapefile. The geometry from this file is preserved.
right_shapefile_path: Path to the right shapefile to merge.
output_path: Path to save the merged output shapefile.
how: Type of merge. One of 'left', 'right', 'outer', 'inner'. Defaults to 'inner'.
on: Column name to join on. Must be found in both shapefiles.
left_on: Column name to join on in the left shapefile.
right_on: Column name to join on in the right shapefile.
suffixes: Suffix to apply to overlapping column names.
overlay_gpd
Overlay two GeoDataFrames using geopandas.overlay.
Args:
gdf1_path: Path to the first geospatial file.
gdf2_path: Path to the second geospatial file.
how: Overlay method ('intersection', 'union', 'identity', 'symmetric_difference', 'difference').
output_path: Optional path to save the result.
Returns:
Dictionary with status, message, and output info.
dissolve_gpd
Dissolve geometries by attribute using geopandas.dissolve.
Args:
gdf_path: Path to the geospatial file.
by: Column to dissolve by (optional).
output_path: Optional path to save the result.
Returns:
Dictionary with status, message, and output info.
explode_gpd
Split multi-part geometries into single parts using geopandas.explode.
Args:
gdf_path: Path to the geospatial file.
output_path: Optional path to save the result.
Returns:
Dictionary with status, message, and output info.
clip_vector
Clip vector geometries using geopandas.clip.
Args:
gdf_path: Path to the input geospatial file.
clip_path: Path to the clipping geometry file.
output_path: Optional path to save the result.
Returns:
Dictionary with status, message, and output info.
sjoin_gpd
Spatial join between two GeoDataFrames using geopandas.sjoin.
Args:
left_path: Path to the left geospatial file.
right_path: Path to the right geospatial file.
how: Type of join ('left', 'right', 'inner').
predicate: Spatial predicate ('intersects', 'within', 'contains', etc.).
output_path: Optional path to save the result.
Returns:
Dictionary with status, message, and output info.
sjoin_nearest_gpd
Nearest neighbor spatial join using geopandas.sjoin_nearest.
Args:
left_path: Path to the left geospatial file.
right_path: Path to the right geospatial file.
how: Type of join ('left', 'right').
max_distance: Optional maximum search distance.
output_path: Optional path to save the result.
Returns:
Dictionary with status, message, and output info.
point_in_polygon
Check if points are inside polygons using spatial join (predicate='within').
Args:
points_path: Path to the point geospatial file.
polygons_path: Path to the polygon geospatial file.
output_path: Optional path to save the result.
Returns:
Dictionary with status, message, and output info.
write_file_gpd
Export a GeoDataFrame to a file (Shapefile, GeoJSON, GPKG, etc.).
Args:
gdf_path: Path to the input geospatial file.
output_path: Path to save the exported file.
driver: Optional OGR driver name (e.g., 'ESRI Shapefile', 'GeoJSON', 'GPKG').
Returns:
Dictionary with status and message.