Skip to main content
Glama

Show or hide item texts

set_item_text_visibility
DestructiveIdempotent

Show texts of the activity as their image alone, or show their text again. Call it ONLY when the user asked for it in their own words: "leave only the flag", "remove the word and keep the picture", "only images in the left column" (hidden), or "put the names back" (shown). Hiding keeps the text stored, so the item can still be named and shown again, and it never touches the image or the audio. Only a text that already has an image can be hidden: when the user wants only images on texts that have none, first add them with illustrate_items and then call this tool in the same turn. Which texts can show only their image depends on the type: "media_targets.image_only" in the activity state lists them; an empty list means the type always shows its texts. Send exactly the texts the user named, up to 40 per call. The result lists in "hidden" or "shown" every text that changed and in "skipped" the ones that could not, with the reason.

Input Schema

NameRequiredDescriptionDefault
itemsYesOne entry per text the user named.
visibilityYes"hidden": the player sees only the image of those texts. "shown": their text is shown again next to the image.
activity_idYesId of the activity.

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?

Beyond the annotations (readOnly=false, idempotent=true, destructive=true), the description discloses that hiding is reversible (text stays stored and can be shown again), that image and audio are never touched, the prerequisite that a text must already have an image, the dependency on media_targets.image_only in the activity state, the 40-per-call limit, and the return shape (hidden/shown/skipped with reason). This is unusually rich behavioral context; the only mild tension is with destructiveHint=true, though that is a defensible annotation of a player-visible content change rather than a contradiction.

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 core action is front-loaded and every sentence earns its place, but it is delivered as one long dense paragraph mixing usage gating, prerequisites, limits and result format; light structural separation would improve scanability without cutting content.

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 mutation tool with no output schema, the description covers the prerequisites, the per-type constraint source (media_targets.image_only), the batch limit, and the return fields (hidden/shown/skipped with reason), leaving no significant gap an agent would need to guess at.

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 semantics: items should contain exactly the texts the user named, capped at 40 per call (matching maxItems), and a text can only be hidden if it already has an image, which constrains what is valid input. It does not elaborate on the in_item disambiguator, which the schema already covers.

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 names the specific action (hide a text so only its image shows, or show it again) and the resource (item texts within an activity), which cleanly separates it from siblings like set_item_images, illustrate_items, and remove_item_media.

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?

Explicit when-to-use is given with verbatim user phrasings ("leave only the flag", "put the names back") plus a call-it-ONLY gating condition, and an alternative workflow is spelled out: if the user wants images-only on texts that have none, call illustrate_items first, then this tool in the same turn.

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