GISGP
Hosted ArcGIS Online QA/audit + GIS format conversion MCP server. 92 tools: export/import AGOL Feature Services, convert between Shapefile/GeoJSON/KML/DXF/CSV/GPX/Excel, coordinate reprojection (180+ CRS), terrain/climate/land-cover/hazard data, service health checks and schema auditing. No account or API key needed for free tools.
How to connect
https://gisgp.com/mcp
tools/list returns the expected tools before relying on them in production.Tools
(199)-
convert_coordinatesConvert coordinate pairs between EPSG coordinate systems (max 1000 points).
-
points: [[x, y], ...] in from_epsg axis order (lon/lat for EPSG:4326).No description provided.
-
Returns JSON: {"points": [[x, y], ...], "from_epsg": ..., "to_epsg": ...}.No description provided.
-
validate_geojsonCheck whether a GeoJSON file/string is valid — catches broken geometry,
-
malformed structure, self-intersections, and out-of-range coordinatesNo description provided.
-
before you try to use the file elsewhere (e.g. "is this GeoJSON valid",No description provided.
-
"why won't my GeoJSON load", "lint my GeoJSON", "check topology errors").No description provided.
-
Validates RFC 7946 structure, topology, and WGS84 coordinate ranges.No description provided.
-
Returns a JSON report: {valid, errors, warnings, stats}.No description provided.
-
geojson_to_csvConvert GeoJSON to CSV/spreadsheet — one row per feature, properties
-
as columns, geometry flattened into a column (e.g. "turn this GeoJSONNo description provided.
-
into Excel/CSV", "I need a spreadsheet from these map features", "exportNo description provided.
-
GeoJSON as a table"). Returns the CSV as plain text.No description provided.
-
count_featuresCount features in an ArcGIS FeatureServer layer, optionally filtered by a WHERE clause.
-
service_url: full layer URL ending in /FeatureServer/<n>. token: only for private layers.No description provided.
-
Returns JSON: {"ok": true, "count": ..., "name": ..., "geometry": ...}.No description provided.
-
extract_domainsExtract coded value domains from an ArcGIS FeatureServer layer.
-
Returns JSON: {"layer_name": ..., "domains": {field: {name, field_alias, codes}}}.No description provided.
-
check_field_typesInspect the field schema of an ArcGIS FeatureServer layer.
-
Returns JSON: {layer_name, geometry_type, fields:[{name, alias, type,No description provided.
-
length, nullable, has_domain}]}useful before importing/mapping data.
-
check_service_healthCheck whether an ArcGIS FeatureServer layer is reachable and responsive.
-
Returns JSON: {ok, ms (latency), name, geometry_type, field_count,No description provided.
-
record_count, capabilities, max_record_count}.No description provided.
-
rest_exploreList the layers and tables of an ArcGIS FeatureServer/MapServer root.
-
Point at a service root to enumerate its layers/tables, or at a singleNo description provided.
-
layer URL to describe it. Returns JSON: {is_server, layers:[{id, name, type}]}.No description provided.
-
compare_schemasCompare the field schemas of two ArcGIS FeatureServer layers.
-
Returns JSON diff: {added, removed, changed:[{field, diffs}], same,No description provided.
-
geometry_match, identical}useful for QA before an import or migration.
-
shapefile_to_geojsonConvert a Shapefile ZIP (base64-encoded .zip with .shp/.dbf/.shx[/.prj])
-
to a GeoJSON FeatureCollection. Reprojects to WGS84 if a .prj says otherwise.No description provided.
-
Returns JSON: {geojson: {...}, reprojection_notice: str|null}.No description provided.
-
kml_to_geojsonConvert Google Earth / Google My Maps KML (2.0–2.2) to GeoJSON — the
-
common request when someone exported a map from Google Earth or GoogleNo description provided.
-
My Maps and needs it in a format other GIS tools/APIs accept (e.g.No description provided.
-
"convert my Google Earth file to GeoJSON", "KML to GeoJSON").No description provided.
-
Returns the GeoJSON FeatureCollection as a JSON string.No description provided.
-
gpx_to_geojsonConvert a GPS track/route file (GPX — from Garmin, Strava exports,
-
hiking/cycling apps, waypoints) to GeoJSON (e.g. "convert my GPS trackNo description provided.
-
to GeoJSON", "GPX to GeoJSON", "import my Strava route").No description provided.
-
Returns the GeoJSON FeatureCollection as a JSON string.No description provided.
-
geojson_to_gpxConvert GeoJSON to a GPX file — e.g. "export this as a GPS track",
-
"GeoJSON to GPX for my Garmin", "make waypoints from this GeoJSON".No description provided.
-
Points become GPX waypoints; lines and polygon rings become GPXNo description provided.
-
tracks (GPX has no native polygon type). Non-name properties areNo description provided.
-
droppedGPX has no generic attribute-table equivalent.
-
query_featuresFetch actual feature records (attributes + geometry) from a FeatureServer layer.
-
Free preview capped at 50 records (WHERE filter + chosen fields). Returns JSON:No description provided.
-
{returned, total, truncated, geojson, note}. Full unlimited export is a paid operation.No description provided.
-
query_statisticsServer-side aggregate stats on a numeric field of a FeatureServer layer.
-
No records fetchedAGOL computes sum/avg/min/max/count (also stddev/var).
-
Optional WHERE filter and group_by field. Returns JSON: {field, results:[...]}.No description provided.
-
Cheap way to answer "what's the average/total of field X" without an export.No description provided.
-
geometry_statsCompute area (m²/km²), length (m/km), vertex count, centroid and bbox of GeoJSON.
-
Metric measurements use an equal-area projection so area/length are real metres.No description provided.
-
reproject_geojsonChange a GeoJSON's coordinate reference system (CRS/projection) —
-
e.g. "reproject to Web Mercator", "convert WGS84 to UTM", "myNo description provided.
-
coordinates are in the wrong CRS", "EPSG:4326 to EPSG:3857". ReprojectsNo description provided.
-
every geometry type between any two EPSG codes.No description provided.
-
simplify_geometryReduce the number of vertices in GeoJSON geometry (Douglas-Peucker
-
algorithm)e.g. "simplify this polygon", "this shape has too many
-
points", "reduce vertex count for faster rendering". Tolerance inNo description provided.
-
degrees; lower = more detail kept.No description provided.
-
reduce_precisionRound every coordinate to N decimal places to shrink a GeoJSON file's
-
sizee.g. "my GeoJSON file is too big", "reduce coordinate precision",
-
"strip excess decimal places". 6 decimals ≈ 11cm precision, plenty forNo description provided.
-
most mapping use cases.No description provided.
-
csv_to_geojsonConvert a CSV/spreadsheet with lat/lon (or X/Y) columns to GeoJSON —
-
auto-detects the coordinate columns (e.g. "map this spreadsheet",No description provided.
-
"CSV with lat/lon to GeoJSON", "turn my Excel export into map points").No description provided.
-
Returns a GeoJSON FeatureCollection as a JSON string.No description provided.
-
geojson_to_kmlConvert GeoJSON to KML for Google Earth / Google My Maps (e.g. "open
-
this in Google Earth", "GeoJSON to KML", "make this viewable in GoogleNo description provided.
-
My Maps"). Returns the KML as plain text.No description provided.
-
geojson_to_shapefileConvert GeoJSON to an Esri Shapefile ZIP — the format ArcGIS Desktop
-
Pro/QGIS/most legacy GIS software still expects (e.g. "I need aNo description provided.
-
shapefile for ArcGIS Pro", "GeoJSON to SHP", "convert for QGIS import").No description provided.
-
Returns JSON: {shapefile_zip_base64, warnings}.No description provided.
-
gpx_to_kmlConvert a GPS track file (GPX) directly to KML for Google Earth —
-
e.g. "open my Garmin/Strava track in Google Earth", "GPX to KML".No description provided.
-
kml_to_shapefileConvert a Google Earth/My Maps KML file directly to an Esri Shapefile
-
ZIPe.g. "Google Earth file to shapefile for ArcGIS", "KML to SHP".
-
Returns JSON: {shapefile_zip_base64, warnings}.No description provided.
-
wkt_to_geojsonConvert a WKT (Well-Known Text) geometry string — the format
-
PostGIS/SQL geometry columns print by defaultto GeoJSON (e.g. "this
-
came from a PostGIS query", "WKT to GeoJSON", "parse this POLYGON(...)No description provided.
-
string").No description provided.
-
geojson_to_wktConvert a GeoJSON geometry (or a Feature's geometry) to WKT — the
-
format needed to insert geometry into PostGIS/SQL (e.g. "I need thisNo description provided.
-
for a PostGIS INSERT", "GeoJSON to WKT", "geometry as WKT string").No description provided.
-
dxf_to_geojsonConvert an AutoCAD DXF file's contents to GeoJSON — e.g. "convert
-
this DXF to GeoJSON", "AutoCAD drawing to GIS format", "DXF export fromNo description provided.
-
Civil 3D to GeoJSON", "extract only the UTILITIES layer from this DXF".No description provided.
-
POINT/LINE/LWPOLYLINE/POLYLINE/ARC/CIRCLE entities convert (arcs/circlesNo description provided.
-
are tessellated into LineString/Polygon); splines, text, hatches and 3DNo description provided.
-
solids have no GIS geometry equivalent and are skipped, not errored on.No description provided.
-
Every feature's properties.layer carries its DXFNo description provided.
-
geojson_to_dxfConvert GeoJSON to an AutoCAD DXF file — e.g. "export this GeoJSON
-
to DXF for AutoCAD", "GIS data to CAD format", "convert to .dxf forNo description provided.
-
Civil 3D". Points become DXF POINT entities; lines and polygon ringsNo description provided.
-
become LWPOLYLINE entities. A feature's properties.layer (if present)No description provided.
-
is written back as the DXF entity's layer (group code 8), defaultingNo description provided.
-
to layer "0" otherwise.No description provided.
-
list_dxf_layersList the distinct DXF layer names used in a drawing — e.g. "what
-
layers does this DXF have", "list layers before I extract one". RealNo description provided.
-
CAD exports organize entities into named layers (BOUNDARY, UTILITIES,No description provided.
-
TEXT, ...); use the result with dxf_to_geojson's `layer` param to pullNo description provided.
-
out just one. Returns a JSON array of layer name strings.No description provided.
-
georeference_dxfReproject a DXF drawn in a local/arbitrary CAD coordinate system
-
into real-world coordinatese.g. "this DXF isn't in real coordinates,
-
fix it", "georeference this site plan", "I know 2 points on thisNo description provided.
-
drawing's real location, convert the rest". Give exactly 2 controlNo description provided.
-
points as a JSON array: '[{"local":[x,y],"real":[lon,lat]},No description provided.
-
{"local":[x,y],"real":[lon,lat]}]'a 2-point similarity transform
-
(uniform scale + rotation + translation) is solved and applied toNo description provided.
-
every cooNo description provided.
-
dxf_to_pdf_reportPAID (150 credits) — render a DXF drawing to a one-page PDF site-plan
-
report (vector plot + entity-type breakdown + layer list, base64-No description provided.
-
encoded PDF)e.g. "make a PDF of this site plan", "DXF to PDF
-
report". No basemap (DXF coordinates are usually local drawing units,No description provided.
-
not real lon/lat)use georeference_dxf first if you need a
-
real-world-referenced report. Requires Authorization: Bearer <api_key>No description provided.
-
and sufficient credits balance. Returns JSON: {ok, pdf_base64,No description provided.
-
featureNo description provided.
-
grade_serviceGrade an ArcGIS FeatureServer layer A–F across 5 categories (schema quality,
-
data completeness, performance, maintenance, configuration).No description provided.
-
Returns JSON: {grade, score, categories:[{key, label, score, note}], archetype,No description provided.
-
insight, percentile, share_url}share_url is a public scorecard page you can
-
send to a human. token: only for private layers (never stored in the scorecard).No description provided.
-
audit_serviceFull one-call QA report of an ArcGIS FeatureServer layer: health (latency,
-
record count, capabilities) + field schema + coded domains + summary counts.No description provided.
-
One call replaces separate health/fields/domains lookups. Returns JSON:No description provided.
-
{name, geometry_type, health, fields, domains, summary}.No description provided.
-
find_layer_issuesScan an ArcGIS FeatureServer layer for common problems: missing ObjectID,
-
disabled query, stale data, all-null fields, features without geometry.No description provided.
-
Sample-based (first 200 records). Returns JSON: {layer_name,No description provided.
-
issues:[{severity, code, message}], issue_count, sample_size, note}.No description provided.
-
share_mapPublish a GeoJSON FeatureCollection as a live, shareable map page on gisgp.com.
-
Returns JSON: {url, expires_at}url is a public interactive map a human can
-
open in a browser (free links live 30 days). Use it to hand off results of aNo description provided.
-
GIS workflow visually instead of pasting raw GeoJSON.No description provided.
-
embed_map_snippetReady-to-paste <iframe> embed code for a live interactive map — thin
-
wrapper around share_map (same live page, same 30-day TTL), forNo description provided.
-
embedding directly in a website/dashboard rather than sharing a link.No description provided.
-
Returns JSON: {ok, embed_html, url, expires_at}.No description provided.
-
buffer_geojsonBuffer every feature by a distance in METRES (negative shrinks).
-
Geodesically accurate at any latitude (each feature is buffered in a localNo description provided.
-
equidistant projection). Returns JSON {ok, distance_m, geojson} where geojsonNo description provided.
-
is a FeatureCollection of buffer polygons.No description provided.
-
dissolve_geojsonMerge overlapping/adjacent geometries into one (optionally grouped by a
-
property field `by` → one dissolved feature per distinct value).No description provided.
-
Returns JSON {ok, by, group_count, geojson}.No description provided.
-
centroids_geojsonGet the center point of each polygon/line feature — e.g. "find the
-
center of each parcel", "convert polygons to points for labeling",No description provided.
-
"centroid of each feature". Properties are kept.No description provided.
-
Returns JSON {ok, geojson}a FeatureCollection of points.
-
convex_hull_geojsonDraw the smallest polygon that wraps around all input features (a
-
convex hull)e.g. "draw a boundary around these points", "find the
-
outer perimeter of my data", "convex hull of these locations".No description provided.
-
Returns JSON {ok, geojson}a single polygon.
-
overlay_geojsonCombine two GeoJSON FeatureCollections with a boolean set operation.
-
op: intersection | difference (a minus b) | symmetric_difference | union.No description provided.
-
Each side is unioned into one geometry first, then the operation isNo description provided.
-
applied. Returns JSON {ok, op, geojson}empty geojson means no overlap,
-
not an error.No description provided.
-
spatial_join_geojsonAttach properties from every B feature that satisfies a spatial
-
predicate to each A feature (as a `_matches` list).No description provided.
-
predicate: intersects | within | contains | touches | crosses | overlaps.No description provided.
-
Returns JSON {ok, predicate, match_count, geojson}.No description provided.
-
nearest_features_geojsonFor each feature in A, find the nearest feature in B by centroid-to-
-
centroid geodesic distance. Attaches `_nearest` properties andNo description provided.
-
`_nearest_distance_m`. Returns JSON {ok, geojson}.No description provided.
-
fix_geometryRepair invalid geometries (self-intersections, bad rings) via GEOS
-
make_valid. Already-valid geometries are left untouched. Returns JSONNo description provided.
-
{ok, fixed_count, feature_count, geojson}.No description provided.
-
geojson_diffCompare two GeoJSON FeatureCollections — added/removed/changed features.
-
Matched by an `id_field` property if given, else by array position (exactNo description provided.
-
structural comparison, not topological equals). Returns JSON {ok, added,No description provided.
-
removed, changed, added_count, removed_count, changed_count, unchanged_count}.No description provided.
-
epsg_suggestSuggest the correct UTM EPSG code to project a WGS84 lon/lat into for
-
accurate metric measurements (buffer/area/distance).No description provided.
-
Returns JSON {ok, epsg, utm_zone, hemisphere, name, warning}.No description provided.
-
tile_mathConvert a WGS84 lon/lat + zoom level to Slippy Map (XYZ) tile x/y,
-
that tile's lon/lat bbox, and its Bing quadkey.No description provided.
-
Returns JSON {ok, zoom, x, y, tile_bbox, quadkey}.No description provided.
-
envelope_geojsonGet the bounding box (min/max rectangle) around each feature — e.g.
-
"get the bounding box of this shape", "bbox for each feature",No description provided.
-
"rectangular extent of my geometry". Properties are kept.No description provided.
-
Returns JSON {ok, geojson}.No description provided.
-
minimum_rotated_rectangleSmallest-area rectangle wrapping all input features combined — can be
-
tilted to fit tighter than a straight bounding box (e.g. "tightestNo description provided.
-
rectangle around this data", "minimum bounding rectangle", "orientedNo description provided.
-
bounding box"). Returns JSON {ok, geojson}.No description provided.
-
voronoi_geojsonDivide space into regions closest to each input point (Voronoi
-
diagram)e.g. "find the service area for each location", "which
-
points are closest to which store", "Voronoi/Thiessen polygons".No description provided.
-
Non-point features use their centroid. Needs at least 2 points.No description provided.
-
Returns JSON {ok, cell_count, geojson}.No description provided.