Skip to main content
Glama
kleinicke

3D Visualizer

manage_3d_selections

Manage up to 20 named 3D subsets by saving, listing, deleting, toggling visibility, or focusing. Combine selections via union, intersection, or subtract to create new active sets; empty results clear the selection.

Instructions

Name the active selection; retain up to 20 independent subsets. Toggle each name's visibility or activate/focus it. Union/intersection/subtract combine two names from the same source into a new active selection; save it to retain it. Defaults isolate=False and focus=False preserve existing visibility and camera. Empty set results return status=empty, clear the active selection, and cannot export the previous result. Geometry updates expire selections; scene-state export persists them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
focusNo
otherNo
actionYes
detailNosummary
isolateNo
visibleNo
scene_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior1/5

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

The annotations declare destructiveHint=false, indicating the tool is not destructive, yet the description explicitly mentions 'delete' as an action and states that empty set results 'clear the active selection.' These are destructive or state-changing operations that contradict the annotation. The description also reveals that geometry updates expire selections, which is a non-trivial behavior not captured by annotations. However, because the description directly contradicts an annotation, this dimension receives a score of 1 and the annotation_contradiction flag is set to true.

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?

The description is dense but each sentence serves a purpose. It front-loads the core functionality in the first sentence, then covers toggling, combining, defaults, edge cases, and persistence in subsequent sentences. There is no fluff or repetition, and the structure is logical: starting with the primary use case, then parameters, then caveats. The length is appropriate for the complexity of the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters, multiple actions, and an output schema, the description provides comprehensive context. It explains default behaviors (isolate=false, focus=false), edge cases (empty set results), and lifecycle (expiration on geometry updates, persistence via scene-state export). It even hints at interactions with other tools. Given that an output schema exists, the description does not need to elaborate on return values. The description leaves no critical operational detail unexplained, making it complete for an agent to invoke correctly.

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 is the sole source of parameter meaning. It explains the semantics of `name`, `other` (for boolean operations), `visible` (toggle visibility), `focus` (activate/focus), `isolate` (default false preserves visibility), and `action` (enumerated operations like union, intersection, subtract). It does not explicitly address the `detail` parameter (summary vs. full) or `scene_id`, but these are either standard or inferable. The description adds significant meaning beyond the schema, covering most of the 8 parameters.

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?

The description clearly states the tool's purpose: managing named selections in a 3D scene, including saving, listing, toggling visibility, activating, and performing boolean operations. It identifies the resource (selections) and the actions, and it differentiates from siblings like export_3d_selection and manage_3d_scene_states by focusing on in-session subset management. The opening sentence 'Name the active selection; retain up to 20 independent subsets' is specific and unambiguous.

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?

The description provides behavioral context that implies usage, such as 'Empty set results return status=empty, clear the active selection, and cannot export the previous result' and 'Geometry updates expire selections; scene-state export persists them.' This tells the agent that selections are ephemeral across geometry updates and that persistence requires scene-state export, indirectly guiding when to use this tool vs. an alternative. However, it does not explicitly name an alternative tool or state 'use this for X, not Y,' leaving some 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.