Skip to main content
Glama

set_water_body_gerstner_waves_spectrum

DestructiveIdempotent

Applies a Gerstner wave set to a Lake or Ocean water body, building octaves from Phillips, PiersonMoskowitz, or JONSWAP spectra.

Instructions

Build a Gerstner wave set using the oceanology spectrum generator (octaves of a known wave spectrum) and apply it to a wave-supporting water body (Lake/Ocean).

Returns: { water_body_label: string, wave_supported: bool, has_waves: bool, num_waves: int, max_wave_height: number, spectrum_type: string, octave_count: int, applied: bool, note: string }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
octavesNoOptional array of octaves, each { num_waves?, amplitude_scale?, main_direction?, spread_angle?, uniform_spread? }; one default octave is used if omitted
spectrum_typeNoWave spectrum: Phillips (default), PiersonMoskowitz, or JONSWAP
water_body_labelYesLabel of the AWaterBody actor (Lake/Ocean)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=true, so the mutation/idempotency profile is covered. The description adds the mechanism (octaves of a known spectrum, spectrum_type) and a full return shape, but says nothing about what existing wave data is overwritten or any prerequisites/auth needs, so it adds moderate value rather than rich behavioral context.

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 tight paragraphs: the action is front-loaded and the return shape is compact. Slightly long due to the inline returns block, but every element earns its place with no 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?

For a 3-param mutation tool with no output schema, the description helpfully enumerates the return object and explains the spectrum mechanism, which compensates for the missing output schema. However, it omits the sibling-routing guidance and any note on overwriting existing waves, leaving gaps for correct invocation.

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 octaves, spectrum_type, and water_body_label in detail. The description only restates 'octaves of a known wave spectrum' and the water-body target, adding no syntax or constraint detail beyond the schema. Baseline 3 is appropriate.

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: building a Gerstner wave set via the oceanology spectrum generator and applying it to a Lake/Ocean water body. It conveys the spectrum-based mechanism clearly, but does not explicitly distinguish itself from the closely related sibling set_water_body_gerstner_waves (manual vs spectrum-driven waves), so it stops short of 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?

The phrase 'apply it to a wave-supporting water body (Lake/Ocean)' implies the applicable context, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g., set_water_body_gerstner_waves). Usage is left to inference.

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

Deploy Server

Other Tools