gisgp
Server Details
GIS tools for AI agents: 65 free tools + 8 paid (hazard/site-scouting/GeoJSON export)
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- uponex/gisgp-mcp
- GitHub Stars
- 0
- Server Listing
- GISGP GIS Tools
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 85 of 85 tools scored. Lowest: 2.8/5.
Many assess_* composite tools (datacenter, ev_charging, renewable, telecom, due_diligence) share the same building blocks of grid proximity, land cover, and terrain, making their boundaries fuzzy. assess_property_hazard_x402 also duplicates assess_property_hazard with only a payment-method difference, and bundle_* tools intentionally overlap with the free primitives they replace.
There is a mix of verb_noun tools (query_features, geocode_address), noun-first geometry tools (centroids_geojson, envelope_geojson), and inconsistent _geojson suffix usage (buffer_geojson, fix_geometry, geometry_stats). The assess_* and bundle_* prefixes offer some grouping, but no single naming pattern is followed across the set.
With 85 tools, the surface is extreme for an MCP server and far exceeds the typical well-scoped 3-15 range. Many tools are convenience bundles or variants that could be consolidated, making the count a significant usability burden.
The toolkit covers a broad range of GIS tasks: format conversions, GeoJSON analysis, FeatureServer query/inspection, geocoding, site assessment, and sharing. Minor gaps exist (e.g., no Excel-to-GeoJSON, no FeatureServer update/delete), but most missing functionality can be worked around by chaining existing tools.
Available Tools
92 toolsanalyze_locationAInspect
Reverse-geocode a WGS84 point to country/region/locality via OSM Nominatim (no key, free — fair-use rate limited, best-effort). Returns JSON: {ok, display_name, country, country_code, region, locality, source}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool is rate-limited and best-effort, and specifies the exact JSON output structure including all fields. This provides good insight into behavior, though it could also mention error handling or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences covering purpose, constraints, and output. Every sentence adds value without redundancy, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no nested objects), the description covers the core aspects: purpose, input requirements, output format, and usage limitations. It is nearly complete but could briefly mention error cases or result reliability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the description adds context by stating it reverse-geocodes a 'WGS84 point', clarifying the coordinate system. However, it does not explain valid ranges or any other constraints beyond that, offering only modest additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Reverse-geocode a WGS84 point to country/region/locality via OSM Nominatim'. It specifies the verb (reverse-geocode), resource (WGS84 point), and output type (country/region/locality). This distinguishes it from sibling tools, most of which are geometric operations or coordinate conversions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that it is free, fair-use rate limited, and best-effort, providing important context for when to use it. However, it does not explicitly mention when not to use it or suggest alternative tools for different scenarios, leaving the agent to infer usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_airspace_obstruction_proximityAInspect
PAID (100 credits) — nearby FAA-registered vertical obstructions (towers, stacks, wind turbines) at a US point, for telecom/tower-siting due diligence (e.g. "is there anything tall already near this proposed tower site", "does a 250ft tower here need FAA notification"). Source: official FAA Digital Obstacle File (652k+ records nationwide). If proposed_height_agl_ft is given, flags the general 14 CFR Part 77 200ft AGL notification threshold — a single well-documented rule, not a full aeronautical study (lower heights near airports can also trigger notification, not checked here). Requires Authorization: Bearer and sufficient credits balance. Returns JSON: {ok, obstacle_count, obstacles, tallest_nearby_agl_ft, likely_requires_faa_notification, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes | ||
| proposed_height_agl_ft | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavior: it costs 100 credits, requires Authorization and sufficient balance, uses a specific data source, and clearly states limitations (only the Part 77 200ft threshold, not airport-specific lower heights). It also describes the return JSON structure, making the tool's behavior highly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and information-dense, delivering cost, use case, source, threshold, limitations, auth requirements, and return format in a few sentences. Every sentence earns its place; there is no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 params, no annotations, output schema present), the description is remarkably complete. It covers inputs (implicitly), outputs (explicitly), cost, authentication, data source, and limitations, leaving little for the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meanings. It explains proposed_height_agl_ft and its role in triggering FAA notification, but it never explicitly describes the required 'lat' and 'lon' parameters, leaving the agent to infer that 'US point' maps to these. This is a significant gap for the two required parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: to assess nearby FAA-registered vertical obstructions at a US point for telecom/tower-siting due diligence. It uses specific verbs and examples ('is there anything tall already near this proposed tower site'), and it distinguishes itself from sibling tools by focusing on airspace obstruction proximity with a specific source (FAA Digital Obstacle File).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (telecom/tower-siting due diligence) and includes a concrete example. It also states an exclusion: it only flags the 200ft AGL notification threshold and is not a full aeronautical study, nor does it check lower heights near airports. It does not explicitly name alternative tools, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_datacenter_siteAInspect
PAID (300 credits) — data center site-scouting composite: grid proximity (power availability), multi-source hazard (seismic + FEMA + NOAA, required — same contract as assess_property_hazard), land cover, and a year of temperature history (cooling-load proxy). No invented overall suitability score — each source reported honestly. Requires Authorization: Bearer and sufficient credits balance. Returns JSON: {ok, hazard, grid_proximity, land_cover, cooling_climate, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses honest reporting ('No invented overall suitability score'), authentication requirements, and credit cost. Does not mention rate limits or error handling, but overall transparent about behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is dense but informative, front-loading cost and purpose. Every sentence adds value, though it could be split for readability. Overall concise given the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the composite nature and presence of an output schema, the description covers the main output fields and requirements. However, lacks details on data freshness, geographic coverage, or error conditions. Mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for parameters; description does not explain lat/lon beyond the schema (no bounds, format, or default values). The description focuses on output and requirements but fails to add meaning to the input parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool is for 'data center site-scouting composite' and lists specific components (grid proximity, multi-source hazard, land cover, temperature history). Distinguishes from sibling tools like assess_property_hazard by mentioning the composite nature and required multi-source hazard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions cost (PAID 300 credits), required authorization (Bearer <api_key>), and sufficient credits balance. Notes that multi-source hazard is required and same contract as assess_property_hazard. However, does not explicitly guide when to use this over other datacenter-related sibling tools like assess_site_due_diligence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_energy_community_creditAInspect
PAID (100 credits) — US Inflation Reduction Act "energy community" bonus tax credit qualification lookup for a renewable energy project site. Checks both DOE/NETL-published qualifying pathways (coal-mine- closure/coal-plant-retirement adjoining tracts, and MSA/non-MSA fossil- fuel-employment + above-average-unemployment areas) — a point qualifies if either matches. Reports qualification only, not a project-specific dollar estimate (the +10 percentage-point ITC/PTC bonus is the one publicly documented figure). Requires Authorization: Bearer and sufficient credits balance. Returns JSON: {ok, lon, lat, qualifies_ for_bonus_credit, coal_closure_pathway, msa_fossil_employment_pathway, bonus_note, source}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the transparency burden. It discloses the credit cost, auth requirement, the qualifying logic (either pathway suffices), the fact that only qualification is reported, and the return JSON fields. This goes far beyond a simple restatement and gives the agent a solid understanding of behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence in the description earns its place: cost, purpose, methodology, exclusions, prerequisites, and output format are all covered without redundancy. The description is front-loaded with cost and clear purpose, making it efficient despite being detailed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (tax credit qualification with two pathways) and lack of annotations, the description is remarkably complete: it covers eligibility logic, limitations, auth, cost, and expected output fields. No critical selection-driving information appears missing for an agent deciding to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 0%, the description implies that lon and lat identify the renewable energy project site, which adds some meaning beyond the schema's bare 'Lat' and 'Lon' properties. However, it does not specify coordinate format (e.g., WGS84 decimal degrees), ranges, or other parameter details, so the description only partially compensates for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'US Inflation Reduction Act energy community bonus tax credit qualification lookup for a renewable energy project site.' It clearly identifies the tool's purpose and distinguishes it from sibling assess_* tools by focusing on the energy community tax credit. It also details the two qualifying pathways, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use, including the IRA energy community bonus credit context, prerequisites (Authorization header, 100-credit cost, sufficient balance), and an explicit limitation ('not a project-specific dollar estimate'). It does not name alternative sibling tools or say exactly when not to use it, but the context is strong enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_ev_charging_siteAInspect
One-call EV charging site-scouting indicator: grid proximity (power for fast-charging) + land cover + locality context, combined from GISGP's existing free primitives. No key needed. Returns JSON: {ok, grid_proximity, land_cover, location, physically_unsuitable}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It discloses that the tool requires no key and returns specific JSON fields, but lacks information on side effects, rate limits, or whether it is read-only (likely safe). This is minimal but sufficient for a simple query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, with two well-organized sentences. It front-loads the purpose and lists outputs in a structured list. Every sentence is meaningful, though some could be more explicit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 0% schema coverage and no annotations, the description is adequate for a simple tool with two numeric parameters. It lists output fields, but could improve by specifying coordinate system or edge cases (e.g., invalid coordinates).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It implies parameters are coordinates but does not specify expected format (e.g., WGS84) or valid ranges. This adds minimal value over the schema's type definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: assessing EV charging sites by combining grid proximity, land cover, and locality context. It uses specific verb 'scouting' and resource 'EV charging site', and distinguishes from sibling tools like 'assess_renewable_site' by focusing on EV.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for EV site scouting and mentions 'No key needed' indicating easy access. However, it does not provide explicit when-to-use or when-not-to-use guidance, nor does it name alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_grid_exposureAInspect
Electric grid infrastructure proximity at a US point: nearby substations + transmission lines within 10 miles (community ArcGIS mirror of HIFLD data — proximity indicator, not a certified survey). No key needed. Returns JSON: {ok, substations: {count, nearest, source}, transmission_lines: {count, volt_classes, owners, source}}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description does a good job disclosing behavioral traits: data source (community ArcGIS mirror of HIFLD), limitations (proximity indicator, not a certified survey), and return format. It also clarifies no key is needed, implying no authentication overhead.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with purpose, and includes the return structure inline. Every sentence adds value, though the format could be more structured (e.g., separate sections for input constraints).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers data source, limitation, and output format but lacks details like units (miles are mentioned as radius), coordinate reference system, and how to interpret the proximity indicator. The return schema is embedded but not formally defined, leaving some gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% coverage, and the description only mentions 'at a US point' without specifying coordinate system (e.g., WGS84) or bounds for lat/lon. This leaves ambiguity for an agent selecting the tool, especially for geospatial inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool assesses proximity to electric grid infrastructure (substations and transmission lines) for a point in the US within 10 miles, using a community mirror of HIFLD data. This differentiates from sibling tools like assess_renewable_site or assess_property_hazard, which focus on other aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some guidance by stating 'no key needed' and indicating it's a 'proximity indicator, not a certified survey', implying use for quick screening rather than official purposes. However, it lacks explicit instructions on when to use this tool versus alternatives like assess_renewable_site.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_pipeline_proximityAInspect
Natural gas interstate/intrastate transmission pipeline proximity at a US point (EIA/HIFLD, 32,892 segments). Substitute for proprietary local-utility "call before you dig" data — covers major transmission pipelines only, NOT local distribution lines. Not a substitute for calling 811 before excavation. No key needed. Returns JSON: {ok, count, pipeline_types, operators, source, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses coverage scope (transmission only), data source, no-key requirement, and the return format. While it does not mention rate limits or real-time vs. cached data, the transparency is good for a safe read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at 4 sentences, front-loading the purpose. Every sentence adds value: data source, scope, disclaimer, and return structure. No redundant or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides essential context: data source, coverage limitations, and return fields. However, it lacks details like search radius or what the 'count' field represents. Given the output schema exists (implied by the described JSON), the description is fairly complete but could be enhanced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 2 required parameters (lat, lon) with 0% description coverage in the schema. The description does not add any meaning to these parameters, such as coordinate system (e.g., WGS84) or expected format. This is a significant gap for an agent to correctly invoke the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool assesses natural gas pipeline proximity at a US point, specifies the data source (EIA/HIFLD, 32,892 segments), and distinguishes it from proprietary 'call before you dig' data and local distribution lines. This makes the purpose specific and well-differentiated from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use (for major transmission pipelines) and when not to use (not for local distribution, not a substitute for calling 811). It provides clear usage boundaries but does not explicitly compare to sibling tools like assess_grid_exposure or assess_wildfire_risk.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_portfolio_climate_disclosureAInspect
PAID (200 credits PER PROPERTY, max 25 properties/call) — bulk physical climate-risk disclosure input for a real-estate/asset portfolio (SEC climate disclosure rule / EU CSRD physical-risk reporting). Runs assess_property_hazard for each [lon, lat] property and returns honest aggregate counts (properties with FEMA disaster history, properties with active NOAA alerts) alongside each property's own full result — no invented portfolio-level risk score. Use estimate_cost(tool_name= "assess_portfolio_climate_disclosure", units=) first to quote. Requires Authorization: Bearer . Returns JSON: {ok, evaluated, scored_count, failed_count, failed, properties_with_disaster_ history_10y, properties_with_active_weather_alerts, properties, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| properties | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden and does so exceptionally. It reveals the cost per property, authentication requirement, the fact that it delegates to assess_property_hazard, and the exact JSON return structure. It also explicitly states 'no invented portfolio-level risk score', setting honest expectations about limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Although dense, the description is efficiently structured: cost and limits first, then purpose, then behavior, then prerequisite, then auth, then return format. Every sentence delivers critical information without padding. It's long but every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully equips an agent to decide when to use the tool and how to call it correctly. It covers cost, limits, authentication, the underlying mechanism, the output schema, and the prerequisite invocation of estimate_cost. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only provides an array of number arrays with no descriptions (0% coverage). The description compensates by explaining that each property is a [lon, lat] pair, clarifying the meaning of the single 'properties' parameter. It also ties the parameter to the cost calculation via estimate_cost.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: bulk physical climate-risk disclosure input for a real-estate/asset portfolio (SEC/CSRD). It explicitly says it runs assess_property_hazard for each [lon, lat] property, distinguishing it from sibling single-property assessment tools. The wording is specific and includes the exact use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit usage guidance: use estimate_cost first to quote, and it implies this is the batch/portfolio version of assess_property_hazard. It also notes limits (max 25 properties/call) and discloses that the tool is paid. This gives clear context for when to use this tool vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_property_hazardAInspect
PAID (200 credits) — multi-source US property hazard indicator: USGS seismic risk (required), plus best-effort FEMA disaster declaration history (state, last 10 years) and NOAA real-time active severe weather alerts at the point. Requires Authorization: Bearer and a sufficient credits balance — top up at https://gisgp.com/billing/mcp-credits/topup. Use estimate_cost first to quote without charging. Returns JSON: {ok, pga_percent_g, hazard_note, source, disaster_history_10y, active_weather_alerts}.
NOTE 2026-07-28: still not a full multi-hazard property report — no
flood-plain/wildfire-hazard polygon layer is reachable from GISGP's
infrastructure (FEMA NFHL/USFS geo-IP/WAF blocks), see hazard_scoring.py
module docstring and .claude/plans/kind-snacking-puppy.md. No invented
composite risk score — each source is reported honestly as what it is.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully shoulders the transparency burden. It discloses cost, required auth, data sources, limitations (infrastructure blocks), and notes that no composite risk score is invented. This is exceptionally honest and thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: starts with key info (paid, purpose), then sources, requirements, usage hint, return format, and limitations note. Every sentence adds value, and the structure is front-loaded with the most critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (paid, multi-source, output schema exists), the description covers all essential aspects: cost, auth, sources, return fields, limitations, and usage hint. It is fully sufficient for an agent to decide when and how to use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning parameters lat and lon have no descriptions. The description only implies they are coordinates for a point location but lacks specifics like expected range, coordinate system, or format. With no schema descriptions, the description should compensate more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a 'multi-source US property hazard indicator' with specific data sources (USGS seismic risk, FEMA disaster history, NOAA alerts). The verb 'assess' and resource 'property hazard' are specific, and the purpose is unambiguous. While it doesn't explicitly differentiate from the sibling 'assess_property_hazard_x402', the core purpose is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context on when to use: requires auth, paid (200 credits), suggests using estimate_cost first. It also notes limitations (no flood/wildfire). However, it does not explicitly name alternative tools for missing hazards, so the guidance is good but not optimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_property_hazard_x402AInspect
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 disaster history + NOAA active alerts), same underlying data as assess_property_hazard. Returns JSON: {ok, pga_percent_g, hazard_note, source, disaster_history_10y, active_weather_alerts}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It transparently discloses the payment mechanism (x402, USDC, cost ~$0.20/call), that no account or API key is needed, and that it returns JSON with specified fields. It does not mention any side effects, but the operation is likely read-only and non-destructive, which is implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and efficiently conveys payment details, data sources, and output format without unnecessary words. The first sentence is slightly dense but still clear and front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description lists all returned JSON fields (ok, pga_percent_g, etc.) and names the data sources. It does not explain coordinate system or units, but for a multi-source hazard indicator, it covers the main expectations adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the two parameters (lat, lon). The tool description does not add any meaning beyond the schema's type information (number). It fails to specify units (e.g., decimal degrees) or any constraints, which is inadequate given the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function as a 'Multi-source US property hazard indicator' combining USGS seismic, FEMA disaster history, and NOAA active alerts. It distinguishes itself from the sibling tool 'assess_property_hazard' by noting 'same underlying data' and the x402 payment method, making the purpose and differentiation explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use this tool: when the agent needs to pay directly on-chain without a GISGP account or API key. It notes that it has the same underlying data as 'assess_property_hazard', implying an alternative for payment preferences, but does not include explicit when-not or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_protected_area_proximityAInspect
US protected/conservation area proximity via USGS PAD-US (public domain, commercial-use OK — unlike Protected Planet/WDPA, whose API explicitly forbids commercial-entity use). Reports whether the point falls inside/near (2 mile radius) a federally-tracked protected area: name, managing agency, designation type, public access. US-only. Returns JSON: {ok, count, areas, source, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full load. It discloses the tool is a read operation (no destructive action), specifies the 2-mile radius buffer, and describes the JSON output structure with fields like ok, count, areas, source, and note. It could mention authentication or rate limits, but for a simple coordinate query, the transparency is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately sized with several sentences, but it is well-structured: it begins with the core purpose, adds legal context, then details behavior and output. Every sentence adds value, though it could be slightly more concise (e.g., removing the return format list if the output schema is sufficient). Overall, it is clear and organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 parameters, no nests, with an output schema), the description covers geographic scope, data source licensing, proximity radius, and return fields. It does not address error handling or coordinate system assumptions, but for typical agent usage, the provided information is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 0% (no parameter descriptions in the schema), so the description must explain the parameters. It does not explicitly mention 'lat' and 'lon' or their units; it only implies coordinate input through the context of 'point'. The parameter names are self-explanatory, but the description lacks additional semantic value beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool assesses US protected/conservation area proximity using USGS PAD-US data, reporting whether a point falls inside/near a 2-mile radius of a federally-tracked protected area. It lists specific output fields (name, managing agency, etc.), which distinctly differentiates it from sibling tools like assess_wildfire_risk or assess_ev_charging_site.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'US-only' and highlights that the data source (PAD-US) is public domain and commercial-use OK, contrasting it with Protected Planet/WDPA. This provides clear context for when to use this tool (US commercial applications) and implicitly when not to (non-US or non-commercial scenarios requiring WDPA). However, it does not directly name sibling alternatives, keeping the score from being a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_reforestation_siteAInspect
PAID (100 credits) — reforestation/afforestation site-scouting composite: terrain, land cover (flags already-forested/urban/water/snow as unsuitable), and a year of precipitation history (tree-viability proxy). All-free-primitive composite, priced for the bulk-screening convenience (carbon-offset/land-screening use case), no invented "sequestration score". Requires Authorization: Bearer and sufficient credits balance. Returns JSON: {ok, terrain, land_cover, physically_unsuitable, precipitation, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses cost, authentication requirements, and return format. It explicitly states it is based on free data and does not invent scores, providing transparency about its limitations. It does not mention potential side effects or rate limits, but as a read-only query, this is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise given the amount of information conveyed (cost, purpose, data sources, limitations, return format). It front-loads key details (PAID, purpose). Minor improvement would be more structured formatting, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (composite of multiple data sources) and the presence of an output schema, the description covers most essential aspects: purpose, cost, data used, what it does not do, authentication, and return fields. It lacks error handling or rate limit info, but these are not critical for selection. It differentiates well among many sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 2 required parameters (lat, lon) with 0% description coverage. The description implies lat/lon are coordinates for the site but does not explain units, coordinate system, or valid ranges. While the purpose is clear, the lack of explicit parameter guidance means the agent must infer meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool assesses a site for reforestation/afforestation using terrain, land cover, and precipitation data. It distinguishes itself from siblings by noting it's a composite for bulk-screening and that it does not invent a 'sequestration score', making its purpose specific and unique among similar assessment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions cost (100 credits) and that it is priced for bulk-screening convenience, implying use for screening many sites. It also says 'no invented sequestration score', guiding against using it for carbon credit calculations. However, it does not explicitly state when not to use it or name alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_renewable_siteAInspect
One-call solar/wind site-scouting indicator: terrain + land cover + 1-year solar/wind climate averages + grid proximity, combined from GISGP's existing free primitives (no new external source). No key needed. Returns JSON: {ok, terrain, land_cover, solar_wind, grid_proximity}. Not a substitute for a professional feasibility study.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It describes the return format (JSON with specific fields) and notes it uses existing free primitives. It does not explicitly state it is read-only, but the lack of destructive hints in the description is acceptable for a scouting tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with only three sentences that front-load the key purpose and output. Every sentence adds value, and there is no redundant or vague language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (combining multiple data sources) and the presence of an output schema (though not shown), the description covers purpose, inputs, outputs, and limitations. It could mention coordinate system details but overall is sufficiently complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description does not add any parameter-level detail beyond the parameter names (lat, lon). Given the low coverage, the description should compensate, but it fails to explain coordinate system, bounds, or expected formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'one-call solar/wind site-scouting indicator' combining terrain, land cover, climate averages, and grid proximity, distinguishing it from sibling tools like assess_grid_exposure, classify_land_cover, get_climate_history, and get_terrain_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides context by noting 'no key needed' and cautions that it is 'Not a substitute for a professional feasibility study,' implying usage for quick scouting rather than definitive analysis. However, it does not explicitly compare to sibling tools for when to choose this composite tool over individual ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_site_due_diligenceAInspect
PAID (300 credits) — master due-diligence report for a point: wraps assess_property_hazard (seismic + FEMA + NOAA, required) plus grid proximity, land cover, and reverse-geocoded locality — all in one call. No invented overall "site score" across sources. Requires Authorization: Bearer and sufficient credits balance. Use estimate_cost first to quote. Returns JSON: {ok, hazard, grid_exposure, land_cover, locality, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden of behavioral disclosure. It reveals cost, authorization, credit balance requirement, output JSON structure, and that no invented overall score is produced. This is comprehensive for a complex tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused paragraph that front-loads the cost warning and concisely conveys all key aspects without unnecessary words, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and lack of annotations, the description covers cost, auth, included sub-assessments, output structure, and constraints (no invented score). The presence of an output schema alleviates the need to detail return values further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description adds minimal parameter meaning—only that the tool requires lat and lon coordinates for 'a point'. No details on coordinate system, bounds, or units are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'master due-diligence report for a point' that wraps multiple specific sub-assessments (hazard, grid, land cover, locality), distinguishing it from sibling tools that provide individual assessments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It advises users that the tool is paid (300 credits), recommends using estimate_cost first, and specifies authorization and credit requirements. However, it does not explicitly state when to use this vs. alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_supply_chain_redundancyAInspect
PAID (400 credits) — checks whether two supposedly-redundant sites (e.g. two "backup" suppliers/warehouses/data centers) are actually independent: real geodesic distance between them + each site's own multi-source hazard profile (seismic + FEMA + NOAA) side by side, plus any FEMA disaster incident types they share in the last 10 years. No invented "redundancy score" — the caller judges independence from the real data. CAVEAT: FEMA disaster history is STATE-level, not point-level — two sites in the same state usually share most incident types regardless of true distance, so distance_km is the more reliable independence signal for same-state comparisons. Requires Authorization: Bearer and sufficient credits balance. Returns JSON: {ok, distance_km, site_a, site_b, shared_fema_incident_types_10y, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| site_a | Yes | ||
| site_b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It explicitly notes the tool is PAID (400 credits), requires Authorization and sufficient balance, and returns a specific JSON structure. It also discloses the FEMA state-level limitation, which is a significant behavioral nuance beyond what annotations would likely cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but every sentence earns its place: purpose, methodology, caveat, auth requirement, and return format. It is front-loaded with the core action and includes no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, methodology, caveats, authentication, and return fields, which is robust given the presence of an output schema. The main gap is input coordinate format clarity, but overall it is highly complete for a geospatial analysis tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no descriptions for site_a and site_b (0% coverage), so the description must compensate. It clarifies that these two parameters represent the two sites being compared, but does not specify coordinate format (e.g., lat/lng order, GeoJSON) or units. This leaves ambiguity for a geospatial tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it checks whether two supposedly-redundant sites are actually independent, using geodesic distance, multi-source hazard profiles, and shared FEMA incident history. This specific verb+resource combination distinguishes it from the many sibling assess_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: evaluating redundancy for backup suppliers, warehouses, or data centers. It also provides a critical caveat about FEMA state-level data, advising that distance_km is more reliable for same-state comparisons. However, it does not explicitly mention when not to use the tool or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_telecom_siteAInspect
One-call cell tower site-scouting indicator: grid proximity + terrain elevation (line-of-sight proxy) + land cover, combined from GISGP's existing free primitives. No key needed. Returns JSON: {ok, grid_proximity, terrain, land_cover, physically_unsuitable}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses that it is read-only (returns data), uses free primitives, requires no key, and returns specific fields including 'physically_unsuitable'. This provides good behavioral context for an assessment tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, effective sentence that front-loads the purpose and key features, followed by the return format. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no annotations and an output schema mentioned in the description, the description covers purpose, inputs (implicitly), and outputs. It is complete enough for an agent to use correctly, though it could mention coordinate limits or error responses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the 'lon' and 'lat' parameters beyond their schema definitions. With 0% schema coverage, the description should add meaning (e.g., coordinate format, bounds), but it omits this, relying on the parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'assess' and the resource 'telecom site' with specific factors (grid proximity, terrain elevation, land cover). It distinguishes this tool from siblings like 'assess_ev_charging_site' or 'assess_renewable_site' by targeting cell tower scouting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for quick one-call assessments and notes no key is needed, but does not specify when to use this tool over alternatives like 'assess_grid_exposure' or when not to use it (e.g., for detailed feasibility studies).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_wildfire_riskAInspect
Real-time active wildfire proximity at a point via NASA FIRMS (VIIRS satellite hotspot detections, last 2 days) + electric grid exposure (transmission lines are a documented wildfire-ignition- liability factor). No key needed — GISGP holds its own free NASA FIRMS key server-side. Two separate honest indicators, no fabricated combined risk score. Returns JSON: {ok, active_fires, grid_proximity}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses data source (NASA FIRMS, last 2 days), no API key needed, and that indicators are separate with no fabricated score. With no annotations, it covers key behavioral aspects well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two sentences plus return format; front-loaded with key information, but could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, data source, authentication, return format; missing error handling or limitations, but adequate for a simple tool with output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, and the description does not add details about lat/lon format, ranges, or constraints beyond implying a point location.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool assesses wildfire risk at a point using NASA FIRMS data and grid exposure, distinguishing it from siblings like assess_grid_exposure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for point-based wildfire risk, but lacks explicit guidance on when to use this tool versus alternatives like assess_grid_exposure or assess_property_hazard.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_serviceAInspect
Full one-call QA report of an ArcGIS FeatureServer layer: health (latency, record count, capabilities) + field schema + coded domains + summary counts.
One call replaces separate health/fields/domains lookups. Returns JSON:
{name, geometry_type, health, fields, domains, summary}.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It describes the return JSON shape and lists included components (health, fields, domains, summary), but does not disclose potential issues like authentication requirements (token is optional but unexplained), error cases, or the exact structure of the 'health' object. It is adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences that front-load the purpose and follow with the key differentiator and output format. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (comprehensive audit) and the presence of an output schema, the description adequately covers what the tool does and returns. However, the lack of parameter documentation (0% coverage) and missing guidance on authentication or error states leaves significant gaps for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about the two parameters (service_url, token) beyond what the schema provides. It does not explain what service_url should point to or how token is used, making it nearly impossible for an agent to correctly construct the invocation without external knowledge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool produces a 'Full one-call QA report' covering health, field schema, coded domains, and summary counts. It specifies the output format and explicitly distinguishes itself from sibling tools like check_service_health, check_field_types, and extract_domains by noting that this tool replaces separate lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'One call replaces separate health/fields/domains lookups,' which guides agents to use this tool when a comprehensive report is needed instead of individual checks. However, it does not explicitly state when not to use it (e.g., if only a single metric is needed) or provide direct comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buffer_geojsonAInspect
Buffer every feature by a distance in METRES (negative shrinks).
Geodesically accurate at any latitude (each feature is buffered in a local
equidistant projection). Returns JSON {ok, distance_m, geojson} where geojson
is a FeatureCollection of buffer polygons.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes | ||
| distance_m | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes full responsibility. It discloses the return format (JSON with ok, distance_m, geojson), explains the projection behavior (local equidistant for geodesic accuracy), and notes that negative distances shrink. This is fairly transparent, though it could mention performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, both front-loaded with essential information. No wasted words, and the structure is logical: operation + parameter specification, then accuracy and return details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters and a clear return (output schema exists but not detailed), the description covers the main points. It could mention limitations like large inputs or geometry types, but overall it is sufficiently complete for a simple buffer operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add value. It explains the distance_m unit (METRES) and effect (negative shrinks). It also implies that geojson input should contain features. This adds meaning beyond the bare schema, though it could be more explicit about input format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Buffer every feature'), the resource (GeoJSON), and the key parameter (distance in meters). It distinguishes itself from sibling geometry tools like centroids_geojson or convex_hull_geojson by explicitly focusing on buffering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions geodesic accuracy at any latitude, which hints at appropriate use cases, but does not explicitly state when not to use this tool or provide alternatives among the many sibling geometry tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_create_export_scheduleAInspect
PAID PER DELIVERY (30 credits each time it fires, NOT at creation — free to create/cancel) — the only MCP tool that exposes GISGP's core recurring-export product to agents: creates a schedule that re-exports a FeatureServer layer on its own and POSTs the file straight to your own webhook_url, no email/web UI account needed beyond the API key. Reuses the same scheduler that runs the paid web app's scheduled exports (fires within ~5 min of the due time).
format: "csv", "geojson", "shapefile", "kml", or "excel".
frequency: "hourly" (top of each hour), "daily" (at run_hour UTC), "weekly"
(at run_hour UTC on `weekday`, 0=Monday..6=Sunday), or "monthly" (at run_hour
UTC on `monthday`, 1-28).
webhook_url: must be a public, reachable HTTPS URL (validated at creation AND
at every delivery) — GISGP POSTs a JSON body {schedule_id, format, row_count,
filename, delivered_at, data_base64 (or download_url for files >5MB)}.
If the wallet lacks 30 credits when a delivery is due, that cycle is silently
skipped (schedule stays active, no error surfaced to you) — top up any time at
https://gisgp.com/billing/mcp-credits/topup and the next cycle delivers normally.
Use estimate_cost or check_wallet_balance to plan ahead. Delete via
cancel_export_schedule when no longer needed — an abandoned schedule with an
empty wallet just skips forever, but does not charge or error.
Requires Authorization: Bearer <api_key>. Returns JSON: {ok, schedule_id,
next_run_at}.| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| where | No | 1=1 | |
| format | Yes | ||
| weekday | No | ||
| monthday | No | ||
| run_hour | No | ||
| frequency | No | daily | |
| service_url | Yes | ||
| webhook_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: 30 credits per delivery, silent skip if wallet lacks credits, webhook_url validated at creation and delivery, and JSON return body structure. It also states the auth requirement (Authorization: Bearer <api_key>) and the scheduler's ~5 min firing window.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but densely informative, using clear line breaks and bullet-like semicolons. Every sentence adds value, but it could be trimmed slightly by moving some billing details to an annotation if available. Overall, well-structured and front-loaded with the most critical pricing/usage caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 9 parameters, no annotations, and no enum schemas, the description covers all critical aspects: billing, scheduling behavior, webhook validation, authentication, return value, and failure modes. It also gives a direct link for topping up credits. This is complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does for key parameters: format lists allowed values, frequency explains hourly/daily/weekly/monthly with run_hour/weekday/monthday semantics, and webhook_url describes the POSTed JSON body. However, token, where, and service_url are not explicitly described, relying on common sense from the tool context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a schedule that re-exports a FeatureServer layer and POSTs the file to a webhook_url. It distinguishes itself from siblings like bundle_export_fixed (one-time) and cancel_export_schedule (deletion), and explicitly claims to be the only MCP tool exposing this recurring-export product.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to use this tool (recurring exports) and names related tools: use estimate_cost or check_wallet_balance to plan ahead, and cancel_export_schedule to delete. It also notes the tool is free to create/cancel and paid per delivery, setting clear expectations for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_export_fixedAInspect
PAID (150 credits) — fetch ALL records from a live FeatureServer layer (no 50-record preview cap), auto-repair invalid geometries (GEOS make_valid), and scan for common problems, in one call. Replaces an uncapped query_features call (itself a paid-only capability) plus fix_geometry plus find_layer_issues. Requires Authorization: Bearer and sufficient credits balance.
Returns JSON: {ok, feature_count, fixed_count, truncated, issues,
issue_count, geojson} — geojson is the fetched (and repaired) data.| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| where | No | 1=1 | |
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and covers paid nature (150 credits), auth requirement, what it does, and return fields. However, the 'truncated' field is not explained, which is a minor gap given the 'fetch ALL records' claim.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tight and front-loaded with the most critical info (PAID), followed by function, what it replaces, requirements, and return JSON. Every sentence adds value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description covers the core functionality, cost, auth, and output fields. It doesn't mention error conditions or truncation behavior details, but an output schema exists and the description is sufficient for an agent to decide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'token' or 'where' parameters. Only service_url is implied via 'FeatureServer layer.' This leaves the agent guessing at parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches all records from a FeatureServer layer, repairs geometries, and scans for problems—a specific verb+resource combo. It also distinguishes itself from siblings by explicitly naming what it replaces (query_features + fix_geometry + find_layer_issues).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this over alternatives: 'Replaces an uncapped query_features call (itself a paid-only capability) plus fix_geometry plus find_layer_issues.' It also provides essential prerequisites like Authorization Bearer token and sufficient credits balance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_export_multi_formatAInspect
PAID (120 credits) — fetch ALL records from a live FeatureServer layer once, then export the same data as Shapefile + CSV + GeoJSON + KML + Excel in a single ZIP (base64-encoded). Replaces an uncapped fetch plus 4 separate format-conversion calls. Requires Authorization: Bearer and sufficient credits balance.
Returns JSON: {ok, feature_count, truncated, zip_base64, formats}.| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| where | No | 1=1 | |
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden. It discloses cost (120 credits), operational scope (ALL records), output format (ZIP base64), and the JSON response shape. It lacks details on size limits/truncation behavior beyond the 'truncated' flag, but overall it is transparent enough for safe use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and well-structured: first sentence defines the action, second explains the efficiency benefit, third states requirements, fourth specifies the return value. Every sentence earns its place, and the information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, cost, auth, output, and expected response. However, with an output schema present, return values are not the main gap. The missing parameter semantics (especially what 'where' does) leave the tool incompletely specified for callers, so overall completeness is only adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not explain any of the three parameters (token, where, service_url). It only indirectly refers to 'live FeatureServer layer' without connecting to the service_url parameter. The description completely fails to compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs and resources: 'fetch ALL records from a live FeatureServer layer' and 'export the same data as Shapefile + CSV + GeoJSON + KML + Excel in a single ZIP (base64-encoded).' This clearly distinguishes it from sibling tools like bundle_export_fixed or individual format conversions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it 'replaces an uncapped fetch plus 4 separate format-conversion calls,' clearly indicating when to use this tool over multiple alternatives. It also states prerequisites (Authorization header and credit balance), providing actionable context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_geocode_enrichAInspect
PAID (30 credits PER ADDRESS, max 10 addresses/call) — batch geocode + enrich. For each address: forward-geocodes to lon/lat (free fallback chain: OSM Nominatim -> Photon -> US Census), then reverse-geocodes for country/region/locality context and classifies land cover at that point. Replaces 3 separate calls per address: geocode_address + analyze_location + classify_land_cover. Use estimate_cost(tool_name= "bundle_geocode_enrich", units=) first to quote. Requires Authorization: Bearer and sufficient credits balance.
Returns JSON: {ok, results: [{address, ok, lon, lat, display_name,
geocode_source, country, region, locality, land_cover} or
{address, ok:false, error}], evaluated, failed_count}.| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It transparently discloses the paid nature (30 credits per address), the auth requirement and credit balance precondition, and the fallback geocoding chain. It also specifies the JSON return structure with failed_count, but it doesn't explicitly state that it is read-only or idempotent, which is implied but not spelled out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description opens with a prominent 'PAID' warning and then packs a clear functional summary, alternative naming, usage prerequisite, and return format into a tight set of sentences. Every sentence earns its place; there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complete description: it covers purpose, cost, auth, per-call limits, alternatives, prerequisite estimation, and a detailed return schema. With an output schema also present, the description goes beyond the minimum and anticipates agent needs, leaving no critical gaps for a paid, multi-step tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only says 'addresses' is an array of strings with no description (0% coverage). The description compensates thoroughly by explaining each element is an address, capping at 10 per call, and linking the count to estimate_cost's 'units' parameter. This adds meaning well beyond the schema's raw type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs batch geocoding and enrichment, detailing the exact pipeline (forward geocode to lon/lat, reverse geocode for context, and land cover classification). It differentiates from sibling tools by explicitly naming geocode_address, analyze_location, and classify_land_cover as the three separate calls it replaces, making its scope unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Replaces 3 separate calls per address' and advises to 'Use estimate_cost(tool_name=... ) first to quote,' which is explicit, actionable guidance. It also communicates the limit of 10 addresses per call and the per-address cost, helping an agent decide when to invoke this bundle versus simpler alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_migrate_convertAInspect
PAID (40 credits) — one-call file migration: convert a raw file to GeoJSON, then optionally reproject and simplify, then round coordinates. Replaces 2-4 separate free tool calls (convert + reproject + simplify + round) an agent would otherwise chain by hand — see estimate_cost's "replaces" field. Requires Authorization: Bearer and sufficient credits balance.
input_format: "shapefile" (data = base64-encoded .zip), "kml", "gpx", or
"csv" (data = raw text for the latter three).
to_epsg: 0 skips reprojection (keeps the converter's native WGS84 output).
simplify_tolerance: 0 skips simplification (Douglas-Peucker, degrees).
round_decimals: coordinate rounding, always applied (default 6).
Returns JSON: {ok, feature_count, geojson, reprojection_notice}.| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| to_epsg | No | ||
| input_format | Yes | ||
| round_decimals | No | ||
| simplify_tolerance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden. It discloses the credit cost, auth requirement, input format specifics (shapefile as base64 .zip vs raw text), parameter edge cases (0 skips reprojection/simplification), and return format. This goes well beyond the empty schema descriptions, though it omits failure modes and rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than a two-liner but every sentence earns its place: purpose, benefit, auth, parameter breakdown, and return schema. It is front-loaded with the core purpose and uses a clear paragraph-per-aspect structure. Slightly verbose but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with an output schema, the description is quite complete. It explains all parameters, return fields, and auth/credit constraints. It does not cover error cases or null handling, but those are less critical for a conversion tool. Overall it provides sufficient context for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates fully. It explains each parameter: input_format values and data encoding, to_epsg=0 meaning, simplify_tolerance=0 plus algorithm, round_decimals default, and how data relates to format. Every parameter is given meaningful usage context beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'one-call file migration: convert a raw file to GeoJSON, then optionally reproject and simplify, then round coordinates.' This is a specific verb+resource statement that clearly distinguishes the tool from individual conversion siblings like csv_to_geojson or reproject_geojson by emphasizing its bundling of multiple steps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes it 'Replaces 2-4 separate free tool calls... an agent would otherwise chain by hand' and references estimate_cost's 'replaces' field, giving clear when-to-use context. It also mentions prerequisites (Authorization header and credits), but does not explicitly state when to prefer individual tools, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_migration_readinessAInspect
PAID (100 credits) — migration-readiness report comparing two FeatureServer layers: schema diff, coded-value domains, and field types for both. Replaces compare_schemas + extract_domains×2 + check_field_types×2. Requires Authorization: Bearer and sufficient credits balance.
Returns JSON: {ok, schema_diff, domains_a, domains_b, fields_a, fields_b,
ready, blockers} — ready is False and blockers lists the reasons if the
schema diff finds added/removed/changed fields or a geometry mismatch.| Name | Required | Description | Default |
|---|---|---|---|
| token_a | No | ||
| token_b | No | ||
| service_url_a | Yes | ||
| service_url_b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently discloses the cost (100 credits), authentication requirement, and the precise behavior of the ready and blockers fields when schema mismatches occur. This goes beyond typical descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two information-dense paragraphs with front-loaded cost and purpose. Every sentence adds value: purpose, replacement, auth/cost, return JSON structure, and condition for ready/blockers. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, replacement, auth, cost, return format, and ready/blockers logic. However, it omits explanation of token_a/token_b parameters and their relationship to the Authorization header, which is a significant gap for a complex bundle tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the parameters. It implicitly refers to 'two FeatureServer layers' but does not name service_url_a/service_url_b or clarify the purpose of token_a/token_b, especially given the Authorization: Bearer requirement. The description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'migration-readiness report comparing two FeatureServer layers: schema diff, coded-value domains, and field types for both.' This is a specific verb+resource and distinguishes it from siblings by being a bundle that replaces multiple existing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Replaces compare_schemas + extract_domains×2 + check_field_types×2', providing clear guidance on when to use this tool instead of alternatives. Also mentions the prerequisites: Authorization header and sufficient credits balance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_routeAInspect
Real driving distance + duration between two points. Default: OSRM (public demo instance, no key — fair-use limited, not a production SLA). Optional agol_token: route through Esri's own World Route Service instead — uses YOUR OWN AGOL credentials/quota, not GISGP's (no extra charge either way, no GISGP account needed for this option). Returns "no_route" honestly when no driving path exists (e.g. across open water). Returns JSON: {ok, routable, distance_km, duration_min, source}.
| Name | Required | Description | Default |
|---|---|---|---|
| dest_lat | Yes | ||
| dest_lon | Yes | ||
| agol_token | No | ||
| origin_lat | Yes | ||
| origin_lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the default backend, fair-use limits, optional token usage, honest 'no_route' response, and the return JSON structure, providing comprehensive behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with no redundant sentences. It front-loads the core purpose, then introduces options and behavior in a logical order, earning each sentence's place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a complete overview: tool purpose, backend options, limitations, honest response, and return format. While it does not mention prerequisites like valid coordinate ranges, the overall coverage is thorough for a routing tool with two backends.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds meaning by mentioning coordinates and the agol_token purpose, but it does not explicitly state that origin_lon/origin_lat are the start and dest_lon/dest_lat are the end, nor does it clarify the default value for agol_token. The context signals indicate no enums or nested objects, so the description partially compensates but lacks full clarity on parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates 'Real driving distance + duration between two points,' distinguishing it from sibling tools that handle other geospatial analyses. It also specifies default and optional backends, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use the default OSRM backend versus the Esri service with agol_token, including limitations (fair-use, no SLA) and credential requirements. It does not explicitly state when not to use the tool, but the context is adequate given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_export_scheduleAInspect
FREE — cancel a schedule created by bundle_create_export_schedule. Only the API key that created it can cancel it. Returns JSON: {ok} or {ok: false, error}.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| schedule_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and provides useful behavioral details: ownership restriction, return format (JSON with {ok} or {ok: false, error}), and the implicit mutating nature of cancellation. It could mention irreversibility, but for a cancel operation this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action. Each sentence adds value: operation, constraint, return format. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one required param, output schema present). The description covers operation, ownership, and return format. However, the token parameter is not explicitly tied to a schema property, leaving a minor gap for a low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It impliedly refers to schedule_id (the schedule to cancel) and hints at token (API key ownership), but never explicitly defines either. The token parameter, in particular, is left unexplained beyond 'API key' in prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'cancel a schedule created by bundle_create_export_schedule.' It uses a specific verb ('cancel') and resource ('export schedule'), distinguishing it from siblings like bundle_create_export_schedule or bundle_export_fixed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the exact use case: cancel schedules created by a particular tool, and adds a key constraint ('Only the API key that created it can cancel it'). It does not explicitly name alternatives, but the context is clear enough for this simple operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
centroids_geojsonAInspect
Get the center point of each polygon/line feature — e.g. "find the center of each parcel", "convert polygons to points for labeling", "centroid of each feature". Properties are kept.
Returns JSON {ok, geojson} — a FeatureCollection of points.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the burden. It discloses the return wrapper ('JSON {ok, geojson}'), the output type ('FeatureCollection of points'), and a key behavior ('Properties are kept'). This goes beyond the bare schema, though it omits edge-case handling such as invalid geometries or mixed geometry types.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact (three sentences), front-loaded with the core purpose, and every sentence adds value: purpose, examples, property preservation, and output format. There is no redundant or filler text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter compute tool with an output schema, the description covers the main input/output contract and key behavior. It is sufficiently complete for an agent to select and invoke it, although it could mention limitations for degenerate or mixed geometries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only one parameter, 'geojson', the schema provides just a type string and 0% description coverage. The description partially compensates by implying the input features should be polygons/lines ('each polygon/line feature'), but it does not explicitly state the expected GeoJSON structure (e.g., FeatureCollection vs geometry) or coordinate assumptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Get the center point of each polygon/line feature', and provides concrete paraphrase examples ('find the center of each parcel', 'convert polygons to points for labeling'). This clearly distinguishes it from sibling geometry tools like convex_hull_geojson or envelope_geojson by focusing on per-feature centroids.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Examples like 'find the center of each parcel' and 'centroid of each feature' indicate the typical labeling/point-conversion use case, providing clear context for when to invoke this tool. However, it does not explicitly name alternatives or state when not to use it, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_field_typesCInspect
Inspect the field schema of an ArcGIS FeatureServer layer.
Returns JSON: {layer_name, geometry_type, fields:[{name, alias, type,
length, nullable, has_domain}]} — useful before importing/mapping data.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It describes the return format but omits important details such as authentication requirements, error handling for invalid URLs, rate limits, or any side effects. This is insufficient for a tool that makes external API calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two well-structured sentences. The first sentence states the main action, and the second details the return format. No extraneous information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the output schema is partially described (returned JSON structure), the description fails to clarify required vs optional parameters, provide example values, or explain how to obtain service_url. Given the tool has 2 parameters and non-trivial dependencies, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the input schema provides no parameter documentation. The description does not explain the parameters token and service_url, leaving the agent to guess their meaning and usage. This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Inspect' and resource 'field schema of an ArcGIS FeatureServer layer'. It is not a tautology and clearly states the tool's function. However, it does not differentiate itself from siblings like audit_service or check_service_health, which could have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'useful before importing/mapping data', providing a clear use case. However, it does not specify when to avoid using this tool, nor does it mention any alternatives among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_service_healthAInspect
Check whether an ArcGIS FeatureServer layer is reachable and responsive.
Returns JSON: {ok, ms (latency), name, geometry_type, field_count,
record_count, capabilities, max_record_count}.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes the return JSON format, which adds value, but does not disclose whether the tool is read-only, requires authentication, or has any side effects. A 3 is appropriate for adequate but incomplete transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences: the first states the purpose, the second lists return fields. It is front-loaded and contains no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low parameter coverage (0%), the description should compensate but only lists return fields, which are already defined in the output schema. It does not explain the token parameter or provide usage context. For a simple health-check tool, it is moderately complete but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no parameter-level meaning beyond the parameter names. It mentions 'service_url' implicitly in the purpose but does not explain 'token' or provide formatting details. This is a missed opportunity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking if an ArcGIS FeatureServer layer is reachable and responsive. It specifies the verb 'check' and the resource 'service health', and distinguishes from sibling tools like 'audit_service' by focusing on basic reachability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear purpose but lacks guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use, or compare to sibling tools like 'audit_service' or 'full_service_audit' for deeper checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_wallet_balanceAInspect
FREE — check your own MCP credits wallet balance (the same account paid tools like assess_property_hazard charge against). Requires Authorization: Bearer — an agent can call this on its own, no browser/dashboard needed. Returns JSON: {ok, balance, eur_equivalent} or {ok: false, error} if no API key was provided.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: it is free, requires Authorization header, returns JSON with specific fields, and describes error case. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) and front-loaded with essential information (FREE, purpose, authentication). Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and an output schema that is described (fields returned), the description covers all necessary aspects: purpose, authentication, return format, and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0 parameters and 100% coverage. The description adds value by explaining the purpose and the context of the wallet balance, which is useful beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks the user's MCP credits wallet balance. It explicitly uses the verb 'check' and the resource 'wallet balance', and distinguishes itself from paid tools like assess_property_hazard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to check balance) and notes it is free and requires an API key. It does not explicitly mention alternative tools for similar purposes, but the context of being a wallet check is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_land_coverAInspect
Land cover class at a WGS84 point via ESA CCI Land Cover 2018 (ArcGIS Living Atlas ImageServer, no key, 300m resolution). Returns JSON: {ok, class_code, class_label, source}.
NOTE 2026-07-26: gated separately (mcp_layer1_landcover, Off pending live
smoke-check) — swapped from the earlier ESA WorldCover WMS source, which
was confirmed dead (being phased out). This ArcGIS REST identify endpoint
was live-verified locally (Sofia -> class 8, "Artificial Surface or
Urban Area") before this swap.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses data source, resolution (300m), coordinate system (WGS84), return format (JSON with specific fields), and current operational status (gated, off pending smoke-check). This gives good insight into tool behavior and limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose, but includes a lengthy note about source swap and status. While informative, this extra detail could be separated or shortened. Not overly verbose but not maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple point query tool with an output schema (not shown), the description covers key aspects: what it does, data source, resolution, return format, and current operational status. This is sufficient for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It adds meaning by specifying that the point is in WGS84 and that lon/lat are used, but does not detail ranges, validation, or order. Partial compensation, not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool classifies land cover at a WGS84 point using a specific data source (ESA CCI Land Cover 2018). It includes verb (classify), resource (land cover), and coordinates. It distinguishes from siblings by specifying the exact classification task, which is unique among the listed sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It provides context about the source status (gated, off pending check) but no guidance on when it is appropriate or what other tools might be used for similar tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_schemasBInspect
Compare the field schemas of two ArcGIS FeatureServer layers.
Returns JSON diff: {added, removed, changed:[{field, diffs}], same,
geometry_match, identical} — useful for QA before an import or migration.
| Name | Required | Description | Default |
|---|---|---|---|
| token_a | No | ||
| token_b | No | ||
| service_url_a | Yes | ||
| service_url_b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It describes the output structure but omits critical behavioral traits such as read-only nature, authentication needs (tokens), error handling, or rate limits. The return type is given but not how the tool behaves in edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second describes output and use case. No unnecessary words, front-loaded with key information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters (2 required) and no schema descriptions, the description is insufficient. It lacks details on token handling, URL format, prerequisites (e.g., layer must be FeatureServer), and fails to fully explain the JSON diff structure. An output schema exists but is not referenced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not explain any parameter. It only implicitly refers to the two service URLs but provides no details on token parameters or their purpose. The description adds minimal value beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares field schemas of two ArcGIS FeatureServer layers, with a specific verb (compare) and resource (schemas). It distinguishes from siblings by its focus on schema comparison rather than geometry or data content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'useful for QA before an import or migration,' providing clear context for when to use. However, it does not explicitly state when not to use it or differentiate from alternatives like geojson_diff.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_coordinatesAInspect
Convert coordinate pairs between EPSG coordinate systems (max 1000 points).
points: [[x, y], ...] in from_epsg axis order (lon/lat for EPSG:4326).
Returns JSON: {"points": [[x, y], ...], "from_epsg": ..., "to_epsg": ...}.
| Name | Required | Description | Default |
|---|---|---|---|
| points | Yes | ||
| to_epsg | Yes | ||
| from_epsg | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the 1000-point limit, axis order dependence, and return format. However, it lacks details on error handling for invalid EPSG codes or points exceeding the limit. Overall, key behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three sentences covering purpose, points format, and return structure. It is front-loaded with the core action and limit. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 parameters, no enums, no output schema) and the existence of output schema (implied by context), the description covers essential aspects: usage context, limit, axis order, and return shape. Missing error details but sufficient for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It explains the points parameter format ([[x, y], ...]) and the axis order dependency, which the schema does not. The EPSG codes are integers but no further details on valid values. This adds significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts coordinate pairs between EPSG coordinate systems with a 1000-point limit. It distinguishes from sibling tools like reproject_geojson which handle GeoJSON objects. The verb 'convert' and resource 'coordinate pairs' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates using this tool for point conversions between EPSG systems and notes the axis order convention, but does not explicitly state when to choose this over alternatives like reproject_geojson or epsg_suggest. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convex_hull_geojsonBInspect
Draw 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".
Returns JSON {ok, geojson} — a single polygon.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It mentions the output format but does not state whether this is a read-only operation, whether it modifies the input, how errors are handled, or any prerequisites (e.g., minimum number of points). This is a notable gap for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, immediately defines the core concept, gives two relatable examples, and states the return format. There is no redundancy or filler; every sentence contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the availability of an output schema (not shown), the return mention is helpful but not essential. The tool is simple, but the incomplete parameter guidance and lack of sibling differentiation leave gaps. An agent might not know precisely what GeoJSON structure to pass or why this tool is preferable to envelope_geojson, so overall it is minimally viable but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema lists a single string parameter 'geojson' with no description, and schema coverage is 0%. The description's phrase 'all input features' hints that the value should be a GeoJSON collection of multiple features, but it does not specify the exact expected format (FeatureCollection vs GeometryCollection), coordinate order, or error handling. The description fails to compensate for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Draw the smallest polygon that wraps around all input features (a convex hull)' and provides concrete natural-language examples. However, it does not explicitly distinguish this tool from closely related siblings like envelope_geojson or minimum_rotated_rectangle, so it falls just short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The examples ('draw a boundary around these points', 'find the outer perimeter of my data') provide clear context for when this tool is appropriate. There is no explicit discussion of when not to use it or which alternative to choose (e.g., envelope for bounding boxes), but the intended use case is understandable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
count_featuresAInspect
Count 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.
Returns JSON: {"ok": true, "count": ..., "name": ..., "geometry": ...}.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| where | No | 1=1 | |
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the return JSON structure and notes that token is only for private layers, but does not mention rate limits, error handling, or behavior on unavailable services. The description offers basic transparency but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loading the purpose. It is efficient but could be more structured (e.g., using bullet points for parameters). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (count, 3 parameters, output schema described), the description covers the essential aspects. Sibling tools are many but distinct enough that the core function is clear. However, for a counting tool, the description could mention if count is approximate or exact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well: it explains service_url format, token purpose, and where defaults. However, it does not detail the token's usage (e.g., how to obtain it) or the WHERE clause syntax beyond a default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('count') and resource ('features in an ArcGIS FeatureServer layer'), with optional WHERE filtering. It clearly distinguishes from sibling tools like query_features (which returns features) and query_statistics (which computes aggregates).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for counting features with optional filtering, but does not explicitly state when to use this tool over alternatives. It provides no 'when not to use' guidance or comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
csv_to_geojsonAInspect
Convert a CSV/spreadsheet with lat/lon (or X/Y) columns to GeoJSON — auto-detects the coordinate columns (e.g. "map this spreadsheet", "CSV with lat/lon to GeoJSON", "turn my Excel export into map points"). Returns a GeoJSON FeatureCollection as a JSON string.
| Name | Required | Description | Default |
|---|---|---|---|
| csv | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that coordinate columns are auto-detected and that the output is a GeoJSON FeatureCollection as a JSON string. It does not cover edge cases or error behavior, but for a simple conversion tool the key behaviors are communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description opens with the core purpose and includes several user-phrase examples that help with intent matching. It is slightly long but every part contributes value, so it remains well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one parameter and an output schema), the description covers the essential purpose, input expectations, and return type. The only significant gap is input format clarity, which is already captured in parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required 'csv' string parameter with 0% description coverage, and the description does not clarify whether the value should be raw CSV content, a file path, or a URL. It only implies the data should contain lat/lon or X/Y columns, which is not enough to fully resolve parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts a CSV/spreadsheet with lat/lon or X/Y columns to GeoJSON, and explicitly mentions auto-detection of coordinate columns. This distinguishes it from sibling converters like geojson_to_csv, gpx_to_geojson, or kml_to_geojson.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context through user-intent examples like 'map this spreadsheet' and 'turn my Excel export into map points', which help an agent decide when to use this tool. It does not explicitly mention alternatives or when-not-to-use, but the context is sufficient for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_coordinate_orderAInspect
Detect whether [x, y] pairs are [lon, lat] or [lat, lon] — resolves a genuinely common real-world confusion (one of the most-viewed GIS StackExchange questions ever, 550k+ views). Certain when any value exceeds ±90 (only longitude can); honestly reports 'inconclusive' otherwise, never a fabricated guess. Pure computation, no external API. Returns JSON: {ok, order, confidence, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| points | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: only longitude can exceed ±90, so certainty when values exceed that; otherwise returns 'inconclusive' without guessing. It also notes pure computation and no external API, plus the return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded: the first sentence states the purpose. Every sentence adds value, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter input and the presence of an output schema (mentioned but not shown), the description provides sufficient context: explains input semantics, behavioral certainty, and return JSON structure. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explains that the tool takes [x,y] pairs and detects their order, adding context beyond the schema's raw array definition. It clarifies the semantic meaning of the input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'detect' and clearly states the resource: coordinate order. It distinguishes itself from siblings like convert_coordinates by focusing on order detection, not conversion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys when to use the tool: when there is confusion about coordinate order, a common real-world problem. It does not explicitly state when not to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_open_geodataAInspect
Keyword search across ArcGIS Hub Open Data — real public FeatureServer/MapServer datasets from government/organization ArcGIS Online portals worldwide. Returns real service_url values usable directly with query_features/count_features/rest_explore/compare_schemas. Free, no API key. Not a universal open-data search (ArcGIS Hub coverage only — see tool note). Returns JSON: {ok, query, count, results, source, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It mentions free usage, no API key, and return JSON structure. However, it omits details like rate limits, pagination, error handling, or behavior when no results are found. Adds some context but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise (4 sentences) and front-loaded. It uses line breaks and a bullet-like list for the output JSON. It could be slightly tighter, but it remains informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low complexity with 2 parameters and an output schema. The description covers the main purpose and output fields but lacks details on error handling, edge cases (e.g., no results), or parameter formatting. Adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description should explain parameters. It only implies 'query' via keyword search and does not mention 'limit'. No elaboration on default values, constraints, or usage. This leaves the agent underinformed about parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool performs keyword search across ArcGIS Hub Open Data, returning real service URLs. It distinguishes itself by noting it's not a universal open-data search, and it lists compatible sibling tools, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: it states when to use (for ArcGIS Hub open data search), how results are used (with specific tools like query_features), and limitations ('Not a universal open-data search'). It also notes no API key required, aiding tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dissolve_geojsonAInspect
Merge overlapping/adjacent geometries into one (optionally grouped by a
property field by → one dissolved feature per distinct value).
Returns JSON {ok, by, group_count, geojson}.
| Name | Required | Description | Default |
|---|---|---|---|
| by | No | ||
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It states the merge operation and the return format, but does not disclose whether geometries are modified, authentication requirements, or behavior for non-overlapping geometries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences efficiently cover purpose, optional grouping, and return value. No redundant information, and key details are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, parameter usage, and output format. With two parameters and an explicit return structure, it is largely complete. However, it lacks error handling details or input validation notes, which would enhance completeness for a geospatial tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add meaning. It explains that the 'by' parameter groups features and that each distinct value yields one dissolved feature. 'geojson' is not elaborated but is expected as a GeoJSON string. The description adds value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool merges overlapping or adjacent geometries into one, with optional grouping by a property field. This distinguishes it from sibling tools like buffer_geojson or overlay_geojson, which perform different geometric operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use the tool (to merge overlapping/adjacent geometries) and mentions the optional grouping parameter. However, it does not explicitly exclude cases or compare with alternatives like overlay_geojson for union operations, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dxf_to_geojsonAInspect
Convert an AutoCAD DXF file's contents to GeoJSON — e.g. "convert
this DXF to GeoJSON", "AutoCAD drawing to GIS format", "DXF export from
Civil 3D to GeoJSON", "extract only the UTILITIES layer from this DXF".
POINT/LINE/LWPOLYLINE/POLYLINE/ARC/CIRCLE entities convert (arcs/circles
are tessellated into LineString/Polygon); splines, text, hatches and 3D
solids have no GIS geometry equivalent and are skipped, not errored on.
Every feature's properties.layer carries its DXF layer name (group code
8). Pass layer to return only that layer's entities — see
list_dxf_layers to discover what layer names exist first.
| Name | Required | Description | Default |
|---|---|---|---|
| dxf | Yes | ||
| layer | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states that arcs/circles are tessellated into LineString/Polygon, that splines/text/hatches/3D solids are skipped (not errored), and that each feature's properties.layer will carry the DXF layer name. These are valuable behavioral details beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary purpose, followed by concrete examples, conversion details, and usage tips. Every sentence adds information—no filler. Though moderately long, it remains efficient and well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description covers all key aspects: input (DXF content), output (GeoJSON with layer attribute), entity handling (which convert, which are skipped), optional filtering, and a related tool (list_dxf_layers). The existence of an output schema reduces the need to describe return values, and the description covers the rest comprehensively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates by explaining the `layer` parameter ('Pass `layer` to return only that layer's entities') and referencing list_dxf_layers. The `dxf` parameter is not explicitly explained, but its meaning is strongly implied by the tool name and description ('Convert an AutoCAD DXF file's contents'). Thus, it adds meaning for at least one parameter and contextualizes both.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Convert an AutoCAD DXF file's contents to GeoJSON'. It provides multiple usage examples and specifies exactly what entity types are converted (POINT/LINE/LWPOLYLINE/POLYLINE/ARC/CIRCLE) and which are skipped, effectively distinguishing it from related tools like georeference_dxf or dxf_to_pdf_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use the tool (e.g., 'convert this DXF to GeoJSON', 'extract only the UTILITIES layer') and references a prerequisite workflow (using list_dxf_layers to discover layer names). However, it does not explicitly mention when not to use it or name alternative tools, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dxf_to_pdf_reportAInspect
PAID (150 credits) — render a DXF drawing to a one-page PDF site-plan report (vector plot + entity-type breakdown + layer list, base64- encoded PDF) — e.g. "make a PDF of this site plan", "DXF to PDF report". No basemap (DXF coordinates are usually local drawing units, not real lon/lat) — use georeference_dxf first if you need a real-world-referenced report. Requires Authorization: Bearer and sufficient credits balance. Returns JSON: {ok, pdf_base64, feature_count}.
| Name | Required | Description | Default |
|---|---|---|---|
| dxf | Yes | ||
| title | No | DXF Site Plan Report |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully carries the burden. It discloses critical behavioral traits: paid (150 credits), requires Authorization Bearer + sufficient balance, output is base64 PDF, and no basemap due to local units. This goes beyond typical descriptions. Not disclosing error behavior or idempotency is a minor gap, but the cost and auth warnings are particularly valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every clause earns its place: cost warning, core function, examples, no-basemap limitation with alternative, auth requirement, and return structure. It is front-loaded with the most important fact (PAID) and remains compact. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists, the description doesn't need to explain return values, but still does so concisely. It mentions the required auth and credit balance, which is essential for a paid tool. It also distinguishes from georeference_dxf and enough context to select this tool over many siblings. Missing a small note on the optional 'title' parameter's effect, but overall the description is quite complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It gives context about the 'dxf' parameter ('render a DXF drawing') but does not specify the exact input format (e.g., raw DXF content, file path, or base64). The optional 'title' parameter is not mentioned at all, though its default is in the schema. Partial compensation, but leaves ambiguity for one of two parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'render a DXF drawing to a one-page PDF site-plan report'. It clearly distinguishes itself from siblings like dxf_to_geojson and export_geojson_to_pdf by specifying the deliverable (site-plan report with vector plot, entity breakdown, layer list). It also gives example prompts, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance via examples ('make a PDF of this site plan'). It also explicitly tells the agent when NOT to use it: 'No basemap... use georeference_dxf first if you need a real-world-referenced report.' This direct exclusion and alternative are exactly what the dimension asks for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
embed_map_snippetAInspect
Ready-to-paste embed code for a live interactive map — thin wrapper around share_map (same live page, same 30-day TTL), for embedding directly in a website/dashboard rather than sharing a link. Returns JSON: {ok, embed_html, url, expires_at}.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Shared map | |
| width | No | 100% | |
| height | No | 480 | |
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on full burden. It discloses it's a thin wrapper around share_map, mentions the 30-day TTL, and specifies the return JSON fields. However, it doesn't detail side effects, auth needs, or error conditions, leaving minor gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence covers purpose and relationship to share_map, the second lists output fields. Highly efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While it explains the output schema and relationship to share_map, it misses parameter documentation. Given the complexity (4 params, 1 required) and presence of an output schema described in text, it is mostly complete but has a notable gap in parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema parameter coverage is 0%, and the description does not explain any of the four parameters (name, width, height, geojson). It doesn't clarify that geojson is required or how the optional parameters affect output. This is a significant omission given the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides an iframe embed code for a live interactive map. It explicitly distinguishes itself from the sibling share_map by noting it's for embedding rather than sharing a link. The verb 'provides embed code' is specific and the resource is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when to use this tool (for embedding in a website/dashboard) and contrasts with share_map (for sharing a link). It doesn't list exclusions but provides clear context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
envelope_geojsonAInspect
Get the bounding box (min/max rectangle) around each feature — e.g. "get the bounding box of this shape", "bbox for each feature", "rectangular extent of my geometry". Properties are kept.
Returns JSON {ok, geojson}.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and provides key behavioral details: per-feature processing, property preservation ('Properties are kept'), and return format ('Returns JSON {ok, geojson}'). It omits error handling, but for a pure read-only computation this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, impactful sentences: action with definition and examples, property preservation, and return shape. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple per-feature bounding-box utility, the description covers the core behavior, provides examples, notes property preservation, and states the JSON response. An output schema exists so detailed return fields are not necessary. The only minor gap is explicit input format guidance, but the parameter name and examples make it discoverable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never explains the geojson parameter beyond the schema's type string. There is no guidance on expected GeoJSON structure, coordinate order, or constraints, so it fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get the bounding box (min/max rectangle) around each feature' with a specific verb and resource, and provides natural-language examples. It distinguishes itself from geometric siblings like convex_hull_geojson and minimum_rotated_rectangle by emphasizing per-feature rectangular extent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes example user phrasings such as 'get the bounding box of this shape' and 'bbox for each feature', which signal when to use the tool. However, it does not explicitly exclude alternatives like convex hull or minimum rotated rectangle, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
epsg_suggestAInspect
Suggest the correct UTM EPSG code to project a WGS84 lon/lat into for accurate metric measurements (buffer/area/distance).
Returns JSON {ok, epsg, utm_zone, hemisphere, name, warning}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It lists output fields but does not disclose behavioral traits like internet dependency, performance, or warning conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, zero waste. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple suggestion tool with 2 parameters and an output schema, the description covers core functionality and output format. Could mention limitations (e.g., only UTM zones).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description adds minimal context beyond parameter names: it clarifies input is in WGS84 lon/lat but does not specify ranges, units, or coordinate order.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool suggests UTM EPSG codes for projecting WGS84 lon/lat, with a specific purpose (accurate metric measurements). It distinguishes from sibling tools like convert_coordinates or reproject_geojson.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing UTM projection for metric measurements but does not explicitly state when not to use or mention alternatives, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_costAInspect
FREE — quote a paid tool's cost WITHOUT executing it or charging the
wallet (call this before assess_property_hazard etc.).
units = candidate/item count for per-unit-priced tools (currently only
rank_hazard_safe_sites — pass the number of candidates you intend to
submit); ignored (treated as 1) for every flat-priced tool. Returns JSON:
{ok, tool_name, units, credits, eur_estimate} for credits-wallet tools;
for assess_property_hazard_x402 (paid on-chain via x402, not the credits
wallet) returns {ok, tool_name, units, payment, price_usd} instead; or
{ok: false, error} for an unknown/free tool name.
| Name | Required | Description | Default |
|---|---|---|---|
| units | No | ||
| tool_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description fully discloses behavior: it is free, does not execute the tool, and returns different JSON structures based on payment type. Covers edge cases like x402 pricing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thorough but slightly lengthy. However, it is well-structured with front-loaded key info and each sentence adds value. Minor redundancy in explaining both response types.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (has output schema: true), the description explains return formats for both credits-wallet and x402 tools. It covers all necessary information for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains that 'tool_name' is the tool to estimate, 'units' is for per-unit tools and defaults to 1, and how units are handled for flat-priced tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool estimates cost of a paid tool without executing it. It specifies the verb 'quote' and resource 'cost', and distinguishes from siblings by being free and used for cost estimation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'call this before assess_property_hazard etc.' and explains the units parameter for per-unit tools. Provides clear guidance on when to use and how parameters work.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_geojson_to_excelAInspect
PAID (80 credits) — convert a GeoJSON FeatureCollection to an Excel workbook (.xlsx, base64-encoded). Point geometries get LATITUDE/LONGITUDE columns; other geometry types get a GEOMETRY_WKT column. Separate from the web app's own Excel export (AGOL-service-tied, quota-gated there). Requires Authorization: Bearer and sufficient credits balance. Returns JSON: {ok, xlsx_base64, feature_count}.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses paid usage, credit cost, auth requirements, output format (base64-encoded xlsx), and return structure. No mention of error cases or rate limits, but fair given no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, front-loaded summary, uses bullet-point-like structure without clutter. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core behavior, output schema exists for return values, and description adds feature_count. Missing error handling, validation, or more parameter details, but acceptable for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%; description only names 'geojson' but does not explain expected format, size limits, or that it must be a string. Schema provides type 'string' but description adds no extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'convert' and resource 'GeoJSON FeatureCollection to Excel workbook', distinguishes from other export tools (export_geojson_to_pdf, etc.) and explicitly handles geometry types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly states it's paid (80 credits), requires auth and sufficient balance, and distinguishes from web app's Excel export. Lacks explicit when-not-to-use vs. alternatives like geojson_to_csv.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_geojson_to_pdfAInspect
PAID (150 credits) — render an ad-hoc GeoJSON FeatureCollection to a one-page PDF report (static map + property table, base64-encoded PDF). Separate from the web app's own PDF Builder (AGOL-service-tied, quota- gated there) — this is for GeoJSON an agent already has in hand. Requires Authorization: Bearer and sufficient credits balance. Returns JSON: {ok, pdf_base64, feature_count, truncated, size_bytes}.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | GISGP GeoJSON Export | |
| accent | No | #2563eb | |
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses credit cost, authentication requirement, output format (base64-encoded PDF), return schema (ok, pdf_base64, feature_count, truncated, size_bytes), and that it produces one page with map and table. It does not detail error handling or validation, but covers key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence packed with essential information: cost, purpose, differentiation, prerequisites, and output format. Every part adds value, and it is front-loaded with the cost to set expectations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (paid, auth, output schema), the description covers most needs: purpose, alternatives, auth, credits, return fields. However, it omits details like maximum features, meaning of 'truncated', and parameter explanations, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It implies the geojson parameter by referencing 'GeoJSON FeatureCollection' but does not explain the 'title' or 'accent' parameters. Their defaults are given in the schema, but meaning (e.g., accent is a color) is left unclear for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: rendering an ad-hoc GeoJSON FeatureCollection to a one-page PDF report (static map + property table, base64-encoded). It explicitly distinguishes this from the web app's PDF Builder, which is tied to AGOL services and quota-gated, clarifying when to use this tool versus alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: use this for GeoJSON the agent already has in hand, not for AGOL-service-tied data. It also lists prerequisites (Authorization: Bearer, sufficient credit balance) and mentions the cost (150 credits), helping the agent decide when to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_domainsBInspect
Extract coded value domains from an ArcGIS FeatureServer layer.
Returns JSON: {"layer_name": ..., "domains": {field: {name, field_alias, codes}}}.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden of behavioral disclosure. It describes the return format but omits important traits such as authentication requirements (the token parameter's role is unclear), error handling, or rate limits. The tool's behavior under failure conditions is not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences that front-load the purpose. However, it could include additional crucial information (like parameter details) without becoming overly verbose, so slightly more structure would improve completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low-complexity, and the description covers the return format partially. However, given the lack of annotations and parameter descriptions, the description is not fully complete. An agent would need additional context to use it effectively, especially regarding the token and service_url.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the parameters. The token parameter's purpose and requiredness are not clarified; the service_url format is implied but not specified. The return structure is described, but this does not add meaning to the parameters themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts coded value domains from an ArcGIS FeatureServer layer, which is a specific verb and resource. The purpose is unambiguous and distinct from sibling tools, which focus on geometry, analysis, or other GIS operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention prerequisites or limitations. It only states what the tool does without context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_layer_issuesAInspect
Scan an ArcGIS FeatureServer layer for common problems: missing ObjectID, disabled query, stale data, all-null fields, features without geometry.
Sample-based (first 200 records). Returns JSON: {layer_name,
issues:[{severity, code, message}], issue_count, sample_size, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: it is sample-based (first 200 records), returns a JSON structure with layer_name, issues array, issue_count, sample_size, and note. This provides clear expectations beyond the missing annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loading the main purpose and listing issues. It could be slightly more organized (e.g., separating parameter notes), but it is efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (mentioned) and moderate complexity, the description covers the main scanning purpose, sample behavior, and return format. However, it omits parameter explanation, which is a gap for a tool with only two parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the parameters 'service_url' or 'token'. Since the description adds no meaning beyond the schema, it fails to compensate for the lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: scanning an ArcGIS FeatureServer layer for common problems, listing specific issues (missing ObjectID, disabled query, stale data, etc.). This distinguishes it from sibling tools like audit_service or full_service_audit, which are more comprehensive or focused on other aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for quick checks on layer health, but does not explicitly state when to use this tool versus alternatives like audit_service or full_service_audit. No when-not or exclusion criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fix_geometryAInspect
Repair invalid geometries (self-intersections, bad rings) via GEOS make_valid. Already-valid geometries are left untouched. Returns JSON {ok, fixed_count, feature_count, geojson}.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses use of GEOS make_valid, return format (JSON with ok, fixed_count, feature_count, geojson), and behavior on valid geometries. No annotations provided, so description carries full burden; it does well but lacks mention of error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Every sentence adds value: first defines purpose, second describes return and edge case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, input, output, and behavior for valid geometries. Output schema exists but not shown; description still provides enough detail for a single-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but description adds that input is GeoJSON and output includes the fixed geometry. However, does not elaborate on format or constraints beyond the schema's type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states specific verb 'repair', resource 'geometries', and lists exact issues (self-intersections, bad rings). Clearly distinguishes from sibling tools like simplify_geometry or buffer_geojson.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for invalid geometries, but no explicit 'when to use' or 'when not to use' compared to alternatives. States that valid geometries are untouched, providing some guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
full_service_auditAInspect
Complete one-call QA report: A-F grade + full audit (health/fields/ domains/summary) + issue scan, merged into one response — replaces 3 separate calls (grade_service + audit_service + find_layer_issues).
Returns JSON: {ok, grade, score, categories, archetype, insight,
percentile, share_url, audit: {name, health, fields, domains, summary},
issues, issue_count}.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It describes the return format (JSON fields) and the merged nature of the response, but does not disclose any other behavioral traits such as authentication, rate limits, side effects, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences: the first states the core purpose and the second details the return schema. It is front-loaded and efficient, though the structure could be slightly improved by using bullet points for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool replaces three separate tools, the description covers the main output fields but omits explanation of the 'token' parameter. With an output schema described in text, it is moderately complete but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description mentions 'service_url' implicitly via 'one-call QA report' but does not explain the 'token' parameter at all, leaving the agent without guidance on its purpose or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Complete'), names the resource ('QA report'), and clearly distinguishes from siblings by naming three separate tools it replaces (grade_service, audit_service, find_layer_issues). The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states that this tool 'replaces 3 separate calls', giving clear guidance on when to use it. However, it does not explicitly state when not to use it or mention alternatives for partial needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_static_map_imageAInspect
Render a GeoJSON FeatureCollection/Feature to a static PNG map image (base64 data URL) — for embedding in reports/emails/documents, unlike share_map's interactive live page. basemap: 'topo', 'streets', or 'satellite'. Reuses the exact rendering path already used inside PDF map reports, no new map-rendering logic. Optional agol_token: for a single-Point input, renders through Esri's own Static Maps Service instead (real ArcGIS basemap tiles) — uses YOUR OWN AGOL credentials/quota, not GISGP's (multi-feature/non-point input always uses the default renderer regardless of token). Returns JSON: {ok, image_data_url, feature_count, width, height, basemap}.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | ||
| accent | No | #2563eb | |
| height | No | ||
| basemap | No | topo | |
| geojson | Yes | ||
| agol_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Explains rendering path (reuses PDF map reports logic), basemap options, and agol_token behavior for single-Point vs multi-feature input. Mentions return format. Missing error handling details, but overall transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is reasonably concise (few sentences) with a clear structure: purpose, distinction from sibling, basemap detail, token behavior, return format. Each sentence adds value, though could be slightly shorter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters and an output schema (described in text), the description covers essential aspects: purpose, usage context, behavioral details, and return fields. Lacks input validation or error states, but sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage (no parameter descriptions in JSON schema). Description adds meaning for basemap (lists options) and agol_token (explains conditional behavior), but does not detail width, height, accent, or geojson beyond stating they exist. Partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it renders GeoJSON to a static PNG map image (base64 data URL) for embedding in reports/emails/documents, distinguishing it from share_map (interactive live page). The verb 'render' and resource 'GeoJSON FeatureCollection/Feature' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions when to use (embedding in reports/emails/documents) and contrasts with share_map. Provides context for optional agol_token usage, but does not specify when not to use other siblings beyond share_map.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geocode_addressAInspect
Forward-geocode a free-text address to lon/lat. Default: OSM Nominatim (no key, free, fair-use rate limited) — the complement to analyze_location's reverse geocode. Optional agol_token: route through Esri's own World Geocoding Service instead for more authoritative matches — uses YOUR OWN AGOL credentials/quota, not GISGP's (no extra charge either way, no GISGP account needed for this option). Returns JSON: {ok, lon, lat, display_name, type, importance, source}.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ||
| agol_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses provider behavior (rate limits, free), credential needs, and return format. Explains that agol_token routes through Esri's service with user's own quota. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is slightly verbose but well-structured: core function first, then details, then return format. Could be trimmed slightly but every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool complexity is moderate. Output schema exists and description lists return fields. Parameter semantics, behavioral notes, and usage scenarios are fully covered. Complete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must add meaning. It does: 'address' is free-text; 'agol_token' is optional and explained. Both parameters are covered beyond just names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it forward-geocodes a free-text address to lon/lat. Explicitly distinguishes itself as complement to sibling analyze_location's reverse geocode, which differentiates well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes two usage paths: default OSM Nominatim (free, rate-limited) and optional agol_token for Esri service. Notes no extra charge and that agol_token uses user's own credentials/quota. Does not explicitly list when not to use, but adequate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geojson_diffAInspect
Compare two GeoJSON FeatureCollections — added/removed/changed features.
Matched by an `id_field` property if given, else by array position (exact
structural comparison, not topological equals). Returns JSON {ok, added,
removed, changed, added_count, removed_count, changed_count, unchanged_count}.
| Name | Required | Description | Default |
|---|---|---|---|
| id_field | No | ||
| geojson_a | Yes | ||
| geojson_b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It explains the exact matching method (id_field or array position) and that comparison is structural, not topological. It also details the output format. However, it does not mention performance, error handling, or input size limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: purpose, matching logic, output format. It is concise, front-loaded, and each sentence adds value. No redundant or unclear phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a diff tool with no annotations and 0% schema coverage, the description covers the core functionality and output well. It lacks details on error scenarios, input validation, or limitations, but the presence of an output schema reduces the need to describe return values. Overall, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains that geojson_a and geojson_b are the two inputs and that id_field is an optional property for matching. It does not specify that inputs should be valid GeoJSON strings, but the schema indicates string type. The description provides meaningful context beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: comparing two GeoJSON FeatureCollections to find added, removed, and changed features. It specifies the matching logic (by id_field or array position), which distinguishes it from other geospatial tools like overlay_geojson or validate_geojson.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (for detecting changes between two feature collections) but does not explicitly mention when not to use it or provide alternatives. Sibling tools include other GeoJSON operations but no direct diff alternative, so the guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geojson_to_csvAInspect
Convert GeoJSON to CSV/spreadsheet — one row per feature, properties as columns, geometry flattened into a column (e.g. "turn this GeoJSON into Excel/CSV", "I need a spreadsheet from these map features", "export GeoJSON as a table"). Returns the CSV as plain text.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses the conversion scheme (one row per feature, properties as columns, geometry flattened) and the return type (plain text CSV), giving the agent a clear behavioral model. However, it does not mention handling of nested properties or non-FeatureCollection inputs, which could be edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with a clear main clause, a dash-delimited detail section, and parenthetical examples. No wasted words; front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple conversion tool with a single parameter and an output schema not shown, the description covers purpose, usage intent, output format, and gives examples. It could add edge-case behavior (e.g., handling of geometry types) but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It identifies the input as GeoJSON and clarifies that it processes features, but it does not specify the expected structure (e.g., FeatureCollection vs single feature) or string format. The parameter name 'geojson' is self-explanatory, limiting the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Convert' plus resource 'GeoJSON to CSV/spreadsheet' clearly states the function. It distinguishes from sibling converters (geojson_to_kml, geojson_to_shapefile) by naming the target format, and the phrase 'one row per feature, properties as columns' adds precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides example user intents that signal when to use this tool ('turn this GeoJSON into Excel/CSV', 'I need a spreadsheet from these map features'), but it does not explicitly exclude alternatives like export_geojson_to_excel. The phrase 'Returns the CSV as plain text' hints at a distinction but could be more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geojson_to_dxfAInspect
Convert GeoJSON to an AutoCAD DXF file — e.g. "export this GeoJSON to DXF for AutoCAD", "GIS data to CAD format", "convert to .dxf for Civil 3D". Points become DXF POINT entities; lines and polygon rings become LWPOLYLINE entities. A feature's properties.layer (if present) is written back as the DXF entity's layer (group code 8), defaulting to layer "0" otherwise.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the entity mapping (points to POINT, lines and polygon rings to LWPOLYLINE) and the layer handling (properties.layer to group code 8, default '0'). However, it does not mention behavior for MultiPolygon, GeometryCollection, or coordinate system handling, which are common edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loaded with the primary purpose, followed by the entity mapping and layer behavior. Every sentence adds value, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential conversion logic and layer handling, making the tool's behavior clear. It does not address unsupported geometry types or coordinate reference system considerations, but the presence of an output schema covers return values. For a single-input conversion tool, this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage, so the description must compensate. It clarifies that the 'geojson' parameter is the GeoJSON data to be converted, which adds a little meaning beyond the bare schema. However, it does not specify expected format details (e.g., raw string vs. file path, CRS expectations), leaving gaps for a 0% coverage situation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts GeoJSON to an AutoCAD DXF file, using specific verbs and resources. It distinguishes itself from sibling tools like dxf_to_geojson (reverse direction) and includes user-phrase examples to reinforce the intended use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides examples of when to use the tool (e.g., 'export this GeoJSON to DXF for AutoCAD', 'convert to .dxf for Civil 3D'), which clearly indicate the context. It does not explicitly mention alternatives or exclusions, but the naming and examples make the appropriate scenario obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geojson_to_gpxAInspect
Convert GeoJSON to a GPX file — e.g. "export this as a GPS track", "GeoJSON to GPX for my Garmin", "make waypoints from this GeoJSON". Points become GPX waypoints; lines and polygon rings become GPX tracks (GPX has no native polygon type). Non-name properties are dropped — GPX has no generic attribute-table equivalent.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses important behaviors: points become waypoints, lines/polygon rings become tracks, and non-name properties are dropped. It explains the rationale (GPX lacks polygon types and attribute tables), providing transparent insight into data transformation and potential data loss.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, front-loaded with the primary function, and uses examples to illustrate usage. Each sentence adds value: conversion rules, geometry behavior, and property dropping are all relevant. It is concise without being overly terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple conversion tool with one parameter and an output schema, the description covers all necessary aspects: the conversion process, geometry-type mapping, and data loss caveats. It does not need to explain return values since an output schema exists. The description is complete and self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'geojson' as a string without a description (0% coverage). The description effectively implies the parameter contains GeoJSON data, reinforced by the tool's purpose and examples. While it doesn't explicitly state the expected format (e.g., WGS84), the meaning is unambiguous for a single-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts GeoJSON to a GPX file, with examples like 'export this as a GPS track' and 'GeoJSON to GPX for my Garmin'. It also specifies geometry handling (points to waypoints, lines/polygons to tracks), which distinguishes it from other conversion tools and clarifies its exact scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete usage examples and implies when to use it (GPS track export, Garmin devices). It also mentions limitations like dropped properties and polygon handling, but does not explicitly contrast with alternative formats (e.g., KML, CSV) or state when not to use it. This is clear context but lacks direct exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geojson_to_kmlAInspect
Convert GeoJSON to KML for Google Earth / Google My Maps (e.g. "open this in Google Earth", "GeoJSON to KML", "make this viewable in Google My Maps"). Returns the KML as plain text.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description itself must disclose behavioral traits. It does state that the tool 'Returns the KML as plain text', which is a useful behavioral detail about output format. However, it does not mention any limitations, edge cases, or error handling. The disclosure is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core action, and every sentence earns its place. The parenthetical examples are valuable usage illustrations without bloating the text. It is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter conversion tool, the description covers the main aspects: what it does, when to use it, and the output format. An output schema exists, so the description does not need to detail the KML structure. Minor gaps include not mentioning that the input should be a GeoJSON string in a specific syntax, but overall it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'geojson' has zero schema description coverage, and the description fails to add meaningful semantics beyond the parameter name. The phrase 'Convert GeoJSON' merely restates the parameter's purpose, providing no additional guidance about expected format, examples, or constraints. The description should compensate for the low schema coverage but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: 'Convert GeoJSON to KML'. It also includes concrete use-case examples ('open this in Google Earth', 'make this viewable in Google My Maps') that distinguish this from other format converters. The purpose is unambiguous and differentiates from sibling tools like geojson_to_csv or kml_to_geojson.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit example user requests ('open this in Google Earth', 'GeoJSON to KML', 'make this viewable in Google My Maps') that signal when to use this tool. It does not, however, mention when not to use it or name specific alternative tools, so it falls short of full usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geojson_to_shapefileAInspect
Convert GeoJSON to an Esri Shapefile ZIP — the format ArcGIS Desktop Pro/QGIS/most legacy GIS software still expects (e.g. "I need a shapefile for ArcGIS Pro", "GeoJSON to SHP", "convert for QGIS import").
Returns JSON: {shapefile_zip_base64, warnings}.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It accurately states the conversion action and the return JSON structure including base64 ZIP and warnings. However, it does not detail any limitations (e.g., shapefile field name restrictions, geometry type handling, or CRS assumptions) that could be relevant for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences that front-load the main action and include useful example queries. Every sentence adds value: the first explains the conversion and target audience, the second specifies the return format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter conversion tool, the description is mostly complete. It includes the output structure and practical usage context, but lacks explicit input format specification and potential conversion constraints. The output schema exists, so return values are partly covered, but the description supplements it well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and the only parameter is 'geojson' with type string. The description does not clarify whether the input is raw GeoJSON text, a file path, or a URL. It only repeats that the tool converts GeoJSON, adding little beyond the parameter name itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Convert GeoJSON to an Esri Shapefile ZIP' with a specific verb and resource. It distinguishes from siblings by specifying the target format and mentioning ArcGIS Pro/QGIS, which are not relevant to CSV or KML conversions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool through example user requests like 'I need a shapefile for ArcGIS Pro' and 'convert for QGIS import'. It does not explicitly name alternatives or exclusions, but the use cases make the intended scenario evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geojson_to_wktAInspect
Convert a GeoJSON geometry (or a Feature's geometry) to WKT — the format needed to insert geometry into PostGIS/SQL (e.g. "I need this for a PostGIS INSERT", "GeoJSON to WKT", "geometry as WKT string").
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the input types (geometry or Feature) and the output target (WKT), plus the PostGIS/SQL context. However, it does not mention output format details (e.g., whether it returns a string), coordinate handling, or error behavior, leaving meaningful gaps for a conversion tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that begins with the action verb and includes relevant examples in parentheses. Every phrase adds value—input type, output format, use case, and sample queries—with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the existence of an output schema, the description is nearly complete. It covers what the tool converts, the output format (WKT), and the practical context (PostGIS/SQL). It could be more thorough by specifying coordinate systems or output type, but these are not critical for this straightforward conversion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name 'geojson' with no description (0% coverage). The description compensates by clarifying that the parameter can be a GeoJSON geometry or a Feature's geometry, adding meaning beyond the bare schema. It does not provide examples of the exact string format, but this is sufficient for a single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool converts a GeoJSON geometry (or a Feature's geometry) to WKT, with a specific verb ('Convert') and resource ('GeoJSON geometry'). It also differentiates from siblings like wkt_to_geojson by specifying the direction and mention of PostGIS/SQL, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context through user intents (e.g., 'I need this for a PostGIS INSERT', 'GeoJSON to WKT'), effectively telling the agent when to invoke this tool. However, it does not explicitly name alternatives or exclusion criteria, though the sibling list makes it obvious that wkt_to_geojson is the reverse operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geometry_health_reportAInspect
Complete one-call GeoJSON health check: validate + auto-repair invalid geometry + stats (area/length/vertices) + bbox envelope, merged — replaces 4 separate calls (validate_geojson + fix_geometry + geometry_stats + envelope_geojson).
Returns JSON: {ok, valid, errors, warnings, fixed_count, stats, envelope,
geojson} where geojson is the (possibly auto-fixed) input.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: it auto-repairs invalid geometry, returns a structured JSON with fields like fixed_count, stats, envelope, and the possibly fixed geojson. No hidden side effects are implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no fluff. The first sentence front-loads the core action and list of operations. The second sentence provides usage context, and the third details the return structure. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists the return fields and notes the input may be auto-fixed. It does not cover error handling or invalid input behavior, but given the presence of an output schema (implied), the description is largely complete for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'geojson' has 0% schema description coverage. The description adds context by using the term 'GeoJSON', making it clear the parameter expects a GeoJSON string. However, it does not specify expected format or constraints beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it performs validation, auto-repair, stats (area/length/vertices), and bbox envelope in one call. It clearly distinguishes itself by mentioning it replaces four separate sibling tools (validate_geojson, fix_geometry, geometry_stats, envelope_geojson).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'replaces 4 separate calls', providing clear guidance that this tool is a combined alternative. The sibling list includes those four tools, so the agent can infer when to use this versus the individual ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geometry_statsAInspect
Compute 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.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses use of equal-area projection for metric accuracy, which is key behavioral detail. Lacks notes on error handling or input validation, but tool is read-only and simple.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with main outputs, followed by projection detail. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has output schema, so return values are covered. Description covers main functionality and key nuance (equal-area projection). For a single-parameter tool, it is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter 'geojson' with no schema description (0% coverage). Description mentions 'of GeoJSON' implying expects a GeoJSON string, adding some meaning but not specifying format requirements or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool computes area, length, vertex count, centroid, and bbox of GeoJSON, using specific verbs and resource. It distinguishes from sibling geometry tools (e.g., buffer, convex hull) by focusing on statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context on when to use (accurate metric measurements via equal-area projection) but does not explicitly state when not to use or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
georeference_dxfAInspect
Reproject a DXF drawn in a local/arbitrary CAD coordinate system into real-world coordinates — e.g. "this DXF isn't in real coordinates, fix it", "georeference this site plan", "I know 2 points on this drawing's real location, convert the rest". Give exactly 2 control points as a JSON array: '[{"local":[x,y],"real":[lon,lat]}, {"local":[x,y],"real":[lon,lat]}]' — a 2-point similarity transform (uniform scale + rotation + translation) is solved and applied to every coordinate. Returns a GeoJSON FeatureCollection in the real coordinate system implied by the 2 points.
| Name | Required | Description | Default |
|---|---|---|---|
| dxf | Yes | ||
| control_points | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the core behavior (solves a 2-point similarity transform and applies to every coordinate) and the output format (GeoJSON FeatureCollection). It does not mention limitations like degenerate control points, but this is reasonable for a focused tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that is informative without being bloated. Examples and technical details are front-loaded and relevant, though it is slightly longer than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description need not explain return values. It covers the operation, input format, and transform logic. It could mention error conditions but overall is complete enough for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description compensates well by explaining the control_points format in detail ('[{"local":[x,y],"real":[lon,lat]}, ...]') and needing exactly 2 points. The dxf parameter is left implicit but is clear from context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Reproject a DXF') and clearly distinguishes this tool from siblings like dxf_to_geojson (converts format) and reproject_geojson (reprojects existing GeoJSON). The examples clarify the exact use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context with example user intents ('this DXF isn't in real coordinates, fix it') and specifies the transform method. However, it does not explicitly say when not to use this tool or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_climate_historyAInspect
Daily historical weather for a point/date range via Open-Meteo's ERA5-based archive (no key, free, data back to 1940). Dates are YYYY-MM-DD. Returns JSON: {ok, daily: {time, ...}, source}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes | ||
| end_date | Yes | ||
| variables | No | temperature_2m_mean,precipitation_sum | |
| start_date | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It explains the data source, date format, that it's free and keyless, and the return JSON structure. It does not describe error handling, rate limits, or geographic coverage limitations, but the provided information is sufficient for basic use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the purpose and key differentiator, the second covers dates and return format. Every word adds value, and the structure is front-loaded for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and no annotations, the description covers the essential behavioral aspects and output format. It lacks some edge-case details (e.g., historical range before 1940, invalid coordinates) but is adequate for a free API tool. The presence of an output schema helps, though the description already summarizes it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description only explains the date format (YYYY-MM-DD) for start_date and end_date. It does not clarify lat/lon conventions, the 'variables' parameter format (comma-separated), or other parameter defaults/ranges. This is a significant gap given the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool provides daily historical weather data for a point/date range via Open-Meteo's ERA5 archive. It distinguishes itself from sibling tools (all geospatial analysis) by focusing on climate history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is free and requires no API key, which are useful usage guidelines. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide any exclusion criteria. Given that siblings are all different, it's implicitly the only weather tool, but explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_terrain_profileAInspect
Get the ground elevation (metres above sea level) at a coordinate — e.g. "what's the elevation here", "is this point in a flood-risk lowland", "elevation at this address". Via Open-Meteo (Copernicus DEM GLO-90, no key, free, ~90m resolution).
Returns JSON: {ok, lon, lat, elevation_m, source}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the data source (Open-Meteo Copernicus DEM), no API key needed, free usage, ~90m resolution, and the return JSON structure. Lacks error handling or coordinate order details, but provides substantial context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences covering purpose, data source, and return format. The return format sentence is redundant given the output schema, but it is brief and adds emphasis. Overall efficient with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-param read-only tool with an output schema, the description covers purpose, data source, resolution, no-key access, and return shape. Missing edge cases are not critical for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It refers to 'a coordinate' and output includes lon/lat, but does not explicitly state coordinate format (decimal degrees) or that addresses require prior geocoding. The example 'elevation at this address' could mislead an agent into passing an address string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get the ground elevation (metres above sea level) at a coordinate' with specific unit and resource. Examples like 'what's the elevation here' help distinguish it from sibling assessment tools that perform broader analyses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides example intents (flood-risk lowland, address elevation) that imply when to use. Does not explicitly contrast with sibling tools like assess_property_hazard, but the context is clear for a direct elevation lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gpx_to_geojsonAInspect
Convert a GPS track/route file (GPX — from Garmin, Strava exports, hiking/cycling apps, waypoints) to GeoJSON (e.g. "convert my GPS track to GeoJSON", "GPX to GeoJSON", "import my Strava route").
Returns the GeoJSON FeatureCollection as a JSON string.
| Name | Required | Description | Default |
|---|---|---|---|
| gpx | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states the return type: 'Returns the GeoJSON FeatureCollection as a JSON string.' This adds meaningful detail beyond the schema. It does not mention potential limitations (e.g., attribute preservation), but for a straightforward conversion tool this level of disclosure is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core action. The first sentence clearly states purpose and provides useful examples; the second sentence reveals the return format. There is no redundant content, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter conversion tool with an output schema, the description covers the essential aspects: what it converts, what it returns, and typical use cases. It lacks explicit details about input format expectations (path vs. content) but overall is sufficiently complete for an agent to select and correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has only one parameter 'gpx' with no description, and the schema description coverage is 0%. The tool description implicitly explains that the parameter is the GPX file content by naming it and referencing track/route files, but it does not explicitly state that the string should contain GPX data or clarify whether it expects file contents or a path. The description adds some meaning but does not fully compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: converting a GPX file to GeoJSON. It names the source format (GPX) and target format (GeoJSON), distinguishes it from siblings like gpx_to_kml and kml_to_geojson, and provides example user intents ('convert my GPS track to GeoJSON', 'GPX to GeoJSON').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by mentioning common GPX sources (Garmin, Strava exports, hiking/cycling apps) and example phrasings that signal when to use the tool. It does not explicitly name alternative tools or state when not to use it, but the format-specific purpose makes the usage context evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gpx_to_kmlAInspect
Convert a GPS track file (GPX) directly to KML for Google Earth — e.g. "open my Garmin/Strava track in Google Earth", "GPX to KML".
| Name | Required | Description | Default |
|---|---|---|---|
| gpx | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for disclosing behavioral traits. It only states the conversion action, but does not mention input format expectations, handling of invalid files, whether metadata is preserved, or any limitations. This is minimal disclosure for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the core purpose stated upfront and two illustrative examples. Every sentence is informative, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple conversion tool with one parameter and an output schema present, the description is adequate but incomplete. It covers the primary purpose but lacks input format specification and any behavioral caveats, which are important for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'gpx' with zero description coverage, and the tool description does not clarify whether the input is file content, a file path, or a URL. This leaves the parameter semantics ambiguous and forces the agent to guess the expected input format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb 'Convert' and resource 'GPS track file (GPX) to KML for Google Earth'. It includes examples of use cases and inherently differentiates from sibling tools like gpx_to_geojson, as it specifies the output format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context with examples of when to use the tool (e.g., opening a Garmin/Strava track in Google Earth). While it doesn't explicitly exclude alternatives, the purpose and examples are sufficient to guide selection among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grade_serviceAInspect
Grade an ArcGIS FeatureServer layer A–F across 5 categories (schema quality, data completeness, performance, maintenance, configuration).
Returns JSON: {grade, score, categories:[{key, label, score, note}], archetype,
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).
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses output structure and token privacy, but does not explicitly state whether the tool is read-only, its impact on the service, rate limits, or authentication requirements beyond the token hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The main action is front-loaded, and output fields are listed clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a grading tool with detailed output, the description covers the output schema fields and token behavior. It does not explain the 5 categories or grading criteria, but the output schema likely handles that. Good overall.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description adds essential meaning: token is 'only for private layers (never stored in the scorecard)' and service_url is implied by context. It compensates well for two parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Grade' and the resource 'ArcGIS FeatureServer layer' with specific grading scale (A–F) and 5 categories, distinguishing it from siblings like audit_service which has a different focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context for when to use the token parameter ('only for private layers') and notes that share_url can be sent to a human. However, it does not explicitly compare to similar tools like audit_service or explain when grading is preferred over auditing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guess_crs_from_coordinatesAInspect
Best-guess candidate CRS for raw [x, y] coordinates with no metadata (e.g. a shapefile with a missing .prj) — real demand signal (79k+ views on GIS StackExchange). Genuinely ambiguous by nature — returns ranked candidates with an honest 'not a certain identification' caveat, never a single confident answer. Pure computation, no external API. Returns JSON: {ok, x_range, y_range, candidates, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| points | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, but description fully discloses behavior: returns ranked candidates with uncertainty caveat, never a single answer, pure computation no API, and lists JSON return fields. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus return format: every sentence earns its place. Front-loaded with purpose, followed by caveats, safety, and output structure. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, behavior, and returns. Missing input size limits or error handling, but the tool is simple and description is sufficient for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has zero description coverage, but description adds 'raw [x, y] coordinates', implying each point is a 2-element array. Could be more explicit about required shape, but provides essential context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it guesses a CRS from raw coordinates with no metadata, using a specific example (missing .prj). Distinguishes from siblings by focusing on coordinate-only CRS identification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for when to use (shapefile with missing .prj) and sets expectations about ambiguity. Lacks explicit exclusions or alternatives, but the specialized use case is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kml_to_geojsonAInspect
Convert Google Earth / Google My Maps KML (2.0–2.2) to GeoJSON — the common request when someone exported a map from Google Earth or Google My Maps and needs it in a format other GIS tools/APIs accept (e.g. "convert my Google Earth file to GeoJSON", "KML to GeoJSON").
Returns the GeoJSON FeatureCollection as a JSON string.
| Name | Required | Description | Default |
|---|---|---|---|
| kml | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It states the output is a 'GeoJSON FeatureCollection as a JSON string' and specifies the supported KML versions, offering basic transparency. However, it does not disclose potential limitations (e.g., handling of unsupported KML features, coordinate system behavior) or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise and front-loaded with the core action. The example queries in parentheses add useful context for matching user intent without being excessively verbose. The structure is clear, though the second paragraph could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (one parameter) and the presence of an output schema, the description covers the main purpose, inputs (implicitly), and output format. However, the lack of explicit parameter clarification and any note on edge cases or errors leaves some gaps, making it adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'kml' with no description at all (coverage 0%), so the description must compensate. It only implies through context that the parameter should be the KML content, but it never explicitly states that 'kml' expects the raw KML XML string, nor does it clarify any formatting requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Convert') and resource ('Google Earth / Google My Maps KML (2.0–2.2)') with a specific output ('GeoJSON'). It distinguishes this from sibling tools like kml_to_shapefile or gpx_to_geojson by naming the exact source and target formats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool: when someone has exported a map from Google Earth or Google My Maps and needs a format other GIS tools accept. It does not explicitly name alternative tools or exclusions, but the context is sufficient to infer appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kml_to_shapefileAInspect
Convert a Google Earth/My Maps KML file directly to an Esri Shapefile ZIP — e.g. "Google Earth file to shapefile for ArcGIS", "KML to SHP". Returns JSON: {shapefile_zip_base64, warnings}.
| Name | Required | Description | Default |
|---|---|---|---|
| kml | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the conversion behavior, the output format (JSON with shapefile_zip_base64 and warnings), and implies a safe, non-destructive operation. It could mention limitations or size constraints, but the return structure and warnings add useful behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences long, front-loads the core purpose in the first words, and every phrase adds value—including the examples and return structure. No redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter conversion tool, the description covers the essential context: what it converts, the output format, and the JSON structure. Given the output schema exists, it doesn't need to enumerate return fields in depth, and the description is complete enough for an agent to invoke it correctly. Minor gaps include lack of error handling or edge cases, but these are not critical for a simple converter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the 'kml' parameter, and the description only indirectly indicates it is the KML file content. It doesn't explicitly clarify whether it's the raw XML string, a file path, or a URL. The parameter name is intuitive, but the description does not fully compensate for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the conversion from KML to Shapefile ZIP with a specific verb ('Convert') and resources ('Google Earth/My Maps KML file' to 'Esri Shapefile ZIP'). It also provides search phrase examples that help identify the tool's exact purpose, distinguishing it from sibling converters like kml_to_geojson and geojson_to_shapefile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives implicit usage context by showing example queries ('Google Earth file to shapefile for ArcGIS', 'KML to SHP') that indicate when this tool is appropriate. However, it does not explicitly mention alternatives or when not to use it, which would warrant a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dxf_layersAInspect
List the distinct DXF layer names used in a drawing — e.g. "what
layers does this DXF have", "list layers before I extract one". Real
CAD exports organize entities into named layers (BOUNDARY, UTILITIES,
TEXT, ...); use the result with dxf_to_geojson's layer param to pull
out just one. Returns a JSON array of layer name strings.
| Name | Required | Description | Default |
|---|---|---|---|
| dxf | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the output as a JSON array of layer name strings and the 'distinct' behavior, which is helpful. However, it omits edge cases (e.g., invalid DXF, empty layer lists) and does not explicitly state the operation is read-only, though that is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and economical: the first sentence states the core action, the second gives natural-language examples, the third explains practical context and integration, and the fourth specifies the return type. No sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, and the description covers the main purpose, usage, and return type. However, the unresolved parameter format and lack of error-handling details create notable gaps, especially without annotations or a detailed output schema. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one unnamed `dxf` string parameter with 0% description coverage. The description only says 'used in a drawing' but never specifies whether the parameter is a file path, raw DXF content, or an object. This ambiguity is a significant gap for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and the resource ('distinct DXF layer names') from a drawing. It distinguishes itself from sibling tools by focusing solely on layer listing and explicitly referencing dxf_to_geojson's layer parameter, showing its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides example user intents ('what layers does this DXF have', 'list layers before I extract one') and explains how the result feeds into dxf_to_geojson's `layer` param, giving clear usage context. It doesn't explicitly list alternatives or when-not-to-use conditions, but the guidance is strong enough for a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
minimum_rotated_rectangleAInspect
Smallest-area rectangle wrapping all input features combined — can be tilted to fit tighter than a straight bounding box (e.g. "tightest rectangle around this data", "minimum bounding rectangle", "oriented bounding box"). Returns JSON {ok, geojson}.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It honestly describes key behavior: combining all input features into one rectangle, the tilt capability, and the return structure '{ok, geojson}'. However, it omits details like expected input GeoJSON type (FeatureCollection vs single geometry), handling of non-polygon features, or error conditions, leaving ambiguity for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core purpose, followed by usage examples and the return format. Every sentence adds value, and there is no unnecessary repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (1 parameter, no enums) and an output schema exists, so return values need no further explanation. However, the lack of parameter specifics and behavioral edge cases makes it incomplete for reliable agent invocation, particularly because annotations are absent and schema coverage is 0%. The description covers the what and when but leaves the how under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines a required 'geojson' string, and description coverage for it is 0%. The description's reference to 'all input features' is the only hint about the parameter, but it does not specify whether the value must be a GeoJSON FeatureCollection or other structure, nor any format constraints. This is insufficient to compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes the smallest-area rotated rectangle around all input features, uses a specific verb ('wrapping'), and notes that it can be tilted to fit tighter than a straight bounding box. It provides alternative user phrasings (e.g., 'oriented bounding box') and implicitly differentiates from sibling tools like envelope_geojson and convex_hull_geojson.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'can be tilted to fit tighter than a straight bounding box' gives clear context for when to prefer this tool over an axis-aligned bounding box, and the example phrasings help agents recognize user intent. However, it does not explicitly name alternative tools or state exclusions, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nearest_features_geojsonBInspect
For each feature in A, find the nearest feature in B by centroid-to-
centroid geodesic distance. Attaches _nearest properties and
_nearest_distance_m. Returns JSON {ok, geojson}.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson_a | Yes | ||
| geojson_b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must carry the burden. It discloses the algorithm (centroid-to-centroid geodesic) and output structure, but fails to mention edge cases, performance implications, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no superfluous information. The key action and output are stated upfront, but the brevity sacrifices completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core function and return format, but lacks details about parameter semantics and usage context. With an output schema present, return values are partly explained, but overall still leaves gaps for a new user.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description does not elaborate on the two required string parameters. It only names them without clarifying expected format (e.g., GeoJSON structure) or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it finds nearest feature by centroid-to-centroid geodesic distance and attaches properties. However, it does not distinguish itself from sibling tools like spatial_join_geojson or buffer_geojson, which might serve similar purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. For example, spatial_join_geojson is a sibling that might offer different join criteria, but no comparison or conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
offset_coordinatesAInspect
Move a WGS84 point by a geodesic distance (metres) along a compass bearing (0=N, 90=E, 180=S, 270=W). Pure computation, no external API. Returns JSON: {ok, lon, lat, origin_lon, origin_lat, distance_m, bearing_deg, source}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes | ||
| distance_m | Yes | ||
| bearing_deg | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the geodesic nature, pure computation, and return fields. It lacks details on error handling or constraints, but the core behavior is well communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, with the main purpose first, followed by computational nature and return format. Every sentence adds value, and there is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and presence of output schema (implied by return fields listed), the description covers the essential operation. However, it omits expected ranges for distance and bearing, coordinate validation, and error scenarios, leaving gaps for complex use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It explains 'distance_m' as geodesic distance in metres and 'bearing_deg' with compass convention. 'lon' and 'lat' are implied by 'WGS84 point'. This compensates partially for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('move a WGS84 point'), the method ('geodesic distance along a compass bearing'), and the output format. It is specific and distinguishes from sibling tools like convert_coordinates or buffer_geojson.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('pure computation, no external API') but does not explicitly state when to use this tool vs alternatives or provide exclusions. For a tool with many siblings, more direct guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
overlay_geojsonAInspect
Combine two GeoJSON FeatureCollections with a boolean set operation.
op: intersection | difference (a minus b) | symmetric_difference | union.
Each side is unioned into one geometry first, then the operation is
applied. Returns JSON {ok, op, geojson} — empty geojson means no overlap,
not an error.
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | intersection | |
| geojson_a | Yes | ||
| geojson_b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that each side is unioned first, the return format (JSON with ok, op, geojson), and that an empty geojson indicates no overlap, not an error. It lacks mention of side effects or authorization needs, but for a read-like analysis tool, the behavior is well-explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, each adding value: purpose, operation details, and return format. It is front-loaded with the core action and very concise, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown but indicated), the description sufficiently covers return values and edge cases. Parameter explanations are clear, and the sibling context shows this is a geometric overlay tool among many others, so the description is complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no parameter descriptions), so the description must compensate. It explains the 'op' parameter with its four allowed values and default, and implies that geojson_a and geojson_b are the two input FeatureCollections. This adds significant meaning beyond the schema's bare titles and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Combine two GeoJSON FeatureCollections with a boolean set operation.' It lists the operations (intersection, difference, symmetric_difference, union) and explains the behavior (each side unioned first). This distinguishes it from sibling tools like buffer_geojson, dissolve_geojson, and spatial_join_geojson, which handle different geometric operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for boolean operations on geometries but does not explicitly state when to use this tool versus alternatives like buffer_geojson or dissolve_geojson. No clear context for when-not-to-use or specific prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_featuresAInspect
Fetch actual feature records (attributes + geometry) from a FeatureServer layer.
Free preview capped at 50 records (WHERE filter + chosen fields). Returns JSON:
{returned, total, truncated, geojson, note}. Full unlimited export is a paid operation.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| token | No | ||
| where | No | 1=1 | |
| out_fields | No | * | |
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses that the operation returns a JSON with specific fields (returned, total, truncated, geojson, note) and that it is a fetch operation (not destructive). It also mentions the preview cap and paid export.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: first states purpose, second clarifies the free preview cap, third describes the return format. It is concise, front-loaded, and contains no superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no enums, output schema exists), the description covers the main aspects: purpose, limitations, and return format. It could explain the token parameter or provide more parameter detail, but it is sufficiently complete for a data fetching tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains that where and out_fields relate to filtering and field selection, and mentions the limit implicitly via the 50-record cap. However, service_url and token are not explained, providing only partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches feature records (attributes + geometry) from a FeatureServer layer. It distinguishes itself from sibling tools like count_features or query_statistics by focusing on actual records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the free preview cap at 50 records and that full export is a paid operation, guiding the agent on when to use this tool (previews) vs. alternative paid options. However, it does not explicitly compare to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_statisticsAInspect
Server-side aggregate stats on a numeric field of a FeatureServer layer.
No records fetched — AGOL computes sum/avg/min/max/count (also stddev/var).
Optional WHERE filter and group_by field. Returns JSON: {field, results:[...]}.
Cheap way to answer "what's the average/total of field X" without an export.
| Name | Required | Description | Default |
|---|---|---|---|
| field | Yes | ||
| stats | No | sum,avg,min,max,count | |
| token | No | ||
| where | No | 1=1 | |
| group_by | No | ||
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behaviors: no records fetched, AGOL computes stats, returns JSON, and describes optional filters. Could mention error handling or authentication but is fairly complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, each providing essential information: purpose, performance, options, and return value. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and the tool's moderate complexity (6 params, 2 required), the description covers the core functionality and use case. Minor gaps remain (e.g., stats parameter details) but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds useful context (e.g., optional WHERE and group_by, return format) but does not fully explain each parameter, like the 'stats' parameter format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes server-side aggregate statistics on a numeric field of a FeatureServer layer, distinguishing it from similar tools like query_features by emphasizing no records are fetched and it's a cheap way to get summary values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use (e.g., for aggregate stats without fetching records) but does not explicitly state when not to use or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rank_hazard_safe_sitesAInspect
PAID (200 credits PER CANDIDATE, max 25 candidates/call) — bulk seismic- risk screener. Runs assess_property_hazard's seismic check under the hood for each [lon, lat] candidate and returns only the top_n ranked by lowest real seismic risk (PGA). Not a full multi-hazard ranking — ranked by ONE real, single-source metric only (matches this project's no-invented- composite-score stance); disaster_history_10y/active_weather_alerts are still included per-candidate for context. Use estimate_cost(tool_name= "rank_hazard_safe_sites", units=) first to quote. Requires Authorization: Bearer . Returns JSON: {ok, evaluated, excluded_count, excluded, ranked_by, top, note}.
| Name | Required | Description | Default |
|---|---|---|---|
| top_n | No | ||
| candidates | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers all behavioral aspects: cost, max candidates, internal call to assess_property_hazard, ranking metric (PGA), included context fields, authentication requirement, and return JSON structure. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is comprehensive but slightly verbose. It front-loads critical info (cost, purpose) and uses parentheses for clarifications. Could trim minor details (e.g., project stance) but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (bulk operation, cost, internal dependency), the description covers all necessary context: purpose, input format, cost model, ranking methodology, output fields, and prerequisites. With an output schema presumed available, no gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description adds meaning by specifying candidates as [lon, lat] pairs and top_n defaulting to 5. While it doesn't detail array constraints or coordinate range, it provides sufficient guidance for usage. The output schema mention partly compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a bulk seismic-risk screener that ranks candidates by lowest real seismic risk. It distinguishes itself from sibling tools by specifying it is not a full multi-hazard ranking and aligns with the project's no-invented-composite-score stance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use estimate_cost first for quoting. It clarifies when to use (for seismic risk ranking) and when not (not a full multi-hazard ranking). Also mentions max candidates per call and cost structure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rank_renewable_sitesAInspect
Bulk solar/wind site screener — evaluates up to 25 candidate points (each {"lon": ..., "lat": ...}) and returns only the top_n, ranked by average daily solar radiation. Candidates with unsuitable land cover (urban/water/snow) or no substation nearby are filtered out, not silently scored low. No invented composite score. No key needed. Returns JSON: {ok, evaluated, excluded_count, excluded, ranked_by, top}.
| Name | Required | Description | Default |
|---|---|---|---|
| top_n | No | ||
| candidates | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully discloses behavior: filters out unsuitable candidates, no composite score, no key needed, and explains the output format. Clearly states that unsuitable candidates are filtered out, not silently scored low.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise (5 sentences), front-loaded with the main action, and each sentence adds value. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though output schema exists but is not shown, the description lists all expected output fields (ok, evaluated, excluded_count, etc.), making the tool's behavior fully understandable without needing the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has no descriptions (0% coverage); description compensates by explaining that candidates should contain lon/lat fields and that top_n limits results. Also clarifies additional constraints (max 25 points).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it is a bulk solar/wind site screener that evaluates up to 25 candidate points and returns the top_n ranked by solar radiation. The distinction from sibling tools like assess_renewable_site (single-site) is implicit but effective.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context on filtering criteria and no key requirement, but does not explicitly contrast with single-site alternatives or specify when to use this tool versus others like assess_grid_exposure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reduce_precisionAInspect
Round every coordinate to N decimal places to shrink a GeoJSON file's size — e.g. "my GeoJSON file is too big", "reduce coordinate precision", "strip excess decimal places". 6 decimals ≈ 11cm precision, plenty for most mapping use cases.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes | ||
| decimals | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the lossy rounding behavior and the accuracy trade-off (6 decimals ≈ 11cm). While it doesn't state reversibility or file-size impact magnitude, the description is transparent about the core operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the first clause front-loads the action and target, and the example intents and accuracy note earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has an output schema (so return format is covered), and the description provides purpose, usage guidance, parameter semantics, and a practical precision recommendation. It is complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It maps 'N decimal places' to the decimals parameter and clarifies geojson as the input file. The precision guidance ('6 decimals ≈ 11cm') adds meaning beyond the schema's bare property names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool rounds every coordinate to N decimal places to shrink GeoJSON file size, distinguishing it from siblings like simplify_geometry (which simplifies shapes) and convert_coordinates (which changes coordinate systems).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit example user intents ('my GeoJSON file is too big', 'reduce coordinate precision') and notes that 6 decimals is sufficient for most mapping use cases. However, it doesn't explicitly contrast with alternative size-reduction tools like simplify_geometry, so exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reproject_geojsonAInspect
Change a GeoJSON's coordinate reference system (CRS/projection) — e.g. "reproject to Web Mercator", "convert WGS84 to UTM", "my coordinates are in the wrong CRS", "EPSG:4326 to EPSG:3857". Reprojects every geometry type between any two EPSG codes.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes | ||
| to_epsg | Yes | ||
| from_epsg | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses a key behavioral guarantee: it reprojects every geometry type between any two EPSG codes. However, it does not mention whether it returns a new GeoJSON, mutates the input, or any error conditions, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with front-loaded purpose followed by concise examples. No wasted words; the structure is ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple 3-parameter shape and presence of an output schema, the description covers the core purpose, usage scenarios, and behavioral scope. It does not discuss edge cases, but that is acceptable for this tool type. Sibling competition is low because the description's examples map well to user intents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions are absent, so the description must compensate. It indirectly explains 'from_epsg' and 'to_epsg' via the phrase 'between any two EPSG codes' and examples, but does not explicitly define each parameter or the expected format of the geojson input (though the schema states it is a string).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Change') and resource ('GeoJSON's coordinate reference system') and includes both technical and natural-language queries (e.g., 'reproject to Web Mercator', 'EPSG:4326 to EPSG:3857') that clearly define the operation. It distinguishes from siblings that handle coordinate conversion or geometry operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The examples cover what users might say, establishing when to use this tool (e.g., 'my coordinates are in the wrong CRS'). It does not explicitly name alternatives or when not to use it, but the context is clear enough and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rest_exploreAInspect
List the layers and tables of an ArcGIS FeatureServer/MapServer root.
Point at a service root to enumerate its layers/tables, or at a single
layer URL to describe it. Returns JSON: {is_server, layers:[{id, name, type}]}.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | ||
| service_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the JSON output format and that it is a read-only enumeration. It does not mention side effects or authentication requirements beyond the token parameter, but the listing nature implies safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three well-structured sentences: purpose, usage, output. No unnecessary words, front-loaded with the key action, and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, no annotations, and an output schema, the description covers the main input and output structure. The token parameter is omitted, but the core behavior is adequately explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains 'service_url' through usage context ('point at a service root' or 'single layer URL'), but the 'token' parameter is not described. Partial compensation, hence a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists layers and tables of an ArcGIS FeatureServer/MapServer root, with specific verb and resource. It also distinguishes between enumerating a service root and describing a single layer, setting it apart from sibling audit/health tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides specific usage scenarios: pointing at a service root to enumerate or at a single layer URL to describe. However, it does not explicitly contrast with sibling tools or state when not to use, which would elevate it to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shapefile_to_geojsonAInspect
Convert a Shapefile ZIP (base64-encoded .zip with .shp/.dbf/.shx[/.prj]) to a GeoJSON FeatureCollection. Reprojects to WGS84 if a .prj says otherwise.
Returns JSON: {geojson: {...}, reprojection_notice: str|null}.
| Name | Required | Description | Default |
|---|---|---|---|
| shapefile_zip_base64 | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behavior: reprojection to WGS84 if .prj indicates otherwise, and the return JSON structure with geojson and reprojection_notice. It does not cover error handling, size limits, or permission requirements, but the core behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, each serving a clear purpose: defining input and output, and noting a crucial processing detail (reprojection). No redundant or irrelevant information, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (conversion with reprojection), the description covers the input format, reprojection behavior, and return structure. It does not mention potential errors, file size limitations, or the expected structure of the GeoJSON, but the existence of an output schema (implied by the JSON return) reduces the need for that detail. Overall, it is complete enough for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description explains the single parameter 'shapefile_zip_base64' as a base64-encoded .zip containing .shp/.dbf/.shx/.prj files. This adds essential meaning beyond the type 'string', fully compensating for the missing schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts a Shapefile ZIP to GeoJSON FeatureCollection, and specifies the required files (.shp/.dbf/.shx/.prj). It also mentions reprojection to WGS84, distinguishing it from sibling conversion tools like csv_to_geojson or geojson_to_shapefile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage by specifying the input format (Shapefile ZIP) but does not explicitly state when to use this tool versus alternatives like geojson_to_shapefile or other conversion tools. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simplify_geometryAInspect
Reduce 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 in degrees; lower = more detail kept.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes | ||
| tolerance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It names the algorithm (Douglas-Peucker), explains the tolerance parameter's effect ('lower = more detail kept'), and notes tolerance is in degrees. This is useful behavioral context beyond what the schema provides. However, it does not explicitly state that the tool returns a new geometry without mutating the input, though this is implicitly understood from typical transformation tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the core purpose in the first sentence and supporting examples and tolerance details in the second. It is front-loaded, uses no filler words, and every clause carries meaningful information. The structure is ideal for quick parsing by an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple transformation tool, the description covers the essential aspects: what it does, how the tolerance works, and example use cases. An output schema exists, so the return value is documented elsewhere. The description could be slightly more complete by mentioning that the input is not modified or by specifying the output format, but given the output schema, this is not a major concern. Overall, it is sufficiently complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage for parameters, so the description must compensate. It explicitly explains the tolerance parameter ('Tolerance in degrees; lower = more detail kept'), which adds significant meaning beyond the schema's bare number type. The geojson parameter is implied by the tool name and description ('GeoJSON geometry'), but the description does not explicitly specify the expected format (e.g., a GeoJSON string). This is a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Reduce the number of vertices in GeoJSON geometry' using the Douglas-Peucker algorithm. It includes concrete example inputs ('simplify this polygon', 'this shape has too many points') that reinforce the intended use, and the verb+resource combination distinguishes it from sibling geometry tools like buffer_geojson or centroids_geojson.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear contextual use cases ('reduce vertex count for faster rendering') and example commands that indicate when a user would need this tool. It does not explicitly mention alternatives or when not to use it, but the examples effectively convey the common scenarios. A slight deduction for not naming alternative tools or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spatial_join_geojsonAInspect
Attach properties from every B feature that satisfies a spatial
predicate to each A feature (as a _matches list).
predicate: intersects | within | contains | touches | crosses | overlaps.
Returns JSON {ok, predicate, match_count, geojson}.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson_a | Yes | ||
| geojson_b | Yes | ||
| predicate | No | intersects |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adequately discloses behavior: it attaches properties as a _matches list and returns a JSON with ok, predicate, match_count, geojson. However, it does not cover error handling or performance considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise: two sentences that concisely explain the core action, predicate options, and return format with no superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and lack of schema descriptions, the description provides the essentials (action, predicates, return shape) but omits parameter format requirements and error handling. An output schema exists but is not visible in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description only implies the roles of geojson_a and geojson_b and lists predicate options. It does not detail format requirements or constraints for the geojson strings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool attaches properties from B features to A features based on a spatial predicate, listing the predicate options and return format, which distinguishes it from siblings like overlay_geojson.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for spatial joins but provides no explicit guidance on when to use this tool versus alternatives such as overlay_geojson or nearest_features_geojson.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tile_mathAInspect
Convert a WGS84 lon/lat + zoom level to Slippy Map (XYZ) tile x/y, that tile's lon/lat bbox, and its Bing quadkey.
Returns JSON {ok, zoom, x, y, tile_bbox, quadkey}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes | ||
| zoom | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It clearly outlines the input (WGS84 lon/lat + zoom) and output (JSON with ok, zoom, x, y, tile_bbox, quadkey). No side effects or destructive behavior are expected, and the description accurately reflects a pure conversion function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose. Every word adds value; no unnecessary text. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no enums, and an output schema, the description fully covers the conversion logic and output structure. It lists all output fields (ok, zoom, x, y, tile_bbox, quadkey) and notes the input format (WGS84). This is complete for a straightforward conversion utility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description adds context: inputs are WGS84 coordinates and zoom level. However, it does not specify valid ranges (e.g., lon -180 to 180, lat -90 to 90, zoom 0-19) or units, leaving some ambiguity. The description partially compensates for the schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear verb ('Convert') and resource ('WGS84 lon/lat + zoom level to Slippy Map tile coordinates, bbox, quadkey'). It distinctly separates this tool from siblings like convert_coordinates by naming the specific conversion type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for converting geographic coordinates to tile references, but does not explicitly state when to prefer this over similar tools (e.g., convert_coordinates) or provide constraints on when it should not be used. Sibling tools are numerous, so guidance would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_geojsonAInspect
Check whether a GeoJSON file/string is valid — catches broken geometry, malformed structure, self-intersections, and out-of-range coordinates before you try to use the file elsewhere (e.g. "is this GeoJSON valid", "why won't my GeoJSON load", "lint my GeoJSON", "check topology errors"). Validates RFC 7946 structure, topology, and WGS84 coordinate ranges.
Returns a JSON report: {valid, errors, warnings, stats}.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses the validation scope (RFC 7946 structure, topology, WGS84 ranges) and explicitly states the return format ({valid, errors, warnings, stats}), making behavior predictable. It also implies a non-destructive check without needing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two short paragraphs) and front-loads the core purpose, then adds concrete examples, validation scope, and return shape. Every sentence contributes useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having only one parameter and no annotations, the description provides enough detail for an agent to know when to invoke the tool, what to pass, and what to expect in return. It is self-contained for this validation use case and does not require supplemental context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines a single 'geojson' string with no description, and schema description coverage is 0%. The description adds meaning by indicating the input is a GeoJSON file/string, but leaves ambiguity about whether a file path or raw JSON content is expected. This is a moderate compensation for the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check whether') and resource ('GeoJSON file/string'), and clearly enumerates what it validates (broken geometry, malformed structure, self-intersections, out-of-range coordinates). It distinguishes itself from sibling tools like fix_geometry and geometry_health_report by framing validation as a pre-use gate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear usage context is provided: use this before trying to use the GeoJSON elsewhere, with example user queries like 'is this GeoJSON valid' and 'lint my GeoJSON'. It does not explicitly name alternatives or exclusions, but the application context is strong enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
voronoi_geojsonAInspect
Divide 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". Non-point features use their centroid. Needs at least 2 points. Returns JSON {ok, cell_count, geojson}.
| Name | Required | Description | Default |
|---|---|---|---|
| geojson | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It explains how non-point features are treated ('Non-point features use their centroid'), the minimum input requirement, and the return structure ('Returns JSON {ok, cell_count, geojson}'). This goes beyond the schema, but lacks details on error conditions or coordinate system handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with three sentences that front-load the core definition, then add examples, constraints, and return format. Every sentence contributes value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter and a documented output schema, the description provides ample context for an agent: purpose, examples, edge-case handling, minimum input, and return shape. It covers the essential aspects without overloading.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%—the only parameter 'geojson' is just typed as 'string' with no explanation. The description adds that at least 2 input points are needed and non-point features use centroids, but it does not specify the expected GeoJSON structure (e.g., FeatureCollection vs single feature). This is useful but still leaves some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Divide space into regions closest to each input point (Voronoi diagram)' with concrete examples like 'service area for each location'. This specific verb+resource framing distinguishes it from sibling tools such as buffer_geojson or convex_hull_geojson.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool via examples and prerequisites (e.g., 'Needs at least 2 points'). However, it does not explicitly mention alternatives or when not to use it, so it misses the full 'when-not' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wkt_to_geojsonAInspect
Convert a WKT (Well-Known Text) geometry string — the format PostGIS/SQL geometry columns print by default — to GeoJSON (e.g. "this came from a PostGIS query", "WKT to GeoJSON", "parse this POLYGON(...) string").
| Name | Required | Description | Default |
|---|---|---|---|
| wkt | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly states the conversion behavior and adds context about typical WKT sources. It does not discuss error handling or edge cases, but for a pure string-format conversion this is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core transformation before adding contextual examples. It is concise overall, though the parenthetical examples are slightly redundant with the name and could be trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity tool with one required parameter and an output schema present. The description fully explains the input format, common sources (PostGIS/SQL), and the transformation purpose, making it sufficiently complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines a 'wkt' string with 0% description coverage. The description compensates by explaining what WKT is (the format PostGIS/SQL geometry columns print by default) and provides a 'POLYGON(...)' example, giving the agent enough semantic understanding of the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Convert a WKT (Well-Known Text) geometry string ... to GeoJSON', clearly specifying the verb, input resource, and output format. This distinguishes it from sibling tools like geojson_to_wkt (opposite direction) and csv_to_geojson (different input format).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete usage context by noting WKT is the format PostGIS/SQL geometry columns print by default and gives example prompts like 'this came from a PostGIS query' and 'parse this POLYGON(...) string'. It does not explicitly name alternative tools or state when not to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityBmaintenanceThe geospatial toolkit for AI agents. 6 tools, zero config — give any LLM the ability to parse, convert, query, and aggregate spatial data out of the box. Or just make a bounding box :) Every response includes a verification link to vibhorsingh.com/boundingbox so you can visually confirm results on an interactive map.63223MIT
- AlicenseAqualityCmaintenanceGeospatial API tools for AI agents — geocoding, reverse geocoding, routing, isochrone, distance matrix, static maps, H3 hexagons, elevation, GPS map-matching, point-in-polygon, address normalisation, timezone lookup, and batch geocoding. Built on OpenStreetMap infrastructure. Cost-effective alternative to Google Maps API.1838MIT

Magic Lane MCP Serverofficial
AlicenseBqualityBmaintenanceEnables AI agents to become geospatially intelligent assistants with tools for location search, smart routing, round trip planning, reverse geocoding, isochrone analysis, route visualization, geofence management, and interactive map display.8377Apache 2.0
Mapsmithofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents to perform professional-grade geoprocessing tasks such as buffers, overlays, reprojections, and terrain analysis with deterministic tools and verifiable provenance.AGPL 3.0
Your Connectors
Sign in to create a connector for this server.