Skip to main content
Glama

UiChemy AI Website Creator

uichemy_set_icon

Destructive

Replace one icon. The id is the authored slot label — icon_url_…, from uichemy_list_icons — or a key uichemy_list_icon_overrides already shows. An authored label is a slot in the TEMPLATE, so a layout that draws its cards from one loop carries the same label on every card and this changes all of them; uichemy_list_icons says how many. The other key scheme is POSITIONAL (svg-<sectionId>-<n>), minted by auto-match from the rendered page and not derivable here. Writing a label while positional overrides exist is refused: the pair fights every frame and shows as the icon flickering between old and new.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
valueYesAn icon url, a data: URI, or inline SVG.
iconIdYesAn icon_url_… label from uichemy_list_icons, or a key from uichemy_list_icon_overrides.
projectIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the destructiveHint=true annotation by disclosing the actual blast radius: a template slot label is shared across every card rendered by the loop, so one call mutates all of them. It also discloses a hard failure mode (refused writes when positional overrides exist) and the user-visible symptom (flicker) that motivates it.

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?

Four sentences, front-loaded with the action and the id-source rule before the caveats. Dense but nearly every clause carries meaning; the parenthetical key-format detail is the only part that could be trimmed without losing decision-relevant information.

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, closed-world mutation with no output schema, the description covers id provenance, aliasing effects and failure conditions. It does not say what a successful call returns or whether the override list changes, which is the one remaining gap given no output schema exists.

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 67% and the schema already spells out value formats and the iconId sources, yet the description still adds real semantics: the two competing key schemes, that positional keys are minted by auto-match and are not derivable client-side. projectId remains undocumented in both places.

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 ('Replace one icon') and immediately scopes it away from siblings by explaining that iconId is a template slot label rather than a per-card instance, which separates it from set_icon_style, set_icon_color and clear_icon_override.

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?

Explicitly routes the agent to uichemy_list_icons and uichemy_list_icon_overrides as the two legal sources of an id, and states the refusal condition (authored label present while positional overrides exist). It stops short of telling the agent what to do instead after that refusal (e.g. clear overrides first).

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