Skip to main content
Glama

Assign Display Categories

assign_display_categories
DestructiveIdempotent

Assigns displays to categories. mode 'replace' (default) sets the full category list of each display in display_ids to category_ids; mode 'add' or 'remove' adds/removes one category (category_ids[0]) across many displays without touching other assignments. Discover IDs with list_display_categories; create categories with manage_display_category.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoreplace (default) sets the exact list; add/remove mutates one category across displays.
display_idsYesDisplay profile IDs to update.
access_tokenNoOptional bearer token; prefer session_request_id.
category_idsYesCategory IDs; for mode 'add'/'remove' only the first entry is used.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo
resultsNo
categoryIdNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=true, but the description adds the crucial behavioral nuance of what actually gets destroyed: replace 'sets the full category list' (overwrites all assignments), while add/remove does so 'without touching other assignments.' This is exactly the 'what gets destroyed' context the rubric credits, and it is consistent with the annotations.

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?

Two dense sentences with no filler. The core action is front-loaded, mode semantics follow in order of importance, and the sibling-tool routing is one tight clause at the end. Every sentence earns its place.

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?

For a destructive, multi-mode tool, the description covers modes, defaults, scoping behavior, and ID discovery/creation routing. With annotations covering the safety profile, a 100%-covered schema, and an output schema present, the only notable gap is failure/partial-failure semantics (e.g., behavior when a display_id is invalid), which is minor.

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 cross-parameter semantics the schema's individual field descriptions don't fully convey: how display_ids and category_ids interact differently per mode, that replace sets the full list per display, and that add/remove applies one category across many displays. This goes beyond merely restating schema text.

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?

Opens with a specific verb+resource: 'Assigns displays to categories.' The three modes (replace/add/remove) are each defined with precise semantics, and the description names the two most confusable siblings (list_display_categories, manage_display_category) and what each is for, so an agent can tell assignment apart from discovery and creation without opening their schemas.

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?

Provides explicit when-to-use guidance per mode: replace for setting the exact category list, add/remove for surgically mutating one category across many displays. It also names alternatives for adjacent operations ('Discover IDs with list_display_categories; create categories with manage_display_category'), which is clear routing against the sibling set.

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools map cleanly to distinct resource-action pairs (displays, organizations, assets, data slots, store templates, auth). A few clusters like the get_store_template_* family and the auth/session tools could still confuse an agent, but their descriptions are explicit enough to separate them.

Naming Consistency4/5

The dominant pattern is consistent verb_noun snake_case (list_*, get_*, create_*, delete_*, send_*, set_*, manage_*). Deviations like fetch, search, authenticate, logout, and pair_by_code are understandable but break the otherwise uniform naming scheme.

Tool Count1/5

With 57 tools this server far exceeds the 50+ threshold, creating an extreme tool-set size for an MCP server. Even though the underlying platform is feature-rich, the sheer number of tools heavily taxes context and selection.

Completeness4/5

The surface covers display, organization, asset, data slot, store template, auth, API key, and licensing lifecycles in impressive depth. Minor gaps exist, such as no delete operation for display categories and no reboot/power control for displays.

Resources