Skip to main content
Glama

assign_client_group

Idempotent

Assign or remove a client's local group. Identify the client by MAC, IP, hostname, or alias, then pass a group name (or null) and confirm=true to apply.

Instructions

Assign or unassign one local client group. Requires confirm=true.

Mutating operation: sets the client's single local group membership (local_only) to the given group, or clears it when group is null. Does not mutate the controller. Returns success=false unless confirm=true. Use set_client_tags for tags, or list_clients_by_organization to find clients in a group.

Args: identity: Client MAC, IP, hostname, or alias to resolve to a known client. group: Group name to assign, or null/None to unassign the current group. site: Site to operate on. Defaults to "default". device: Optional device name to target a specific console; omit for default. confirm: Must be True to change membership; without it the call is a no-op. Defaults to False.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
siteNoSite to operate on. Defaults to "default".default
groupYesGroup name to assign, or null/None to unassign the current group.
deviceNoOptional device name to target a specific console; omit for default.
confirmNoMust be True to change membership; without it the call is a no-op. Defaults to False.
identityYesClient MAC, IP, hostname, or alias to resolve to a known client.
Install Server

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the idempotentHint annotation, the description discloses that this is a mutating operation, that it replaces the client's single local group membership, that a null group clears membership, and that the controller is not mutated. It also reveals the success=false-until-confirm behavior, adding significant context that annotations do not provide.

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?

The description is well-structured with an upfront summary, behavioral notes, and an Args block. It is somewhat repetitive with the schema descriptions, but every included sentence contributes functional guidance or clarifies important caveats like confirm behavior and non-mutation of the controller.

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 mutating tool with no output schema, the description covers the required confirmation flag, exact membership semantics, null-group unassignment, identity resolution, site/device targeting, and relevant sibling tools. The success=false caveat partially addresses return behavior, making the tool safe to invoke without further assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 even though the description mostly mirrors the parameter descriptions. It does add context like 'resolve to a known client' for identity and reinforces the no-op behavior of confirm, but it does not materially extend beyond the schema.

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 opens with a specific verb and resource: 'Assign or unassign one local client group.' It clearly distinguishes itself from related siblings by pointing to set_client_tags for tags and list_clients_by_organization for finding clients in a group. Scope and semantic intent are 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?

The description explicitly states when to use the tool, that confirm=true is required for the operation to take effect, and that without it the call is a no-op. It also provides alternative tools for tags and client-group listing, giving clear exclusions and alternatives.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikeholownych/unifi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server