{"domain":"gisgp.com","count":4,"changes":[{"captured_at":"2026-10-23T21:38:40.666441","card_hash":"028b5e3c3385406deb6e887127013df8b58a9dad641b26874ba226199a888fdc","previous_card_hash":"07d22ed26036b2812a9c8f14bf5a3726c4bfdd989fad1b7fbc1d75541f837d32","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"convert_file","fields":["description"]},{"id":"generate_contours","fields":["description"]},{"id":"get_elevation","fields":["description"]},{"id":"guess_crs","fields":["description"]},{"id":"plss_find","fields":["description"]},{"id":"plss_lookup","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 6 skills"}},{"captured_at":"2026-10-19T03:48:32.162171","card_hash":"07d22ed26036b2812a9c8f14bf5a3726c4bfdd989fad1b7fbc1d75541f837d32","previous_card_hash":"b7decc01da7a61448ce9cb6dd724120faab7e390967c8d4a38b2d680549ab254","diff":{"skills_added":[{"id":"generate_contours","name":"generate contours","description":"GISGP Lite ($3 a month, or $1 once for 24 hours) — pass the api_key of that","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"plss_find","name":"plss find","description":"GISGP Lite ($3 a month, or $1 once for 24 hours) — pass the api_key of that","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"plss_lookup","name":"plss lookup","description":"GISGP Lite ($3 a month, or $1 once for 24 hours) — pass the api_key of that","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"description","before":"Hosted geospatial tool server for AI agents: coordinate conversion, format conversion (GeoJSON/Shapefile/KML/GPX/DXF/CSV), open-data discovery, terrain, land cover, protected areas, hazard and site assessments. Wire protocol is MCP (Streamable HTTP, JSON-RPC over POST /mcp) — 109 tools, 87 free without signup, 22 paid via credits or x402.","after":"Hosted geospatial tool server for AI agents: coordinate conversion, format conversion (GeoJSON/Shapefile/KML/GPX/DXF/CSV), open-data discovery, terrain, land cover, protected areas, hazard and site assessments. Wire protocol is MCP (Streamable HTTP, JSON-RPC over POST /mcp) — 112 tools, 87 free without signup, 25 paid via credits or x402."}],"other_changed":false,"is_empty":false,"human_summary":"added 3 skills · description Hosted geospatial tool server for AI age → Hosted geospatial tool server for AI age"}},{"captured_at":"2026-10-18T14:33:50.603936","card_hash":"b7decc01da7a61448ce9cb6dd724120faab7e390967c8d4a38b2d680549ab254","previous_card_hash":"09cf2373b4107db5e04bcdcd86082a3d2b0a0131a26532befa81d6213285fd41","diff":{"skills_added":[{"id":"convert_file","name":"convert file","description":"GISGP Lite ($3 a month, or $1 once for 24 hours) — pass the api_key of that","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"get_elevation","name":"get elevation","description":"GISGP Lite ($3 a month, or $1 once for 24 hours) — pass the api_key of that","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"guess_crs","name":"guess crs","description":"GISGP Lite ($3 a month, or $1 once for 24 hours) — pass the api_key of that","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"description","before":"Hosted geospatial tool server for AI agents: coordinate conversion, format conversion (GeoJSON/Shapefile/KML/GPX/DXF/CSV), open-data discovery, terrain, land cover, protected areas, hazard and site assessments. Wire protocol is MCP (Streamable HTTP, JSON-RPC over POST /mcp) — 106 tools, 87 free without signup, 19 paid via credits or x402.","after":"Hosted geospatial tool server for AI agents: coordinate conversion, format conversion (GeoJSON/Shapefile/KML/GPX/DXF/CSV), open-data discovery, terrain, land cover, protected areas, hazard and site assessments. Wire protocol is MCP (Streamable HTTP, JSON-RPC over POST /mcp) — 109 tools, 87 free without signup, 22 paid via credits or x402."}],"other_changed":false,"is_empty":false,"human_summary":"added 3 skills · description Hosted geospatial tool server for AI age → Hosted geospatial tool server for AI age"}},{"captured_at":"2026-10-04T10:42:46","card_hash":"09cf2373b4107db5e04bcdcd86082a3d2b0a0131a26532befa81d6213285fd41","previous_card_hash":null,"diff":{"skills_added":[{"id":"analyze_location","name":"analyze location","description":"Reverse-geocode a WGS84 point to country/region/locality via OSM","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"assess_airspace_obstruction_proximity","name":"assess airspace obstruction proximity","description":"PAID (100 credits) — nearby FAA-registered vertical obstructions","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"assess_datacenter_site","name":"assess datacenter site","description":"PAID (300 credits) — data center site-scouting composite: grid","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"assess_energy_community_credit","name":"assess energy community credit","description":"PAID (100 credits) — US Inflation Reduction Act \"energy community\"","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"assess_ev_charging_site","name":"assess ev charging site","description":"One-call EV charging site-scouting indicator: grid proximity (power","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"assess_grid_exposure","name":"assess grid exposure","description":"Electric grid infrastructure proximity at a US point: nearby","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"assess_pipeline_proximity","name":"assess pipeline proximity","description":"Natural gas interstate/intrastate transmission pipeline proximity at","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"assess_portfolio_climate_disclosure","name":"assess portfolio climate disclosure","description":"PAID (200 credits PER PROPERTY, max 25 properties/call) — bulk physical","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"assess_property_hazard","name":"assess property hazard","description":"PAID (200 credits) — multi-source US property hazard indicator: USGS","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"assess_property_hazard_x402","name":"assess property hazard x402","description":"PAID via x402 (USDC on Base Sepolia testnet, ~$0.20/call) — no GISGP account or API key needed, the agent pays directly on-chain. Multi-source US property hazard indicator (USGS seismic + FEMA disaste","tags":["gis","geospatial","free","x402"],"inputModes":null,"outputModes":null},{"id":"assess_protected_area_proximity","name":"assess protected area proximity","description":"US protected/conservation area proximity via USGS PAD-US (public","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"assess_reforestation_site","name":"assess reforestation site","description":"PAID (100 credits) — reforestation/afforestation site-scouting","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"assess_renewable_site","name":"assess renewable site","description":"One-call solar/wind site-scouting indicator: terrain + land cover +","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"assess_site_due_diligence","name":"assess site due diligence","description":"PAID (300 credits) — master due-diligence report for a point: wraps","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"assess_supply_chain_redundancy","name":"assess supply chain redundancy","description":"PAID (400 credits) — checks whether two supposedly-redundant sites","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"assess_telecom_site","name":"assess telecom site","description":"One-call cell tower site-scouting indicator: grid proximity + terrain","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"assess_wildfire_risk","name":"assess wildfire risk","description":"Real-time active wildfire proximity at a point via NASA FIRMS","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"audit_service","name":"audit service","description":"Full one-call QA report of an ArcGIS FeatureServer layer: health (latency,","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"buffer_geojson","name":"buffer geojson","description":"Buffer every feature by a distance in METRES (negative shrinks).","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"bundle_create_export_schedule","name":"bundle create export schedule","description":"PAID PER DELIVERY (30 credits each time it fires, NOT at creation — free to","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"bundle_export_fixed","name":"bundle export fixed","description":"PAID (150 credits) — fetch ALL records from a live FeatureServer layer","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"bundle_export_multi_format","name":"bundle export multi format","description":"PAID (120 credits) — fetch ALL records from a live FeatureServer layer","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"bundle_geocode_enrich","name":"bundle geocode enrich","description":"PAID (30 credits PER ADDRESS, max 10 addresses/call) — batch geocode","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"bundle_migrate_convert","name":"bundle migrate convert","description":"PAID (40 credits) — one-call file migration: convert a raw file to","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"bundle_migration_readiness","name":"bundle migration readiness","description":"PAID (100 credits) — migration-readiness report comparing two","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"calculate_route","name":"calculate route","description":"Real driving distance + duration between two points. Default: OSRM","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"cancel_export_schedule","name":"cancel export schedule","description":"FREE — cancel a schedule created by bundle_create_export_schedule. Only","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"centroids_geojson","name":"centroids geojson","description":"Get the center point of each polygon/line feature — e.g. \"find the","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"check_field_types","name":"check field types","description":"Inspect the field schema of an ArcGIS FeatureServer layer.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"check_service_health","name":"check service health","description":"Check whether an ArcGIS FeatureServer layer is reachable and responsive.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"check_wallet_balance","name":"check wallet balance","description":"FREE — check your own MCP credits wallet balance (the same account","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"classify_land_cover","name":"classify land cover","description":"Land cover class at a WGS84 point via ESA CCI Land Cover 2018 (ArcGIS","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"compare_schemas","name":"compare schemas","description":"Compare the field schemas of two ArcGIS FeatureServer layers.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"convert_coordinates","name":"convert coordinates","description":"Convert coordinate pairs between EPSG coordinate systems (max 1000 points).","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"convex_hull_geojson","name":"convex hull geojson","description":"Draw the smallest polygon that wraps around all input features (a","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"count_features","name":"count features","description":"Count features in an ArcGIS FeatureServer layer, optionally filtered by a WHERE clause.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"csv_to_geojson","name":"csv to geojson","description":"Convert a CSV/spreadsheet with lat/lon (or X/Y) columns to GeoJSON —","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"csv_to_gpx","name":"csv to gpx","description":"Convert a CSV with latitude/longitude columns directly to GPX","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"detect_coordinate_order","name":"detect coordinate order","description":"Detect whether [x, y] pairs are [lon, lat] or [lat, lon] — resolves","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"discover_open_geodata","name":"discover open geodata","description":"Keyword search across ArcGIS Hub Open Data — real public","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"discover_open_geodata_pro","name":"discover open geodata pro","description":"PAID (30 credits) — open-data discovery with the metadata an agent","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"dissolve_geojson","name":"dissolve geojson","description":"Merge overlapping/adjacent geometries into one (optionally grouped by a","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"dxf_to_geojson","name":"dxf to geojson","description":"Convert an AutoCAD DXF file's contents to GeoJSON — e.g. \"convert","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"dxf_to_pdf_report","name":"dxf to pdf report","description":"PAID (150 credits) — render a DXF drawing to a one-page PDF site-plan","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"embed_map_snippet","name":"embed map snippet","description":"Ready-to-paste <iframe> embed code for a live interactive map — thin","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"envelope_geojson","name":"envelope geojson","description":"Get the bounding box (min/max rectangle) around each feature — e.g.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"epsg_suggest","name":"epsg suggest","description":"Suggest the correct UTM EPSG code to project a WGS84 lon/lat into for","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"estimate_cost","name":"estimate cost","description":"FREE — quote a paid tool's cost WITHOUT executing it or charging the","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"export_geojson_to_excel","name":"export geojson to excel","description":"PAID (80 credits) — convert a GeoJSON FeatureCollection to an Excel","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"export_geojson_to_pdf","name":"export geojson to pdf","description":"PAID (150 credits) — render an ad-hoc GeoJSON FeatureCollection to a","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"extract_domains","name":"extract domains","description":"Extract coded value domains from an ArcGIS FeatureServer layer.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"find_layer_issues","name":"find layer issues","description":"Scan an ArcGIS FeatureServer layer for common problems: missing ObjectID,","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"fix_geometry","name":"fix geometry","description":"Repair invalid geometries (self-intersections, bad rings) via GEOS","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"flatgeobuf_to_geojson","name":"flatgeobuf to geojson","description":"Convert a FlatGeobuf file (base64-encoded .fgb) to a GeoJSON","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"format_coordinate","name":"format coordinate","description":"Express one WGS84 point in every common notation at once: decimal","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"full_service_audit","name":"full service audit","description":"Complete one-call QA report: A-F grade + full audit (health/fields/","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"generate_static_map_image","name":"generate static map image","description":"Render a GeoJSON FeatureCollection/Feature to a static PNG map image","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geocode_address","name":"geocode address","description":"Forward-geocode a free-text address to lon/lat. Default: OSM Nominatim","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geojson_diff","name":"geojson diff","description":"Compare two GeoJSON FeatureCollections — added/removed/changed features.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geojson_to_csv","name":"geojson to csv","description":"Convert GeoJSON to CSV/spreadsheet — one row per feature, properties","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geojson_to_dxf","name":"geojson to dxf","description":"Convert GeoJSON to an AutoCAD DXF file — e.g. \"export this GeoJSON","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geojson_to_flatgeobuf","name":"geojson to flatgeobuf","description":"Convert GeoJSON to FlatGeobuf (.fgb) — the cloud-native binary","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geojson_to_gpx","name":"geojson to gpx","description":"Convert GeoJSON to a GPX file — e.g. \"export this as a GPS track\",","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geojson_to_kml","name":"geojson to kml","description":"Convert GeoJSON to KML for Google Earth / Google My Maps (e.g. \"open","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geojson_to_mapinfo_tab","name":"geojson to mapinfo tab","description":"Convert GeoJSON to a MapInfo TAB file set, ready for MapInfo Pro.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geojson_to_shapefile","name":"geojson to shapefile","description":"Convert GeoJSON to an Esri Shapefile ZIP — the format ArcGIS Desktop","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geojson_to_wkt","name":"geojson to wkt","description":"Convert a GeoJSON geometry (or a Feature's geometry) to WKT — the","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geometry_health_report","name":"geometry health report","description":"Complete one-call GeoJSON health check: validate + auto-repair invalid","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"geometry_stats","name":"geometry stats","description":"Compute area (m²/km²), length (m/km), vertex count, centroid and bbox of GeoJSON.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"georeference_dxf","name":"georeference dxf","description":"Reproject a DXF drawn in a local/arbitrary CAD coordinate system","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"get_climate_history","name":"get climate history","description":"Daily historical weather for a point/date range via Open-Meteo's","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"get_elevation_profile","name":"get elevation profile","description":"PAID (50 credits) — elevation PROFILE along a line, not a single point:","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"get_river_flow_status","name":"get river flow status","description":"Nearest USGS real-time stream/river gauge to a point (US rivers and","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"get_terrain_profile","name":"get terrain profile","description":"Get the ground elevation (metres above sea level) at a coordinate —","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"gpx_to_csv","name":"gpx to csv","description":"Convert a GPS track file (GPX) directly to CSV (2026-09-03) —","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"gpx_to_geojson","name":"gpx to geojson","description":"Convert a GPS track/route file (GPX — from Garmin, Strava exports,","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"gpx_to_kml","name":"gpx to kml","description":"Convert a GPS track file (GPX) directly to KML for Google Earth —","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"gpx_to_shapefile","name":"gpx to shapefile","description":"Convert a GPS track file (GPX) directly to an Esri Shapefile ZIP —","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"grade_service","name":"grade service","description":"Grade an ArcGIS FeatureServer layer A–F across 5 categories (schema quality,","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"guess_crs_from_coordinates","name":"guess crs from coordinates","description":"Best-guess candidate CRS for raw [x, y] coordinates with no metadata","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"kml_to_geojson","name":"kml to geojson","description":"Convert Google Earth / Google My Maps KML (2.0–2.2) to GeoJSON — the","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"kml_to_gpx","name":"kml to gpx","description":"Convert a Google Earth/My Maps KML file directly to GPX — waypoints","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"kml_to_shapefile","name":"kml to shapefile","description":"Convert a Google Earth/My Maps KML file directly to an Esri Shapefile","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"list_dxf_layers","name":"list dxf layers","description":"List the distinct DXF layer names used in a drawing — e.g. \"what","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"mapinfo_tab_to_geojson","name":"mapinfo tab to geojson","description":"Convert a MapInfo TAB file set (base64-encoded .zip containing","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"minimum_rotated_rectangle","name":"minimum rotated rectangle","description":"Smallest-area rectangle wrapping all input features combined — can be","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"nearest_features_geojson","name":"nearest features geojson","description":"For each feature in A, find the nearest feature in B by centroid-to-","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"offset_coordinates","name":"offset coordinates","description":"Move a WGS84 point by a geodesic distance (metres) along a compass","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"overlay_geojson","name":"overlay geojson","description":"Combine two GeoJSON FeatureCollections with a boolean set operation.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"parse_coordinate","name":"parse coordinate","description":"Parse ANY single coordinate string a human might paste into WGS84","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"query_features","name":"query features","description":"Fetch actual feature records (attributes + geometry) from a FeatureServer layer.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"query_statistics","name":"query statistics","description":"Server-side aggregate stats on a numeric field of a FeatureServer layer.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"rank_hazard_safe_sites","name":"rank hazard safe sites","description":"PAID (200 credits PER CANDIDATE, max 25 candidates/call) — bulk seismic-","tags":["gis","geospatial","paid"],"inputModes":null,"outputModes":null},{"id":"rank_renewable_sites","name":"rank renewable sites","description":"Bulk solar/wind site screener — evaluates up to 25 candidate points","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"reduce_precision","name":"reduce precision","description":"Round every coordinate to N decimal places to shrink a GeoJSON file's","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"reproject_geojson","name":"reproject geojson","description":"Change a GeoJSON's coordinate reference system (CRS/projection) —","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"rest_explore","name":"rest explore","description":"List the layers and tables of an ArcGIS FeatureServer/MapServer root.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"shapefile_to_geojson","name":"shapefile to geojson","description":"Convert a Shapefile ZIP (base64-encoded .zip with .shp/.dbf/.shx[/.prj])","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"shapefile_to_gpx","name":"shapefile to gpx","description":"Convert a Shapefile ZIP (base64-encoded .zip with .shp/.dbf/.shx[/.prj])","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"share_map","name":"share map","description":"Publish a GeoJSON FeatureCollection as a live, shareable map page on gisgp.com.","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"simplify_geometry","name":"simplify geometry","description":"Reduce the number of vertices in GeoJSON geometry (Douglas-Peucker","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"spatial_join_geojson","name":"spatial join geojson","description":"Attach properties from every B feature that satisfies a spatial","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"tile_math","name":"tile math","description":"Convert a WGS84 lon/lat + zoom level to Slippy Map (XYZ) tile x/y,","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"validate_geojson","name":"validate geojson","description":"Check whether a GeoJSON file/string is valid — catches broken geometry,","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"voronoi_geojson","name":"voronoi geojson","description":"Divide space into regions closest to each input point (Voronoi","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null},{"id":"wkt_to_geojson","name":"wkt to geojson","description":"Convert a WKT (Well-Known Text) geometry string — the format","tags":["gis","geospatial","free"],"inputModes":null,"outputModes":null}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"name","before":null,"after":"GISGP"},{"field":"description","before":null,"after":"Hosted geospatial tool server for AI agents: coordinate conversion, format conversion (GeoJSON/Shapefile/KML/GPX/DXF/CSV), open-data discovery, terrain, land cover, protected areas, hazard and site assessments. Wire protocol is MCP (Streamable HTTP, JSON-RPC over POST /mcp) — 106 tools, 87 free without signup, 19 paid via credits or x402."},{"field":"version","before":null,"after":"1.2.5"},{"field":"url","before":null,"after":"https://gisgp.com/mcp"},{"field":"documentationUrl","before":null,"after":"https://gisgp.com/api"},{"field":"capabilities","before":null,"after":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false}},{"field":"provider","before":null,"after":{"organization":"GISGP","url":"https://gisgp.com"}}],"other_changed":true,"is_empty":false,"human_summary":"added 106 skills · name ∅ → GISGP · description ∅ → Hosted geospatial tool server for AI age · version ∅ → 1.2.5 · url ∅ → https://gisgp.com/mcp · documentationUrl ∅ → https://gisgp.com/api · capabilities ∅ → none · provider ∅ → GISGP"}}]}