Skip to main content
Glama

Add obstacle

add_obstacle

Place a cylinder, ball, box, or wall in the simulated world to test sensors, collisions, and camera behavior; placement is refused if it overlaps the rover.

Instructions

Place an object in the world to test sensors, collisions or the camera. Kinds: cylinder / ball (circle, radius r), box / wall (rectangle w × h, rotated by angle°). Unspecified size and color use the kind's defaults. Refused if it would overlap the rover.

Input Schema

NameRequiredDescriptionDefault
hNoHeight (depth) for box / wall
rNoRadius for cylinder / ball
wNoWidth for box / wall
xYesWorld x (px)
yYesWorld y (px)
kindYes
angleNoRotation in degrees for box / wall
colorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A3.9/5.0
Behavior4/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 disclose two non-obvious behaviors: validation failure on rover overlap and fallback to per-kind defaults for unspecified size and color. It omits persistence across reset_world, any object-count limits, or what the call returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, each earning its place: purpose, kind-to-parameter mapping, and the refusal condition. Front-loaded and free of 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 an 8-parameter mutating tool with no annotations and no output schema, the description covers geometry and validation but says nothing about the created object's identity, lifetime, or how it is later targeted by remove_obstacle. Adequate but with a real gap for downstream operations.

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?

Coverage is already 75% and the schema documents each parameter's units and ranges. The description adds genuine value by mapping kinds to parameters (ball = radius r, wall = w × h rotated by angle°) and stating default behavior, but that pairing is only partially new information.

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 concrete verb+resource ('Place an object in the world') and states the intent (test sensors, collisions or the camera). It implicitly complements remove_obstacle but never names a sibling to distinguish itself from.

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?

Gives clear situational context (testing sensors, collisions, camera) plus a hard precondition: the call is refused if the object would overlap the rover. No explicit when-not or named alternatives, which keeps it below a 5.

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