Skip to main content
Glama

Set Channel Devices

set_channel_devices
DestructiveIdempotent

Replace the full list of individually assigned devices in a channel. Use it to include specific devices, such as one person's iPad, without adding all of that person's devices through set_channel_users. Devices left out are removed, and sending no devices removes them all; user assignments are kept. To add one device, call get_channel first and send the existing devices plus the new one. Each device must belong to the given account user (see list_account_devices). Returns the channel and the resulting device assignments.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoChannel slug, such as ops or ios-beta, from list_channels. Provide public_id or slug.
devicesNoComplete list of devices to assign. Duplicates are ignored.
public_idNoChannel public_id from list_channels. Provide public_id or slug; if you send both, they must match the same channel.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYes
devicesYes
successYes
public_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and idempotentHint=true, but the description adds the exact replacement semantics the hints cannot: devices left out are removed, sending an empty list removes them all, and user assignments are preserved. This is the critical behavioral detail an agent needs before calling a full-replacement mutation.

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 replacement purpose, then the sibling distinction, then the add-one-device procedure. Every sentence carries operational weight, though the closing line about return values is mildly redundant given the output schema exists.

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 destructive full-replacement mutation with an output schema present, the description covers purpose, alternative routing, replacement/removal semantics, and ID sourcing. Nothing an agent needs to invoke it safely 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 schema already documents slug/public_id/devices and their sub-fields (baseline 3). The description adds a genuine validation constraint beyond the schema — 'Each device must belong to the given account user' — which tells the agent a mismatched device will fail, justifying a modest bump.

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 (Replace) and resource (full list of individually assigned devices in a channel), and immediately scopes it against the sibling set_channel_users. An agent can distinguish this from the user-assignment tool without reading either 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?

Explicitly names the alternative (set_channel_users) and the condition selecting this tool instead, explains the procedure for the common 'add one device' case (call get_channel first, resend existing plus new), and points to list_account_devices for valid device IDs. When-to-use, when-not, and prerequisites are all covered.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources