Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
70
💰 Paid API data live JSON-RPC v1.2.5 x402 micropay

GISGP

gisgp.com · GISGP

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.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain gisgp.com via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
70/100
grade C · 9 criteria
Uptime
100.0%
41 direct probes · 30d
~118 ms response
Observed inflow · 30d
$0.00
wallet scanned · no inflow
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
4 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

C
Conformance score: 70/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown click to collapse breakdown
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~118 ms).
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 15/15
41/41 probes succeeded (100% uptime).
pass Skill declaration 10/10
Declares 112 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: GISGP (https://gisgp.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs
pass Freshness + modern flags 5/5
declares 1 modern capability flag(s) (x402); seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.
Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded
0
invocations 7d
reached the endpoint through us
0
lookups 7d
our API answered about it
0
impressions 7d
appeared in a result list
Per event type (7d)
1
search_click
Recent events (last 20)
When Event Method Status Latency
2026-10-18T21:39:00 search_click /agents — ok 1ms
2026-10-17T16:17:59 search_click /agents — ok 2ms
2026-10-15T04:40:40 search_click /agents — ok 1ms
2026-10-14T08:35:01 search_click /agents — ok 2ms
2026-10-13T08:51:33 search_click /agents — ok 215ms
2026-10-12T08:07:41 search_click /agents — ok 3ms
2026-10-11T12:42:42 search_click /agents — ok 29ms
2026-10-10T18:52:19 search_click /agents — ok 7ms
2026-10-10T01:33:49 search_click /agents — ok 2ms
2026-10-09T01:45:04 search_click /agents — ok 3ms
2026-10-08T20:23:07 search_click /agents — ok 3ms
2026-10-08T07:25:18 search_click /agents — ok 2ms
2026-10-07T00:05:59 search_click /agents — ok 11ms

Card history

4 snapshots drifted 3× Every change to agent-card.json
Agent card snapshots
Captured Hash Snapshot
2026-10-23 21:38:40 current 028b5e3c3385… view →
2026-10-19 03:48:32 07d22ed26036… view →
2026-10-18 14:33:50 b7decc01da7a… view →
2026-10-04 10:42:46 09cf2373b410… view →
Uptime
100.0%
41 direct probes · 30d
Response
147ms
last direct probe
Skills
112
declared
Streaming
—
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent… ⌘/Ctrl + Enter

Endpoints

Pricing x402 on Base USDC Verified live · 402 challenge Dispute or improve this rating
From $0.2000 per call
Endpoint Price Currency
https://gisgp.com/x402/hazard 0.2 USDC
Try it ↗ Opens the operator's playground / docs in a new tab.
Settlement wallet: 0x6628b0d84f37ba232d013c1837074a07a43366dc on Base · basescan ↗
Observed on-chain inflow verified on-chain
Last 7d
$0.00
0 transfers · synced 2026-10-25
Last 30d
$0.00
0 transfers · synced 2026-10-25
USDC inflows on Base. Reproducible via eth_getLogs on USDC Transfer events to the wallet. Inflow to a wallet, not proof that every transfer was a paid call.
Daily 30-day observed-inflow history
2026-10-04 2026-10-25
Last 30 days Peak 30-day total: $0.00 Data points: 22 Total tx (30d window): 0
Agent cardhttps://gisgp.com/.well-known/agent-card.json
Providerhttps://gisgp.com
Docshttps://gisgp.com/api
Discovered via
x402_list mcp_registry recrawl_warm recrawl_hot

Skills · 112 declared by this agent

These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.

convert coordinates

Convert coordinate pairs between EPSG coordinate systems (max 1000 points).

No taxonomy category yet
gisgeospatialfree
validate geojson

Check whether a GeoJSON file/string is valid — catches broken geometry,

canonical JSON Schema Validation match 90%
gisgeospatialfree
geojson to csv

Convert GeoJSON to CSV/spreadsheet — one row per feature, properties

canonical CSV JSON Conversion match 93%
gisgeospatialfree
count features

Count features in an ArcGIS FeatureServer layer, optionally filtered by a WHERE clause.

No taxonomy category yet
gisgeospatialfree
extract domains

Extract coded value domains from an ArcGIS FeatureServer layer.

No taxonomy category yet
gisgeospatialfree
check field types

Inspect the field schema of an ArcGIS FeatureServer layer.

No taxonomy category yet
gisgeospatialfree
check service health

Check whether an ArcGIS FeatureServer layer is reachable and responsive.

canonical Process Status Retrieval match 88%
gisgeospatialfree
rest explore

List the layers and tables of an ArcGIS FeatureServer/MapServer root.

No taxonomy category yet
gisgeospatialfree
compare schemas

Compare the field schemas of two ArcGIS FeatureServer layers.

No taxonomy category yet
gisgeospatialfree
shapefile to geojson

Convert a Shapefile ZIP (base64-encoded .zip with .shp/.dbf/.shx[/.prj])

canonical CSV JSON Conversion match 89%
gisgeospatialfree
kml to geojson

Convert Google Earth / Google My Maps KML (2.0–2.2) to GeoJSON — the

canonical CSV JSON Conversion match 87%
gisgeospatialfree
gpx to geojson

Convert a GPS track/route file (GPX — from Garmin, Strava exports,

canonical CSV JSON Conversion match 88%
gisgeospatialfree
geojson to gpx

Convert GeoJSON to a GPX file — e.g. "export this as a GPS track",

canonical CSV JSON Conversion match 89%
gisgeospatialfree
flatgeobuf to geojson

Convert a FlatGeobuf file (base64-encoded .fgb) to a GeoJSON

canonical CSV JSON Conversion match 87%
gisgeospatialfree
geojson to flatgeobuf

Convert GeoJSON to FlatGeobuf (.fgb) — the cloud-native binary

No taxonomy category yet
gisgeospatialfree
mapinfo tab to geojson

Convert a MapInfo TAB file set (base64-encoded .zip containing

canonical CSV JSON Conversion match 87%
gisgeospatialfree
geojson to mapinfo tab

Convert GeoJSON to a MapInfo TAB file set, ready for MapInfo Pro.

canonical CSV JSON Conversion match 88%
gisgeospatialfree
query features

Fetch actual feature records (attributes + geometry) from a FeatureServer layer.

canonical Maps and Routing match 86%
gisgeospatialfree
query statistics

Server-side aggregate stats on a numeric field of a FeatureServer layer.

No taxonomy category yet
gisgeospatialfree
geometry stats

Compute area (m²/km²), length (m/km), vertex count, centroid and bbox of GeoJSON.

canonical Maps and Routing match 87%
gisgeospatialfree
reproject geojson

Change a GeoJSON's coordinate reference system (CRS/projection) —

No taxonomy category yet
gisgeospatialfree
simplify geometry

Reduce the number of vertices in GeoJSON geometry (Douglas-Peucker

No taxonomy category yet
gisgeospatialfree
reduce precision

Round every coordinate to N decimal places to shrink a GeoJSON file's

No taxonomy category yet
gisgeospatialfree
csv to geojson

Convert a CSV/spreadsheet with lat/lon (or X/Y) columns to GeoJSON —

canonical CSV JSON Conversion match 92%
gisgeospatialfree
geojson to kml

Convert GeoJSON to KML for Google Earth / Google My Maps (e.g. "open

canonical CSV JSON Conversion match 87%
gisgeospatialfree
geojson to shapefile

Convert GeoJSON to an Esri Shapefile ZIP — the format ArcGIS Desktop

canonical CSV JSON Conversion match 88%
gisgeospatialfree
gpx to kml

Convert a GPS track file (GPX) directly to KML for Google Earth —

No taxonomy category yet
gisgeospatialfree
kml to shapefile

Convert a Google Earth/My Maps KML file directly to an Esri Shapefile

No taxonomy category yet
gisgeospatialfree
kml to gpx

Convert a Google Earth/My Maps KML file directly to GPX — waypoints

No taxonomy category yet
gisgeospatialfree
shapefile to gpx

Convert a Shapefile ZIP (base64-encoded .zip with .shp/.dbf/.shx[/.prj])

No taxonomy category yet
gisgeospatialfree
gpx to shapefile

Convert a GPS track file (GPX) directly to an Esri Shapefile ZIP —

No taxonomy category yet
gisgeospatialfree
csv to gpx

Convert a CSV with latitude/longitude columns directly to GPX

canonical CSV JSON Conversion match 89%
gisgeospatialfree
gpx to csv

Convert a GPS track file (GPX) directly to CSV (2026-09-03) —

canonical CSV JSON Conversion match 89%
gisgeospatialfree
wkt to geojson

Convert a WKT (Well-Known Text) geometry string — the format

No taxonomy category yet
gisgeospatialfree
geojson to wkt

Convert a GeoJSON geometry (or a Feature's geometry) to WKT — the

No taxonomy category yet
gisgeospatialfree
dxf to geojson

Convert an AutoCAD DXF file's contents to GeoJSON — e.g. "convert

canonical CSV JSON Conversion match 88%
gisgeospatialfree
geojson to dxf

Convert GeoJSON to an AutoCAD DXF file — e.g. "export this GeoJSON

canonical CSV JSON Conversion match 88%
gisgeospatialfree
list dxf layers

List the distinct DXF layer names used in a drawing — e.g. "what

No taxonomy category yet
gisgeospatialfree
georeference dxf

Reproject a DXF drawn in a local/arbitrary CAD coordinate system

No taxonomy category yet
gisgeospatialfree
dxf to pdf report

PAID (150 credits) — render a DXF drawing to a one-page PDF site-plan

No taxonomy category yet
gisgeospatialpaid
grade service

Grade an ArcGIS FeatureServer layer A–F across 5 categories (schema quality,

No taxonomy category yet
gisgeospatialfree
audit service

Full one-call QA report of an ArcGIS FeatureServer layer: health (latency,

No taxonomy category yet
gisgeospatialfree
find layer issues

Scan an ArcGIS FeatureServer layer for common problems: missing ObjectID,

No taxonomy category yet
gisgeospatialfree
share map

Publish a GeoJSON FeatureCollection as a live, shareable map page on gisgp.com.

No taxonomy category yet
gisgeospatialfree
embed map snippet

Ready-to-paste <iframe> embed code for a live interactive map — thin

No taxonomy category yet
gisgeospatialfree
buffer geojson

Buffer every feature by a distance in METRES (negative shrinks).

No taxonomy category yet
gisgeospatialfree
dissolve geojson

Merge overlapping/adjacent geometries into one (optionally grouped by a

No taxonomy category yet
gisgeospatialfree
centroids geojson

Get the center point of each polygon/line feature — e.g. "find the

No taxonomy category yet
gisgeospatialfree
convex hull geojson

Draw the smallest polygon that wraps around all input features (a

No taxonomy category yet
gisgeospatialfree
overlay geojson

Combine two GeoJSON FeatureCollections with a boolean set operation.

No taxonomy category yet
gisgeospatialfree
spatial join geojson

Attach properties from every B feature that satisfies a spatial

No taxonomy category yet
gisgeospatialfree
nearest features geojson

For each feature in A, find the nearest feature in B by centroid-to-

No taxonomy category yet
gisgeospatialfree
fix geometry

Repair invalid geometries (self-intersections, bad rings) via GEOS

canonical Maps and Routing match 87%
gisgeospatialfree
geojson diff

Compare two GeoJSON FeatureCollections — added/removed/changed features.

No taxonomy category yet
gisgeospatialfree
epsg suggest

Suggest the correct UTM EPSG code to project a WGS84 lon/lat into for

No taxonomy category yet
gisgeospatialfree
tile math

Convert a WGS84 lon/lat + zoom level to Slippy Map (XYZ) tile x/y,

No taxonomy category yet
gisgeospatialfree
envelope geojson

Get the bounding box (min/max rectangle) around each feature — e.g.

No taxonomy category yet
gisgeospatialfree
minimum rotated rectangle

Smallest-area rectangle wrapping all input features combined — can be

No taxonomy category yet
gisgeospatialfree
voronoi geojson

Divide space into regions closest to each input point (Voronoi

No taxonomy category yet
gisgeospatialfree
full service audit

Complete one-call QA report: A-F grade + full audit (health/fields/

No taxonomy category yet
gisgeospatialfree
geometry health report

Complete one-call GeoJSON health check: validate + auto-repair invalid

canonical JSON Schema Validation match 87%
gisgeospatialfree
get terrain profile

Get the ground elevation (metres above sea level) at a coordinate —

canonical Maps and Routing match 86%
gisgeospatialfree
get climate history

Daily historical weather for a point/date range via Open-Meteo's

canonical Weather Forecast and Alerts match 87%
gisgeospatialfree
classify land cover

Land cover class at a WGS84 point via ESA CCI Land Cover 2018 (ArcGIS

No taxonomy category yet
gisgeospatialfree
analyze location

Reverse-geocode a WGS84 point to country/region/locality via OSM

canonical Maps and Routing match 88%
gisgeospatialfree
geocode address

Forward-geocode a free-text address to lon/lat. Default: OSM Nominatim

No taxonomy category yet
gisgeospatialfree
offset coordinates

Move a WGS84 point by a geodesic distance (metres) along a compass

No taxonomy category yet
gisgeospatialfree
detect coordinate order

Detect whether [x, y] pairs are [lon, lat] or [lat, lon] — resolves

canonical Maps and Routing match 87%
gisgeospatialfree
guess crs from coordinates

Best-guess candidate CRS for raw [x, y] coordinates with no metadata

No taxonomy category yet
gisgeospatialfree
parse coordinate

Parse ANY single coordinate string a human might paste into WGS84

No taxonomy category yet
gisgeospatialfree
format coordinate

Express one WGS84 point in every common notation at once: decimal

No taxonomy category yet
gisgeospatialfree
generate static map image

Render a GeoJSON FeatureCollection/Feature to a static PNG map image

canonical Webpage Screenshot Capture match 88%
gisgeospatialfree
assess grid exposure

Electric grid infrastructure proximity at a US point: nearby

No taxonomy category yet
gisgeospatialfree
assess renewable site

One-call solar/wind site-scouting indicator: terrain + land cover +

No taxonomy category yet
gisgeospatialfree
assess pipeline proximity

Natural gas interstate/intrastate transmission pipeline proximity at

No taxonomy category yet
gisgeospatialfree
assess protected area proximity

US protected/conservation area proximity via USGS PAD-US (public

No taxonomy category yet
gisgeospatialfree
get river flow status

Nearest USGS real-time stream/river gauge to a point (US rivers and

No taxonomy category yet
gisgeospatialfree
discover open geodata

Keyword search across ArcGIS Hub Open Data — real public

canonical Government Open Data match 87%
gisgeospatialfree
assess ev charging site

One-call EV charging site-scouting indicator: grid proximity (power

No taxonomy category yet
gisgeospatialfree
assess telecom site

One-call cell tower site-scouting indicator: grid proximity + terrain

No taxonomy category yet
gisgeospatialfree
rank renewable sites

Bulk solar/wind site screener — evaluates up to 25 candidate points

No taxonomy category yet
gisgeospatialfree
assess wildfire risk

Real-time active wildfire proximity at a point via NASA FIRMS

No taxonomy category yet
gisgeospatialfree
calculate route

Real driving distance + duration between two points. Default: OSRM

canonical Maps and Routing match 90%
gisgeospatialfree
estimate cost

FREE — quote a paid tool's cost WITHOUT executing it or charging the

canonical Moving and Storage Quotes match 87%
gisgeospatialfree
check wallet balance

FREE — check your own MCP credits wallet balance (the same account

No taxonomy category yet
gisgeospatialfree
assess property hazard

PAID (200 credits) — multi-source US property hazard indicator: USGS

No taxonomy category yet
gisgeospatialpaid
rank hazard safe sites

PAID (200 credits PER CANDIDATE, max 25 candidates/call) — bulk seismic-

No taxonomy category yet
gisgeospatialpaid
assess portfolio climate disclosure

PAID (200 credits PER PROPERTY, max 25 properties/call) — bulk physical

No taxonomy category yet
gisgeospatialpaid
assess supply chain redundancy

PAID (400 credits) — checks whether two supposedly-redundant sites

No taxonomy category yet
gisgeospatialpaid
assess energy community credit

PAID (100 credits) — US Inflation Reduction Act "energy community"

No taxonomy category yet
gisgeospatialpaid
assess datacenter site

PAID (300 credits) — data center site-scouting composite: grid

No taxonomy category yet
gisgeospatialpaid
assess reforestation site

PAID (100 credits) — reforestation/afforestation site-scouting

No taxonomy category yet
gisgeospatialpaid
get elevation profile

PAID (50 credits) — elevation PROFILE along a line, not a single point:

No taxonomy category yet
gisgeospatialpaid
discover open geodata pro

PAID (30 credits) — open-data discovery with the metadata an agent

No taxonomy category yet
gisgeospatialpaid
assess airspace obstruction proximity

PAID (100 credits) — nearby FAA-registered vertical obstructions

No taxonomy category yet
gisgeospatialpaid
assess site due diligence

PAID (300 credits) — master due-diligence report for a point: wraps

No taxonomy category yet
gisgeospatialpaid
export geojson to pdf

PAID (150 credits) — render an ad-hoc GeoJSON FeatureCollection to a

No taxonomy category yet
gisgeospatialpaid
export geojson to excel

PAID (80 credits) — convert a GeoJSON FeatureCollection to an Excel

canonical CSV JSON Conversion match 87%
gisgeospatialpaid
bundle migrate convert

PAID (40 credits) — one-call file migration: convert a raw file to

No taxonomy category yet
gisgeospatialpaid
bundle export fixed

PAID (150 credits) — fetch ALL records from a live FeatureServer layer

No taxonomy category yet
gisgeospatialpaid
bundle export multi format

PAID (120 credits) — fetch ALL records from a live FeatureServer layer

No taxonomy category yet
gisgeospatialpaid
bundle migration readiness

PAID (100 credits) — migration-readiness report comparing two

No taxonomy category yet
gisgeospatialpaid
bundle geocode enrich

PAID (30 credits PER ADDRESS, max 10 addresses/call) — batch geocode

No taxonomy category yet
gisgeospatialpaid
bundle create export schedule

PAID PER DELIVERY (30 credits each time it fires, NOT at creation — free to

No taxonomy category yet
gisgeospatialfree
cancel export schedule

FREE — cancel a schedule created by bundle_create_export_schedule. Only

No taxonomy category yet
gisgeospatialfree
assess property hazard x402

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 hazar…

canonical AI Inference Query match 90%
gisgeospatialfreex402
generate contours

GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) — pass the api_key of that

No taxonomy category yet
gisgeospatialpaid
plss lookup

GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) — pass the api_key of that

No taxonomy category yet
gisgeospatialpaid
plss find

GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) — pass the api_key of that

No taxonomy category yet
gisgeospatialpaid
guess crs

GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) — pass the api_key of that

No taxonomy category yet
gisgeospatialpaid
get elevation

GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) — pass the api_key of that

No taxonomy category yet
gisgeospatialpaid
convert file

GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) — pass the api_key of that

No taxonomy category yet
gisgeospatialpaid

Health · last 30 probes

When HTTP Live JSON-RPC Latency
2026-10-25 13:07:06 200 ✓ 147ms
2026-10-24 23:11:57 200 ✓ 186ms
2026-10-24 10:59:22 200 ✓ 192ms
2026-10-23 21:38:40 200 ✓ 157ms
2026-10-23 09:11:54 200 ✓ 125ms
2026-10-22 20:33:42 200 ✓ 412ms
2026-10-22 06:58:40 200 ✓ 211ms
2026-10-21 18:03:02 200 ✓ 136ms
2026-10-21 04:46:13 200 ✓ 211ms
2026-10-20 12:37:59 200 ✓ 209ms

Who's calling this agent 30d

13 interactions captured (impressions + lookups + A2A calls)

By AI host (caller_kind) · top 3
MJ12bot / Majestic (SEO tool) 12 (92%)
PerplexityBot (crawler) 1 (8%)
Caller geography · top 3
FR 10
US 1
FI 1
Via which API surface · top 3
web 13

Public view: top 3 per dimension. Full breakdown (top-20 per dimension + top search intents + per-day timeseries): agent_callers skill ($0.05/call, $0 on Enterprise). Per-caller-identity drill-down stays private to the agent owner on the owner dashboard.

Cheaper or better alternatives per-skill

↓ 9 skills cheaper elsewhere peak save 99.6%

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

StudioMCPHub
27 creative AI tools and art datasets for autonomous agents. 5-model ESRGAN upscaling, background removal, product mockups, color profile co
q 71%
thinair-geo
ThinAir Geo — full-stack geo tools for AI agents via MCP. One server covering geocoding, multi-profile routing (auto, truck, bicycle, pedest
ThinAir · q 80%
fresh-feeds live
Continuously-maintained, machine-readable data + trust feeds for AI agents: the MCP server registry (deduped, quality-scored) and the x402 s
FOOM — foomworks · q 100%
ExChek Export Compliance Engine
Export compliance for SMB manufacturers, delivered through ExChek's hosted MCP server at https://api.exchek.us/mcp — 43 tools (18 free, no a
ExChek, Inc. · q 76%
NAIF Gravity SOS — MCP, API, Webhook & JSON Rescue live
NAIF Gravity offers free bounded MCP/API/webhook/JSON diagnostics and discovery of 28 published technical services: JSON/CSV data checks, AP
NAIF · q 100%
MapleAI
Pay-per-request AI API on Polygon mainnet: GPT chat, image generation/editing, Jev structured decisions, free embeddings and prepaid token p
MapleAI · q 78%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/gisgp.com.svg)](https://agenstry.com/agents/gisgp.com)
[![Verified Business](https://agenstry.com/badge/gisgp.com/identity.svg)](https://agenstry.com/agents/gisgp.com)
[![Uptime](https://agenstry.com/badge/gisgp.com/uptime.svg)](https://agenstry.com/agents/gisgp.com)
[![A2A version](https://agenstry.com/badge/gisgp.com/protocol.svg)](https://agenstry.com/agents/gisgp.com)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "GISGP",
  "description": "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) \u2014 112 tools, 87 free without signup, 25 paid via credits or x402.",
  "url": "https://gisgp.com/mcp",
  "protocol": "mcp",
  "interfaces": [
    {
      "transport": "mcp-streamable-http",
      "url": "https://gisgp.com/mcp"
    }
  ],
  "provider": {
    "organization": "GISGP",
    "url": "https://gisgp.com"
  },
  "version": "1.2.5",
  "documentationUrl": "https://gisgp.com/api",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "authentication": {
    "schemes": [
      "none",
      "bearer"
    ],
    "note": "Free tools need no auth. Paid tools: Bearer API key from https://gisgp.com/app/settings, or x402."
  },
  "trust": "https://gisgp.com/.well-known/tool-trust.json",
  "llms_txt": "https://gisgp.com/llms.txt",
  "skills": [
    {
      "id": "convert_coordinates",
      "name": "convert coordinates",
      "description": "Convert coordinate pairs between EPSG coordinate systems (max 1000 points).",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "validate_geojson",
      "name": "validate geojson",
      "description": "Check whether a GeoJSON file/string is valid \u2014 catches broken geometry,",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "geojson_to_csv",
      "name": "geojson to csv",
      "description": "Convert GeoJSON to CSV/spreadsheet \u2014 one row per feature, properties",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "count_features",
      "name": "count features",
      "description": "Count features in an ArcGIS FeatureServer layer, optionally filtered by a WHERE clause.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "extract_domains",
      "name": "extract domains",
      "description": "Extract coded value domains from an ArcGIS FeatureServer layer.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "check_field_types",
      "name": "check field types",
      "description": "Inspect the field schema of an ArcGIS FeatureServer layer.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "check_service_health",
      "name": "check service health",
      "description": "Check whether an ArcGIS FeatureServer layer is reachable and responsive.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "rest_explore",
      "name": "rest explore",
      "description": "List the layers and tables of an ArcGIS FeatureServer/MapServer root.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "compare_schemas",
      "name": "compare schemas",
      "description": "Compare the field schemas of two ArcGIS FeatureServer layers.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "kml_to_geojson",
      "name": "kml to geojson",
      "description": "Convert Google Earth / Google My Maps KML (2.0\u20132.2) to GeoJSON \u2014 the",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "gpx_to_geojson",
      "name": "gpx to geojson",
      "description": "Convert a GPS track/route file (GPX \u2014 from Garmin, Strava exports,",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "geojson_to_gpx",
      "name": "geojson to gpx",
      "description": "Convert GeoJSON to a GPX file \u2014 e.g. \"export this as a GPS track\",",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "flatgeobuf_to_geojson",
      "name": "flatgeobuf to geojson",
      "description": "Convert a FlatGeobuf file (base64-encoded .fgb) to a GeoJSON",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "geojson_to_flatgeobuf",
      "name": "geojson to flatgeobuf",
      "description": "Convert GeoJSON to FlatGeobuf (.fgb) \u2014 the cloud-native binary",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "query_features",
      "name": "query features",
      "description": "Fetch actual feature records (attributes + geometry) from a FeatureServer layer.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "query_statistics",
      "name": "query statistics",
      "description": "Server-side aggregate stats on a numeric field of a FeatureServer layer.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "geometry_stats",
      "name": "geometry stats",
      "description": "Compute area (m\u00b2/km\u00b2), length (m/km), vertex count, centroid and bbox of GeoJSON.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "reproject_geojson",
      "name": "reproject geojson",
      "description": "Change a GeoJSON's coordinate reference system (CRS/projection) \u2014",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "simplify_geometry",
      "name": "simplify geometry",
      "description": "Reduce the number of vertices in GeoJSON geometry (Douglas-Peucker",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "reduce_precision",
      "name": "reduce precision",
      "description": "Round every coordinate to N decimal places to shrink a GeoJSON file's",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "csv_to_geojson",
      "name": "csv to geojson",
      "description": "Convert a CSV/spreadsheet with lat/lon (or X/Y) columns to GeoJSON \u2014",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "geojson_to_shapefile",
      "name": "geojson to shapefile",
      "description": "Convert GeoJSON to an Esri Shapefile ZIP \u2014 the format ArcGIS Desktop",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "gpx_to_kml",
      "name": "gpx to kml",
      "description": "Convert a GPS track file (GPX) directly to KML for Google Earth \u2014",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "kml_to_gpx",
      "name": "kml to gpx",
      "description": "Convert a Google Earth/My Maps KML file directly to GPX \u2014 waypoints",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "gpx_to_shapefile",
      "name": "gpx to shapefile",
      "description": "Convert a GPS track file (GPX) directly to an Esri Shapefile ZIP \u2014",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "csv_to_gpx",
      "name": "csv to gpx",
      "description": "Convert a CSV with latitude/longitude columns directly to GPX",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "gpx_to_csv",
      "name": "gpx to csv",
      "description": "Convert a GPS track file (GPX) directly to CSV (2026-09-03) \u2014",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "wkt_to_geojson",
      "name": "wkt to geojson",
      "description": "Convert a WKT (Well-Known Text) geometry string \u2014 the format",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "geojson_to_wkt",
      "name": "geojson to wkt",
      "description": "Convert a GeoJSON geometry (or a Feature's geometry) to WKT \u2014 the",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "dxf_to_geojson",
      "name": "dxf to geojson",
      "description": "Convert an AutoCAD DXF file's contents to GeoJSON \u2014 e.g. \"convert",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "geojson_to_dxf",
      "name": "geojson to dxf",
      "description": "Convert GeoJSON to an AutoCAD DXF file \u2014 e.g. \"export this GeoJSON",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "list_dxf_layers",
      "name": "list dxf layers",
      "description": "List the distinct DXF layer names used in a drawing \u2014 e.g. \"what",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "georeference_dxf",
      "name": "georeference dxf",
      "description": "Reproject a DXF drawn in a local/arbitrary CAD coordinate system",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "dxf_to_pdf_report",
      "name": "dxf to pdf report",
      "description": "PAID (150 credits) \u2014 render a DXF drawing to a one-page PDF site-plan",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "grade_service",
      "name": "grade service",
      "description": "Grade an ArcGIS FeatureServer layer A\u2013F across 5 categories (schema quality,",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "audit_service",
      "name": "audit service",
      "description": "Full one-call QA report of an ArcGIS FeatureServer layer: health (latency,",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "find_layer_issues",
      "name": "find layer issues",
      "description": "Scan an ArcGIS FeatureServer layer for common problems: missing ObjectID,",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "share_map",
      "name": "share map",
      "description": "Publish a GeoJSON FeatureCollection as a live, shareable map page on gisgp.com.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "embed_map_snippet",
      "name": "embed map snippet",
      "description": "Ready-to-paste <iframe> embed code for a live interactive map \u2014 thin",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "buffer_geojson",
      "name": "buffer geojson",
      "description": "Buffer every feature by a distance in METRES (negative shrinks).",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "dissolve_geojson",
      "name": "dissolve geojson",
      "description": "Merge overlapping/adjacent geometries into one (optionally grouped by a",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "centroids_geojson",
      "name": "centroids geojson",
      "description": "Get the center point of each polygon/line feature \u2014 e.g. \"find the",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "convex_hull_geojson",
      "name": "convex hull geojson",
      "description": "Draw the smallest polygon that wraps around all input features (a",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "overlay_geojson",
      "name": "overlay geojson",
      "description": "Combine two GeoJSON FeatureCollections with a boolean set operation.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "spatial_join_geojson",
      "name": "spatial join geojson",
      "description": "Attach properties from every B feature that satisfies a spatial",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "fix_geometry",
      "name": "fix geometry",
      "description": "Repair invalid geometries (self-intersections, bad rings) via GEOS",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "geojson_diff",
      "name": "geojson diff",
      "description": "Compare two GeoJSON FeatureCollections \u2014 added/removed/changed features.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "envelope_geojson",
      "name": "envelope geojson",
      "description": "Get the bounding box (min/max rectangle) around each feature \u2014 e.g.",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "minimum_rotated_rectangle",
      "name": "minimum rotated rectangle",
      "description": "Smallest-area rectangle wrapping all input features combined \u2014 can be",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "voronoi_geojson",
      "name": "voronoi geojson",
      "description": "Divide space into regions closest to each input point (Voronoi",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "geometry_health_report",
      "name": "geometry health report",
      "description": "Complete one-call GeoJSON health check: validate + auto-repair invalid",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "get_terrain_profile",
      "name": "get terrain profile",
      "description": "Get the ground elevation (metres above sea level) at a coordinate \u2014",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "analyze_location",
      "name": "analyze location",
      "description": "Reverse-geocode a WGS84 point to country/region/locality via OSM",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "geocode_address",
      "name": "geocode address",
      "description": "Forward-geocode a free-text address to lon/lat. Default: OSM Nominatim",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "offset_coordinates",
      "name": "offset coordinates",
      "description": "Move a WGS84 point by a geodesic distance (metres) along a compass",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "detect_coordinate_order",
      "name": "detect coordinate order",
      "description": "Detect whether [x, y] pairs are [lon, lat] or [lat, lon] \u2014 resolves",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "parse_coordinate",
      "name": "parse coordinate",
      "description": "Parse ANY single coordinate string a human might paste into WGS84",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "format_coordinate",
      "name": "format coordinate",
      "description": "Express one WGS84 point in every common notation at once: decimal",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "assess_grid_exposure",
      "name": "assess grid exposure",
      "description": "Electric grid infrastructure proximity at a US point: nearby",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "assess_renewable_site",
      "name": "assess renewable site",
      "description": "One-call solar/wind site-scouting indicator: terrain + land cover +",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "assess_pipeline_proximity",
      "name": "assess pipeline proximity",
      "description": "Natural gas interstate/intrastate transmission pipeline proximity at",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "discover_open_geodata",
      "name": "discover open geodata",
      "description": "Keyword search across ArcGIS Hub Open Data \u2014 real public",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "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"
      ]
    },
    {
      "id": "assess_telecom_site",
      "name": "assess telecom site",
      "description": "One-call cell tower site-scouting indicator: grid proximity + terrain",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "rank_renewable_sites",
      "name": "rank renewable sites",
      "description": "Bulk solar/wind site screener \u2014 evaluates up to 25 candidate points",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "assess_wildfire_risk",
      "name": "assess wildfire risk",
      "description": "Real-time active wildfire proximity at a point via NASA FIRMS",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "calculate_route",
      "name": "calculate route",
      "description": "Real driving distance + duration between two points. Default: OSRM",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "estimate_cost",
      "name": "estimate cost",
      "description": "FREE \u2014 quote a paid tool's cost WITHOUT executing it or charging the",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "check_wallet_balance",
      "name": "check wallet balance",
      "description": "FREE \u2014 check your own MCP credits wallet balance (the same account",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "assess_property_hazard",
      "name": "assess property hazard",
      "description": "PAID (200 credits) \u2014 multi-source US property hazard indicator: USGS",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "rank_hazard_safe_sites",
      "name": "rank hazard safe sites",
      "description": "PAID (200 credits PER CANDIDATE, max 25 candidates/call) \u2014 bulk seismic-",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "assess_portfolio_climate_disclosure",
      "name": "assess portfolio climate disclosure",
      "description": "PAID (200 credits PER PROPERTY, max 25 properties/call) \u2014 bulk physical",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "assess_supply_chain_redundancy",
      "name": "assess supply chain redundancy",
      "description": "PAID (400 credits) \u2014 checks whether two supposedly-redundant sites",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "assess_energy_community_credit",
      "name": "assess energy community credit",
      "description": "PAID (100 credits) \u2014 US Inflation Reduction Act \"energy community\"",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "assess_datacenter_site",
      "name": "assess datacenter site",
      "description": "PAID (300 credits) \u2014 data center site-scouting composite: grid",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "assess_reforestation_site",
      "name": "assess reforestation site",
      "description": "PAID (100 credits) \u2014 reforestation/afforestation site-scouting",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "get_elevation_profile",
      "name": "get elevation profile",
      "description": "PAID (50 credits) \u2014 elevation PROFILE along a line, not a single point:",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "discover_open_geodata_pro",
      "name": "discover open geodata pro",
      "description": "PAID (30 credits) \u2014 open-data discovery with the metadata an agent",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "assess_airspace_obstruction_proximity",
      "name": "assess airspace obstruction proximity",
      "description": "PAID (100 credits) \u2014 nearby FAA-registered vertical obstructions",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "assess_site_due_diligence",
      "name": "assess site due diligence",
      "description": "PAID (300 credits) \u2014 master due-diligence report for a point: wraps",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "export_geojson_to_pdf",
      "name": "export geojson to pdf",
      "description": "PAID (150 credits) \u2014 render an ad-hoc GeoJSON FeatureCollection to a",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "export_geojson_to_excel",
      "name": "export geojson to excel",
      "description": "PAID (80 credits) \u2014 convert a GeoJSON FeatureCollection to an Excel",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "bundle_migrate_convert",
      "name": "bundle migrate convert",
      "description": "PAID (40 credits) \u2014 one-call file migration: convert a raw file to",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "bundle_export_fixed",
      "name": "bundle export fixed",
      "description": "PAID (150 credits) \u2014 fetch ALL records from a live FeatureServer layer",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "bundle_export_multi_format",
      "name": "bundle export multi format",
      "description": "PAID (120 credits) \u2014 fetch ALL records from a live FeatureServer layer",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "bundle_migration_readiness",
      "name": "bundle migration readiness",
      "description": "PAID (100 credits) \u2014 migration-readiness report comparing two",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "bundle_geocode_enrich",
      "name": "bundle geocode enrich",
      "description": "PAID (30 credits PER ADDRESS, max 10 addresses/call) \u2014 batch geocode",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "bundle_create_export_schedule",
      "name": "bundle create export schedule",
      "description": "PAID PER DELIVERY (30 credits each time it fires, NOT at creation \u2014 free to",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "cancel_export_schedule",
      "name": "cancel export schedule",
      "description": "FREE \u2014 cancel a schedule created by bundle_create_export_schedule. Only",
      "tags": [
        "gis",
        "geospatial",
        "free"
      ]
    },
    {
      "id": "assess_property_hazard_x402",
      "name": "assess property hazard x402",
      "description": "PAID via x402 (USDC on Base Sepolia testnet, ~$0.20/call) \u2014 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"
      ]
    },
    {
      "id": "generate_contours",
      "name": "generate contours",
      "description": "GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) \u2014 pass the api_key of that",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "plss_lookup",
      "name": "plss lookup",
      "description": "GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) \u2014 pass the api_key of that",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "plss_find",
      "name": "plss find",
      "description": "GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) \u2014 pass the api_key of that",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "guess_crs",
      "name": "guess crs",
      "description": "GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) \u2014 pass the api_key of that",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "get_elevation",
      "name": "get elevation",
      "description": "GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) \u2014 pass the api_key of that",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    },
    {
      "id": "convert_file",
      "name": "convert file",
      "description": "GISGP Lite ($6 a month, $3 for 7 days, or $1 once for 24 hours) \u2014 pass the api_key of that",
      "tags": [
        "gis",
        "geospatial",
        "paid"
      ]
    }
  ]
}