Skip to main content
Glama

set_river_widths_depths

DestructiveIdempotent

Set a river's width and/or depth at every spline point in one bulk call, avoiding per-point round trips, and read back the applied values.

Instructions

Set a river's width and/or depth at EVERY spline point in one call (bulk taper authoring) with a single metadata-sync at the end — avoids one MCP round-trip per point. Arrays are indexed by spline point (point i maps to spline input key i) and, when provided, MUST have exactly point_count entries. River water bodies only. Reads back the applied per-point arrays.

Returns: { water_body_label: string, point_count: int, applied_widths: bool, applied_depths: bool, widths: [number], depths: [number] }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
depthsNoOptional array of per-point river depths (length must equal point_count)
widthsNoOptional array of per-point river widths (length must equal point_count)
water_body_labelYesLabel of the AWaterBodyRiver actor

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructive=true, idempotent=true, readOnly=false, so the safety profile is covered. The description adds genuine context beyond that: a single metadata-sync at the end and read-back of applied arrays, which the annotations do not convey. It stops short of explaining overwrite semantics or what happens on a point_count mismatch.

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 the core scope and bulk rationale, then constraints, then applicability. The trailing 'Returns:' block is warranted since no output schema exists. Dense but each clause carries weight; minor redundancy between description and schema on the length constraint.

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 destructive bulk-mutation tool with annotations and no output schema, this covers scope, indexing, length constraints, applicability, and return shape. The main gap is error behavior when array length mismatches point_count, and it never cross-references the per-point sibling.

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 100%, so a 3 is the baseline, but the description adds real meaning: the point-i-to-spline-input-key-i indexing mapping and the 'and/or' optionality are not spelled out in the schema. The length constraint itself duplicates the schema's 'length must equal point_count' text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource+scope: 'Set a river's width and/or depth at EVERY spline point in one call (bulk taper authoring).' The 'EVERY spline point' framing implicitly separates it from the single-point sibling set_river_width_depth_at_point, so an agent can distinguish them without opening a schema.

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?

'River water bodies only' gives a clear applicability boundary, and 'avoids one MCP round-trip per point' signals the bulk-vs-per-point tradeoff. However, it never names the alternative tool (set_river_width_depth_at_point), leaving the routing inference to the agent.

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