Skip to main content
Glama

Affine Earth Math Court Remote

weather.convective_containment

Exact containment of a declared track against convective cell boundaries, including NON-CONVEX footprints: decide whether the track stays outside every declared cell within that cell's altitude layer, and on a breach name the breaching segment, the cell, how the breach happens and the exact parameter along the segment where it does. Exact integer crossing number over micro-degree vertices, with the optional standoff decided by comparing squared distances — no square root, no floating point, no epsilon. Advisory only; not a dispatch or flight-planning authority.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cellsYesdeclared convective cells: id, vertices, and layer as decimal strings. Declaring none returns NOT_MEASURED_NO_CONVECTIVE_CELLS_DECLARED, never CONTAINED. e.g. [{"id":"SQUARE","base_feet":"0","top_feet":"40000","vertices":[{"lat_micro_deg":"0","lon_micro_deg":"0"},{"lat_micro_deg":"0","lon_micro_deg":"30000"},{"lat_micro_deg":"30000","lon_micro_deg":"30000"},{"lat_micro_deg":"30000","lon_micro_deg":"0"}]}]
track_micro_degYeslat_micro_deg,lon_micro_deg,alt_feet points as decimal strings; two or more, since this names a breaching SEGMENT. e.g. [{"lat_micro_deg":"50000","lon_micro_deg":"50000","alt_feet":"30000"},{"lat_micro_deg":"50000","lon_micro_deg":"80000","alt_feet":"30000"}]
margin_micro_degNooptional standoff as decimal string in the same declared units; strict, so exactly this far away is contained. e.g. 1000

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • changedInput schema / properties / cells / description
      Previous value: -"declared convective cells: id, vertices, and layer as decimal strings. Declaring none returns NOT_MEASURED_NO_CONVECTIVE_CELLS_DECLARED, never CONTAINED"New value: +"declared convective cells: id, vertices, and layer as decimal strings. Declaring none returns NOT_MEASURED_NO_CONVECTIVE_CELLS_DECLARED, never CONTAINED. e.g. [{\"id\":\"SQUARE\",\"base_feet\":\"0\",\"top_feet\":\"40000\",\"vertices\":[{\"lat_micro_deg\":\"0\",\"lon_micro_deg\":\"0\"},{\"lat_micro_deg\":\"0\",\"lon_micro_deg\":\"30000\"},{\"lat_micro_deg\":\"30000\",\"lon_micro_deg\":\"30000\"},{\"lat_micro_deg\":\"30000\",\"lon_micro_deg\":\"0\"}]}]"
    • changedInput schema / properties / cells / items / properties / base_feet / description
      Previous value: -"decimal string"New value: +"decimal string, cell base altitude in feet, e.g. 0"
    • addedInput schema / properties / cells / items / properties / id / description
      Added value: +"the cell id, e.g. SQUARE"
    • changedInput schema / properties / cells / items / properties / top_feet / description
      Previous value: -"decimal string"New value: +"decimal string, cell top altitude in feet, e.g. 40000"
    • addedInput schema / properties / cells / items / properties / vertices / description
      Added value: +"three or more polygon vertices in micro-degrees, e.g. [{\"lat_micro_deg\":\"0\",\"lon_micro_deg\":\"0\"},{\"lat_micro_deg\":\"0\",\"lon_micro_deg\":\"30000\"},{\"lat_micro_deg\":\"30000\",\"lon_micro_deg\":\"30000\"},{\"lat_micro_deg\":\"30000\",\"lon_micro_deg\":\"0\"}]"
    • changedInput schema / properties / cells / items / properties / vertices / items / properties / lat_micro_deg / description
      Previous value: -"decimal string"New value: +"decimal string, vertex latitude in micro-degrees, e.g. 30000"
    • changedInput schema / properties / cells / items / properties / vertices / items / properties / lon_micro_deg / description
      Previous value: -"decimal string"New value: +"decimal string, vertex longitude in micro-degrees, e.g. 30000"
    • changedInput schema / properties / margin_micro_deg / description
      Previous value: -"optional standoff as decimal string in the same declared units; strict, so exactly this far away is contained"New value: +"optional standoff as decimal string in the same declared units; strict, so exactly this far away is contained. e.g. 1000"
    • changedInput schema / properties / track_micro_deg / description
      Previous value: -"lat_micro_deg,lon_micro_deg,alt_feet points as decimal strings; two or more, since this names a breaching SEGMENT"New value: +"lat_micro_deg,lon_micro_deg,alt_feet points as decimal strings; two or more, since this names a breaching SEGMENT. e.g. [{\"lat_micro_deg\":\"50000\",\"lon_micro_deg\":\"50000\",\"alt_feet\":\"30000\"},{\"lat_micro_deg\":\"50000\",\"lon_micro_deg\":\"80000\",\"alt_feet\":\"30000\"}]"
    • changedInput schema / properties / track_micro_deg / items / properties / alt_feet / description
      Previous value: -"decimal string"New value: +"decimal string, altitude in feet, e.g. 30000"
    • changedInput schema / properties / track_micro_deg / items / properties / lat_micro_deg / description
      Previous value: -"decimal string"New value: +"decimal string, latitude in micro-degrees, e.g. 50000"
    • changedInput schema / properties / track_micro_deg / items / properties / lon_micro_deg / description
      Previous value: -"decimal string"New value: +"decimal string, longitude in micro-degrees, e.g. 50000"
  2. First observed

TDQS

A3.7/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 well: it discloses the exactness contract (integer crossing number over micro-degree vertices, no floating point, no epsilon), the strict standoff semantics via squared-distance comparison, and the advisory-only limitation. It does not describe error/failure modes beyond the breach case, so it is strong but not complete.

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?

Front-loads what the tool decides (containment) before describing breach reporting and implementation guarantees. Every clause is relevant, though the 'no square root, no floating point, no epsilon' triple is mildly redundant with the preceding 'exact integer' claim.

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?

For a 3-parameter, no-output-schema tool, the description explains the breach output (segment, cell, manner, exact crossing parameter) and the non-authority scope. It does not explicitly state the non-breach verdict wording, though the schema hints at CONTAINED/NOT_MEASURED. Mostly complete for its complexity.

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% with examples, so the baseline is 3 and the schema already documents cells, track points, and margin. The description adds conceptual framing (non-convex footprints, micro-degree precision, 'strict' standoff) but no syntax or format detail beyond the schema, so it remains at baseline.

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?

States a specific operation on a specific resource: a containment decision for a declared track against convective cell boundaries, including non-convex footprints. It clearly separates itself from adjacent concepts by declaring it is not a dispatch or flight-planning authority. It does not name or differentiate against any sibling tool, so it stops short of 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?

Usage is implied by the operation (feed a track and declared cells to get a containment verdict), and the 'advisory only' sentence frames scope. However there is no explicit when-to-use/when-not, no named alternative, and no statement of prerequisites such as needing cells to be declared first. It is adequate but leaves routing to inference.

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