Skip to main content
Glama

WritersLogic verifiable AI agents

geo-axis-check

Coordinate axis-order and unit check from a CRS and its area of use — Checks up to 1000 coordinate pairs (or one bounding box) against the EPSG coordinate system you name, for agents handling GIS or map data: it flags longitude/latitude swaps, degrees supplied where metres are expected (or the reverse), values outside the CRS's area of use, and inverted bounds, with the point index and values. It does not reproject, geocode, validate geometry topology or datum, or j

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "crs": "<crs>"
    },
    "name": "geo-axis-check"
  }
}

Input Schema

NameRequiredDescriptionDefault
crsYesEPSG code in any common form (EPSG:4326, 4326, urn:ogc:def:crs:EPSG::4326) or CRS84. See versions for the snapshot of known codes; others return unknown unless areaOfUse is supplied.
boundsNo[minFirst, minSecond, maxFirst, maxSecond] in the data's own order; its two corners are checked like points and min must not exceed max.
areaOfUseNo[south, west, north, east] degrees; overrides the snapshot for a geographic CRS or supplies one for an unknown geographic code.
coordinatesNo[first, second] pairs exactly as they appear in the data.
declaredOrderNoWhat the data claims: lon-lat or easting-northing means the first value is the east axis; lat-lon or northing-easting means north first. Default: the CRS's EPSG authority order (CRS84: lon-lat).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does reasonably well: it discloses capacity limits (up to 1000 pairs, or one bounding box), the failure classifications it reports, and that findings include the point index and values. The truncated non-goals sentence and the absence of any note on unknown CRS handling slightly weaken it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single dense sentence, front-loaded with purpose and then piling capabilities on, which is workable. However the definition ends abruptly mid-sentence ('or j'), signalling an incomplete or over-packaged description rather than a cleanly sized one.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by saying what the check returns (flagged issues with point index and values) and where its responsibility stops. For a five-parameter validation tool this is nearly sufficient; the cut-off ending leaves the non-goals list unfinished.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents crs, bounds, areaOfUse, coordinates and declaredOrder in detail. The description adds only the high-level notion that the CRS is 'named by you' and that area-of-use participates in checking; it adds no format or interaction detail (e.g. how areaOfUse overrides the snapshot) beyond the schema. Baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('Coordinate axis-order and unit check from a CRS and its area of use') and then enumerates exactly what is flagged: lon/lat swaps, unit mismatches, out-of-area values, inverted bounds. That is far more specific than the bare name. It doesn't explicitly distinguish itself from any sibling, which keeps it below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names an audience ('for agents handling GIS or map data') and lists things it does not do (reproject, geocode, validate geometry topology or datum), which is useful exclusion guidance. But there is no explicit when-to-use trigger or pointer to an alternative tool, and the exclusion list is truncated mid-word ('or j'), so the guidance is incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources