Skip to main content
Glama
geosphere-mcp-server

geosphere-mcp-server

by slettmayer

get_storm_outlook

Retrieve a severe-weather outlook for a location, including peak wind gusts and thunderstorm timing from high-resolution forecasts.

Instructions

Get the severe-weather outlook for a location: gusts and thunderstorms.

Reports the peak wind gust within the next hour and the next 12 hours,
whether a thunderstorm is expected within the next hour, when the next
thunderstorm is expected across the whole forecast horizon, and the peak
CAPE over the next 12 hours as a diagnostic. Deliberately reports no
severity verdict — what counts as dangerous is the caller's judgement.

An hour counts as a thunderstorm when GeoSphere's weather symbol for it is
a thunderstorm, or when the C-LAEF ensemble's 90th percentiles reach
1000 J/kg CAPE and 0.1 mm precipitation (only from an ensemble run less
than 12 h old). Each thunderstorm answer names its signal: symbol,
ensemble or both. CAPE does not decide anything on its own.

High-resolution GeoSphere AROME data (1 km) and the C-LAEF ensemble. Serves
Austria and the Alpine region only; a point outside that grid returns an
out-of-coverage notice.

The thunderstorm scan covers the forecast horizon, nominally ~60 h but
shorter after publication lag or when a run is stale or truncated. A "none
in the next N h" answer names the horizon it actually covered; it is not
an all-clear beyond that. "Thunderstorm expected" is unknown only when no
forecast hour falls in its window.

Horizons round up to whole hours: the "next hour" window covers the hour
already under way plus the next one. A thunderstorm timestamp at or before
the current time means one is already in progress.

Args:
    latitude: Decimal latitude (e.g. 48.2208 for Vienna). Geocode city
        names to coordinates yourself.
    longitude: Decimal longitude (e.g. 16.3738 for Vienna).

Input Schema

NameRequiredDescriptionDefault
latitudeYes
longitudeYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does substantially well: it discloses the coverage boundary and the out-of-coverage notice, the definition logic for a thunderstorm hour, stale-run handling, truncated horizons, and the "already in progress" timestamp semantics. It omits units for peak gust and CAPE (km/h vs m/s, J/kg is stated only for CAPE thresholds) and says nothing about error or failure behavior.

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-loaded with a one-line summary, then structured into return content, detection logic, data sources/coverage, horizon semantics, and args. It is on the long side, and the opening enumeration of return values partly duplicates what the output schema already declares — that portion is the weakest use of space.

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 two-parameter tool with an output schema, the description covers what the schema cannot: detection criteria, coverage limits, horizon rounding, staleness, and the deliberately verdict-free contract. Missing units and any error-mode detail are the remaining gaps, but nothing needed to call it correctly is absent.

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

Parameters4/5

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

Schema coverage is 0%, so the description is the only source of parameter meaning — and it supplies it: decimal degrees with concrete Vienna examples, plus the explicit instruction to geocode city names to coordinates yourself, and a note that points outside the grid are rejected. It does not state valid ranges or what happens with malformed input, but the essential semantics are covered.

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?

Opens with a specific verb and resource ("Get the severe-weather outlook") and immediately enumerates the distinct outputs — peak gust, thunderstorm presence/timing, peak CAPE — which separates it from get_current_weather and get_hourly_forecast in substance. It never names the siblings explicitly, so an agent must infer that this is the gust/storm-specific tool rather than a general forecast.

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 context is implied rather than stated: it makes clear the tool is diagnostic-only ("Deliberately reports no severity verdict") and geographically restricted to Austria/Alpine, which does route some callers away. But there is no explicit comparison to get_hourly_forecast or get_current_weather — the agent is left to infer that hourly conditions belong to the sibling and storm/convective signals belong here.

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