Skip to main content
Glama

Update device

update_device
Idempotent

Rename a device or enable/disable its remote control; disabling blocks move, rotate, reconnect, and disconnect until re-enabled. Update only specified fields.

Instructions

Rename a device and/or turn remote control on or off for it. Turning remote control off stops move, rotate, reconnect and disconnect for that device until it's turned back on. Change only what's given; safe to repeat. Needs an admin-scope token.

Input Schema

NameRequiredDescriptionDefault
nameNoNew display name, 1–64 characters
deviceYesWhich device: its name, a unique part of its name (e.g. "scraper"), or its device ID (dev_…). Case-insensitive. Get names and IDs from list_devices.
remote_controlNotrue lets tokens move and control this device; false blocks it

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.4.4
    • removedInput schema / additionalProperties
      Removed value: -false
  2. Addedv0.3.0

TDQS

A4.7/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: disabling remote control has an ongoing downstream effect (blocks move, rotate, reconnect, disconnect until re-enabled), only supplied fields are modified (partial update), and an admin-scope token is required. The 'safe to repeat' claim is consistent with idempotentHint=true and reinforces it rather than merely restating it.

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 tight sentences: action first, consequence second, operational constraints last. No filler, and the highest-risk behavior (disabling remote control) is surfaced early.

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 3-parameter idempotent update with no output schema, the definition covers action scope, side effects, partial-update semantics, repeat safety, and auth requirements. Nothing an agent needs before invoking it is missing.

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 100%, so the baseline is 3, but the description adds real meaning to remote_control by spelling out what false blocks, and clarifies that omitted fields are left untouched. Name and device semantics are left entirely to the schema, which already documents them well.

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 concrete verbs (rename, turn remote control on/off) against a specific resource (device), which cleanly separates it from the mutating siblings move_device, rotate_device, reconnect_device and disconnect_device. An agent can pick this tool without opening the schema.

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?

'Change only what's given' and the note that disabling remote control blocks move/rotate/reconnect/disconnect give clear context for when this tool is the right choice. There is no explicit 'use X instead' routing, but the sibling operations it gates are named, which is nearly as useful.

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