Skip to main content
Glama

get_elevation

Read-onlyIdempotent

Query terrain elevation in meters above sea level for points or named locations, or sample a bounding-box grid to calculate elevation statistics.

Instructions

Query terrain elevation in meters above sea level using the Open-Meteo 90m Copernicus DEM API (free for non-commercial use; commercial use requires a paid key or self-hosted ELEVATION_API_URL). Supports querying specific point coordinates OR sampling an N×N point grid across a bounding box to compute sample statistics (note: finite grid sampling over a 90m DEM reports sample statistics, not guaranteed area-wide true minimum, maximum, or slope).

Input Schema

NameRequiredDescriptionDefault
bboxNoA bounding box or point string to sample terrain elevation across.
pointsNoList of {lat, lng, label?} points to query elevation for (up to 100 points).
locationNoA text location to sample elevation across (e.g. 'Mount Rainier', 'Denver').
grid_sizeNoGrid dimension N (N x N samples, from 2 to 10) when sampling a bounding box. Defaults to 5 (25 sample points).

Output Schema

NameRequiredDescriptionDefault
bboxYes
modeYes
samplesYes
completeYes
warningsYes
share_urlYes
provenanceYes
sample_countYes
sample_statsYes
matched_placeNo
dem_resolution_metersYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.5.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the description is free to spend its words elsewhere — and it does: it discloses the licensing/auth constraint (free for non-commercial, paid key or self-hosted ELEVATION_API_URL otherwise) and, more importantly, that grid results are point-sample statistics, not guaranteed true extrema or slope. That caveat materially affects how an agent reports results. It doesn't mention rate limits or failure behavior for out-of-coverage coordinates.

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 dense sentences, front-loaded with the core action and units before the licensing and sampling caveats. The nested parentheses are slightly heavy but every clause carries information the agent needs; nothing is filler.

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

Completeness3/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 annotations carry the safety profile. The remaining gap is precedence: all four parameters are optional with three mutually alternative entry modes (points, bbox, location), and the description never states what happens if more than one is provided or what the fallback is — a real ambiguity for a zero-required-parameter tool.

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 100%, so the schema already documents every parameter, which sets the baseline at 3. The description adds only the mode relationship (grid_size applies to bbox sampling) and the statistical meaning of those samples; it says nothing extra about how 'location' is resolved or what happens when multiple mode parameters are supplied together.

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 verb+resource with units and data provenance: 'Query terrain elevation in meters above sea level using the Open-Meteo 90m Copernicus DEM API', and names both operating modes (point coordinates vs N×N bbox grid). It doesn't explicitly contrast itself with any sibling, but none of the listed siblings (get_bounds, reverse_geocode, spatial_calc) overlap with elevation lookup, so misrouting risk is low.

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

Usage Guidelines4/5

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

The 'OR' framing tells the agent that point queries and grid sampling are alternative modes, and the parenthetical warns when grid sampling is the wrong basis for area-wide min/max/slope claims — genuine when-not guidance. It stops short of saying how to choose among the three entry parameters (points vs bbox vs location) or which takes precedence.

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