streamable-httpMITupdated 29d ago
Free remote MCP (Model Context Protocol) server for GIS/ArcGIS Online automation.
What can you do with gisgp?
GISGP MCP Server
Free remote MCP (Model Context Protocol) server for GIS/ArcGIS Online automation.
Endpoint: https://gisgp.com/mcp (Streamable HTTP, stateless, no auth for public layers)
Client config
{ "mcpServers": { "gisgp": { "url": "https://gisgp.com/mcp" } } }
Local/stdio server (open-source subset)
server.py is a self-contained, open-source MCP server (stdio transport)
implementing the format-conversion and geometry tools that need no external
service access — no ArcGIS Online credentials, no network calls. Build and
run it with the included Dockerfile:
docker build -t gisgp-mcp .
docker run -i --rm gisgp-mcp
{ "mcpServers": { "gisgp-local": { "command": "docker", "args": ["run", "-i", "--rm", "gisgp-mcp"] } } }
The tools that inspect/query a live ArcGIS Online FeatureServer
(count_features, extract_domains, check_field_types,
check_service_health, rest_explore, compare_schemas, query_features,
query_statistics) require a real AGOL connection and stay on the hosted
remote endpoint above — they are not part of this local server.
Hosted QA tools (hosted endpoint only)
The hosted server at https://gisgp.com/mcp also exposes ArcGIS Online QA tools that
need a live AGOL connection and can't run in this local/stdio server:
| Tool | What it does |
|---|---|
grade_service |
Grade any FeatureServer A–F across 5 categories (schema, completeness, performance, maintenance, configuration) — returns a public shareable scorecard link |
audit_service |
One-call QA report: health + field schema + coded domains + summary counts |
find_layer_issues |
Scan a layer for problems: all-null fields, empty geometries, stale data, missing ObjectID, disabled query |
share_map |
Publish a GeoJSON FeatureCollection as a live shareable web map |
full_service_audit |
Merges grade_service + audit_service + find_layer_issues into a single call |
count_features / extract_domains / check_field_types / check_service_health / rest_explore / compare_schemas / query_features / query_statistics |
Inspect/query a live ArcGIS FeatureServer |
Also hosted-only: get_terrain_profile, get_climate_history, classify_land_cover,
analyze_location — free geo primitives backed by third-party open-data APIs
(Open-Meteo, ESA CCI Land Cover, OSM Nominatim), kept on the hosted endpoint rather
than this offline server since they need outbound internet access to those services.
Layer 2 — paid tools (hosted endpoint only)
| Tool | What it does |
|---|---|
estimate_cost |
Free — quote a paid tool's credit cost without executing it |
check_wallet_balance |
Free — check your own MCP credits balance (needs an API key) |
assess_property_hazard |
Paid, 200 credits (€0.20) — multi-source US property hazard: USGS seismic risk + FEMA 10-year disaster history + NOAA active weather alerts, charged via credits wallet |
assess_property_hazard_x402 |
Paid, ~$0.20 via the x402 protocol — same multi-source hazard data, paid directly in USDC on-chain (Base), no GISGP account needed |
These require live infrastructure (ArcGIS/S3, DynamoDB credits wallet, or third-party APIs) and are not part of the open-source subset below — everything below runs fully offline.
Tools
40 tools in this local/offline server subset (see the hosted-only sections above for the full 92-tool catalog including AGOL QA/query tools and Layer 2 paid tools).
| Tool | Description |
|---|---|
convert_coordinates |
Convert coordinate pairs between EPSG coordinate systems |
validate_geojson |
Validate GeoJSON: RFC 7946 structure, topology, WGS84 ranges |
geojson_to_csv |
Convert a GeoJSON FeatureCollection to CSV |
shapefile_to_geojson |
Convert a Shapefile ZIP to GeoJSON |
kml_to_geojson |
Convert KML to GeoJSON |
gpx_to_geojson |
Convert GPX to GeoJSON |
geometry_stats |
Compute area/length/vertex count/centroid/bbox of GeoJSON (equal-area projection) |
reproject_geojson |
Reproject an entire GeoJSON between EPSG coordinate systems |
simplify_geometry |
Simplify GeoJSON geometry (Douglas–Peucker) |
reduce_precision |
Round GeoJSON coordinates to N decimal places (shrinks payload size) |
csv_to_geojson |
Convert CSV with auto-detected coordinate columns to GeoJSON |
geojson_to_kml |
Convert a GeoJSON FeatureCollection to KML |
geojson_to_shapefile |
Convert a GeoJSON FeatureCollection to a Shapefile ZIP |
gpx_to_kml |
Convert GPX to KML |
kml_to_shapefile |
Convert KML to a Shapefile ZIP |
wkt_to_geojson |
Convert a WKT geometry string to GeoJSON (e.g. from PostGIS) |
geojson_to_wkt |
Convert a GeoJSON geometry to a WKT string |
buffer_geojson |
Buffer every feature by a distance in metres, geodesically accurate at any latitude |
dissolve_geojson |
Merge overlapping/adjacent geometries into one, optionally grouped by a property field |
centroids_geojson |
Replace each feature's geometry with its centroid Point |
convex_hull_geojson |
Smallest convex polygon containing all input features combined |
overlay_geojson |
Boolean set operation (intersection/difference/symmetric_difference/union) between two GeoJSON inputs |
spatial_join_geojson |
Attach properties from every matching feature in B to each feature in A |
nearest_features_geojson |
For each feature in A, find the nearest feature in B by geodesic distance |
fix_geometry |
Repair invalid geometries (self-intersections, bad rings) via GEOS make_valid |
geojson_diff |
Added/removed/changed features between two GeoJSON FeatureCollections |
epsg_suggest |
Suggest the correct UTM EPSG code for a lon/lat pair |
tile_math |
Convert lon/lat + zoom to Slippy Map (XYZ) tile x/y, bbox and Bing quadkey |
envelope_geojson |
Bounding-box rectangle (envelope) per feature |
minimum_rotated_rectangle |
Smallest-area rotated rectangle containing all input features combined |
voronoi_geojson |
Voronoi diagram of the input points |
geometry_health_report |
One-call health check: validate + auto-repair + stats + envelope, merged |
dxf_to_geojson |
Convert an AutoCAD DXF file to GeoJSON (POINT/LINE/LWPOLYLINE/POLYLINE/ARC/CIRCLE, layer name kept as a property) |
geojson_to_dxf |
Convert GeoJSON to an AutoCAD DXF file |
list_dxf_layers |
List the distinct layer names used in a DXF drawing |
georeference_dxf |
Reproject a DXF's local/arbitrary drawing coordinates to real-world lon/lat via a 2-point similarity transform |
geojson_to_gpx |
Convert GeoJSON to a GPX file (points -> waypoints, lines/polygon rings -> tracks) |
offset_coordinates |
Move a WGS84 point by a geodesic distance and bearing |
detect_coordinate_order |
Detect whether [x, y] pairs are [lon, lat] or [lat, lon] |
guess_crs_from_coordinates |
Best-guess candidate CRS for raw coordinates with no metadata (e.g. missing .prj) |
Cookbook: real task -> tool call examples in COOKBOOK.md
Docs: https://gisgp.com/api · Homepage: https://gisgp.com
Install
Add gisgp to your client. Pick the one you use.
claude mcp add --transport http gisgp https://gisgp.com/mcpcodex mcp add gisgp --url https://gisgp.com/mcp{
"mcpServers": {
"gisgp": {
"url": "https://gisgp.com/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"gisgp": {
"type": "http",
"url": "https://gisgp.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"gisgp": {
"url": "https://gisgp.com/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"gisgp": {
"serverUrl": "https://gisgp.com/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
40 tools
gisgp exposes 40 tools to a connected agent.
- convert_coordinates
- Convert coordinate pairs between EPSG coordinate systems
- validate_geojson
- Validate GeoJSON: RFC 7946 structure, topology, WGS84 ranges
- geojson_to_csv
- Convert a GeoJSON FeatureCollection to CSV
- shapefile_to_geojson
- Convert a Shapefile ZIP to GeoJSON
- kml_to_geojson
- Convert KML to GeoJSON
- gpx_to_geojson
- Convert GPX to GeoJSON
- geometry_stats
- Compute area/length/vertex count/centroid/bbox of GeoJSON (equal-area projection)
- reproject_geojson
- Reproject an entire GeoJSON between EPSG coordinate systems
- simplify_geometry
- Simplify GeoJSON geometry (Douglas–Peucker)
- reduce_precision
- Round GeoJSON coordinates to N decimal places (shrinks payload size)
- csv_to_geojson
- Convert CSV with auto-detected coordinate columns to GeoJSON
- geojson_to_kml
- Convert a GeoJSON FeatureCollection to KML
- geojson_to_shapefile
- Convert a GeoJSON FeatureCollection to a Shapefile ZIP
- gpx_to_kml
- Convert GPX to KML
- kml_to_shapefile
- Convert KML to a Shapefile ZIP
- wkt_to_geojson
- Convert a WKT geometry string to GeoJSON (e.g. from PostGIS)
- geojson_to_wkt
- Convert a GeoJSON geometry to a WKT string
- buffer_geojson
- Buffer every feature by a distance in metres, geodesically accurate at any latitude
- dissolve_geojson
- Merge overlapping/adjacent geometries into one, optionally grouped by a property field
- centroids_geojson
- Replace each feature's geometry with its centroid Point
- convex_hull_geojson
- Smallest convex polygon containing all input features combined
- overlay_geojson
- Boolean set operation (intersection/difference/symmetric_difference/union) between two GeoJSON inputs
- spatial_join_geojson
- Attach properties from every matching feature in B to each feature in A
- nearest_features_geojson
- For each feature in A, find the nearest feature in B by geodesic distance
- fix_geometry
- Repair invalid geometries (self-intersections, bad rings) via GEOS make_valid
- geojson_diff
- Added/removed/changed features between two GeoJSON FeatureCollections
- epsg_suggest
- Suggest the correct UTM EPSG code for a lon/lat pair
- tile_math
- Convert lon/lat + zoom to Slippy Map (XYZ) tile x/y, bbox and Bing quadkey
- envelope_geojson
- Bounding-box rectangle (envelope) per feature
- minimum_rotated_rectangle
- Smallest-area rotated rectangle containing all input features combined
- voronoi_geojson
- Voronoi diagram of the input points
- geometry_health_report
- One-call health check: validate + auto-repair + stats + envelope, merged
- dxf_to_geojson
- Convert an AutoCAD DXF file to GeoJSON (POINT/LINE/LWPOLYLINE/POLYLINE/ARC/CIRCLE, layer name kept as a property)
- geojson_to_dxf
- Convert GeoJSON to an AutoCAD DXF file
- list_dxf_layers
- List the distinct layer names used in a DXF drawing
- georeference_dxf
- Reproject a DXF's local/arbitrary drawing coordinates to real-world lon/lat via a 2-point similarity transform
- geojson_to_gpx
- Convert GeoJSON to a GPX file (points -> waypoints, lines/polygon rings -> tracks)
- offset_coordinates
- Move a WGS84 point by a geodesic distance and bearing
- detect_coordinate_order
- Detect whether [x, y] pairs are [lon, lat] or [lat, lon]
- guess_crs_from_coordinates
- Best-guess candidate CRS for raw coordinates with no metadata (e.g. missing .prj)
Score
83 / 100
Excellent
- Documentation25/25
- Maintenance25/25
- Trust13/20
- Capability8/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 21 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 40 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.3.0Latest | Jul 29, 2026 |
| 1.2.0 | Jul 17, 2026 |
| 1.1.0 | Jul 11, 2026 |
| 1.0.0 | Jul 11, 2026 |