Skip to main content
Glama

Update Document Icon

update_doc_icon

Set, replace, or remove a document's sidebar icon by passing an emoji, icon object, or null.

Instructions

Set or clear the sidebar icon (the Notion-style emoji slot) on a document. Pass an emoji string, a full icon object, or null to remove it.

Input Schema

NameRequiredDescriptionDefault
iconYesEmoji shorthand ("🧪"), a full object ({type:"emoji",unicode:"🧪"} or {type:"affine-icon",name:"FlagPanel",color:"var(--affine-v2-block-callout-icon-red)"}), or null to remove the icon. `name` must be an @blocksuite/icons export without the `Icon` suffix (e.g. "FlagPanel", "DirectionSignPanel"); unknown names render as no icon.
docIdYesThe document whose icon to update.
workspaceIdNo

Output Schema

NameRequiredDescriptionDefault
okNo
codeNo
iconNo
kindNo
docIdNo
errorNo
clearedNo
detailsNo
causeCodeNo
retryableNo
workspaceIdNo
recoveryGuidanceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.10.2

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare a non-readonly, non-idempotent, non-destructive, open-world mutation; the description is consistent with that and adds meaningful behavior: passing null removes the icon, and unknown icon names silently render as no icon (a silent-failure trait worth disclosing). It does not clarify why idempotency is flagged false or what happens on an unknown docId, but the added disclosure is substantive.

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 sentences, zero filler, with the core action front-loaded and the accepted value forms immediately after. Every clause carries information an agent needs.

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?

With an output schema present and annotations covering the mutation profile, the description supplies enough to invoke correctly. The only shortfall is the unexplained optional workspaceId and no mention of error behavior when docId is invalid.

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 67% and the icon parameter is already well documented in the schema, including the three accepted shapes; the description restates the shorthand/object/null trichotomy rather than adding new semantics. The workspaceId parameter remains undocumented in both places, which is the notable gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb pair (set/clear) and a precise resource (the sidebar emoji icon on a document), with a nice disambiguating gloss ('Notion-style emoji slot'). It implicitly separates itself from update_folder_icon by saying 'on a document', but never names the icon-related siblings, so differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It makes the two usage modes (set vs. clear via null) clear, which is useful context for choosing behavior. However, it never names alternatives such as get_doc_icon (to read current icon first) or update_folder_icon, and gives no prerequisite or permission guidance. Usage is implied rather than routed.

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

Deploy Server

Other Tools