Skip to main content
Glama

GeoSpark

Topological relationship

check_spatial_relationship
Read-onlyIdempotent

Ground-truth topology: does geometry_a geometry_b?

    Use instead of guessing containment, overlap or adjacency. Invalid geometries (for
    example self-intersecting polygons) are refused with the reason.
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
geometry_aYesA GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]}
geometry_bYesA GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]}
relationshipYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
holdsYesWhether geometry_a <relationship> geometry_b is true
unitsNoUnit of each numeric field
statusNook
warningsNoCaveats to tell the user
provenanceNoSource, licence, attribution, retrieval time and method
relationshipYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds genuinely new behavioral information beyond the annotations: invalid geometries such as self-intersecting polygons are refused with a reason, which tells the agent to expect structured failure rather than a false boolean.

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

Conciseness4/5

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

Two short sentences, front-loaded with the core question and followed by the practical caveat about invalid input. The '<relationship>' placeholder notation is slightly awkward but costs little.

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?

An output schema exists, so return values need no explanation, and the description covers the one non-obvious failure mode (invalid geometry refusal). It stops short of noting CRS/coordinate-order expectations or bounding-box behavior, but nothing essential for correct invocation is missing.

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 coverage is 67% and the relationship enum values are fully enumerated in the schema, so the allowed predicates are already visible. The description's geometry_a/<relationship>/geometry_b placeholders only restate the parameter names and add no semantics about coordinate order, CRS, or what each relationship means.

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 names the specific operation (a topology predicate test between two geometries) using a templated form 'does geometry_a <relationship> geometry_b', which is immediately unambiguous. It doesn't differentiate itself from the sibling spatial_operation, which an agent could plausibly confuse with this tool.

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?

'Use instead of guessing containment, overlap or adjacency' gives a reason to reach for this tool over inference, which is real guidance. However, it offers no when-not conditions and does not position it against spatial_operation or calculate_distance, so the agent must infer selection from sibling names alone.

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.