Skip to main content
Glama

set_camera

Activates a saved KeyShot camera, blocking if the current view has unsaved changes unless force is enabled with user consent.

Instructions

Active une caméra enregistrée. Refusé si la vue courante a des changements non enregistrés (ils seraient perdus) : demander à l'utilisateur d'enregistrer sa vue, ou force=true seulement avec son accord. KeyShot remarque parfois une caméra comme modifiée juste après l'avoir enregistrée : si c'est une caméra créée par fit_camera, force est sûr.

Input Schema

NameRequiredDescriptionDefault
nameYes
forceNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only say it is a non-read-only, non-open-world, non-destructive operation; the description adds the crucial behavioral facts: the call is rejected when the current view has unsaved changes, those changes would be lost, and there is a known KeyShot quirk where a just-saved camera is flagged as modified. That is substantive disclosure beyond the structured fields.

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 short sentences: the action first, then the refusal condition, then the caveat about force. Nothing is padding and the most decision-relevant constraint (data loss) is surfaced early.

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?

With an output schema present, return values need no explanation, and the mutation's safety/authorization behavior is well covered. The remaining gap is the exact semantics of the 'name' argument (exact match, case sensitivity, source list), which would be needed for reliable invocation.

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 0%, so the description must carry the parameters, and it does explain force thoroughly: default false, refusal semantics, and the safe case. The required 'name' parameter is only implied by 'caméra enregistrée' — matching rules or whether it must equal a list_cameras entry are not spelled out.

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?

The first sentence gives a specific verb and resource ('Active une caméra enregistrée'), which clearly distinguishes it from list_cameras (enumeration) and fit_camera (creation). It does not explicitly state the contrast with those siblings up front, but the purpose is unambiguous.

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?

It states exactly when the call is refused, what the agent should do instead (ask the user to save), and the only condition under which force=true is acceptable (with user consent, or for cameras created by fit_camera). This is explicit when/when-not guidance with an alternative path.

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