Skip to main content
Glama

select_objects

Select whole objects in the scene by name.

Instructions

Select whole objects in the scene by name.

This is object-level selection, the kind that join_objects and delete_object act on. To select vertices, edges or faces inside one mesh, use select_by_index, select_by_axis or the other select_* tools in the Selection group.

Args: names: List of object names to select. deselect_others: If True, deselect all other objects first. Defaults to True.

Returns: Dict with list of selected object names.

Input Schema

NameRequiredDescriptionDefault
namesYes
deselect_othersNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden and it does disclose the key side effect: deselect_others defaults to True, so calling it silently clears the existing selection unless overridden. It also states the return shape. It stops short of saying what happens when a name doesn't exist (error vs. silent skip) or whether object mode is required.

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 one-line purpose, then alternatives, then Args. Three tight blocks with no filler. The trailing Returns block is partly redundant since an output schema already exists, but it is only one line.

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 2-parameter selection tool with an output schema, purpose, alternatives, parameters and return are all covered. The only missing piece an agent would want is failure behavior for unknown object names.

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 description coverage is 0%, so the description must compensate, and it does: both parameters are explained, including that 'names' takes object names and that 'deselect_others' defaults to True. It adds no detail on whether names must be exact, case-sensitive, or support patterns, which is the only real gap.

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 specific verb ('Select') and resource ('whole objects in the scene by name') with the scope qualifier 'whole' doing real work. It explicitly contrasts itself with the sub-object selectors (select_by_index, select_by_axis), so an agent can place it among the ~15 select_* siblings 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives both a positive cue and an exclusion: use this for object-level selection of the kind join_objects and delete_object consume, and use select_by_index/select_by_axis instead for vertices, edges or faces inside a mesh. Naming the downstream consumers tells the agent exactly which workflow this precedes.

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