Skip to main content
Glama

Face an object

face_object
Destructive

Find a specified object, label, or taught colour with the robot's onboard AI vision and turn to face it. If not in view, search by turning in 45° steps.

Instructions

Find an object with the robot's onboard AI vision and turn to face it. Works for what the onboard AI knows (sports balls, blue and orange barrels, other AIM robots, AprilTags), labelled objects, and colours taught with teach_colour or the control panel.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
labelNoInstead of target: the label of an object the person named in the control panel (e.g. 'left post'), or a taught colour (e.g. 'red cup')
searchNoIf it's not in view, turn in 45° steps (up to a full circle) looking for it
targetNoany
speed_percentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/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 openWorldHint=false, and the description does not contradict them. The description adds useful context about what the vision can recognize, but it never explains the notably aggressive destructiveHint=true on a turn-in-place action, nor what happens if the object is never found.

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 sentences, front-loaded with the core action before the capability list. No filler or redundancy. Slightly dense enumeration in the second sentence but every item is informative.

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 4-parameter action tool with no output schema, the description covers purpose, capabilities and one prerequisite, but omits outcome semantics: whether it reports the object found, distance/heading, or how failure to find is signalled. An agent can call it, but cannot predict what comes back.

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 only 50% (label and search are documented; target and speed_percent are not). The description compensates by enumerating the recognizable target classes that map to the target enum, and by clarifying that labelled/taught-colour objects go through the label path. It still says nothing about speed_percent behaviour.

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 concrete verb+resource: find an object via onboard vision and turn to face it. It also enumerates what the vision can target (sports balls, barrels, AIM robots, AprilTags, labelled objects, taught colours), which scopes the tool precisely. It stops short of explicitly distinguishing itself from close siblings like approach_object or detect_objects.

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 context for when this applies: objects the onboard AI knows, labelled objects from the control panel, or colours previously taught via teach_colour. That names a prerequisite sibling tool, which helps the agent sequence calls. There are no explicit exclusions or named alternatives for cases where the object isn't recognizable.

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