Skip to main content
Glama

Update tag

update_tag
Destructive

Updates an existing Immich tag's color, and the new color applies to all assets using that tag; renaming is not supported, so create a new tag and reassign assets instead.

Instructions

Update a tag's color. Side effect: changes apply to all assets using this tag. Immich's API cannot rename a tag (TagUpdateDto only carries color); to rename, create_tag with the new name, tag_assets, then delete_tag the old one.

Args:
    tag_id: The tag's UUID.
    name: Not supported by Immich — passing it returns an error explaining the workaround.
    color: New hex color (e.g. '#FF5733'). Omit to keep current.

Returns: JSON with the updated tag object.

Input Schema

NameRequiredDescriptionDefault
nameNo
colorNo
tag_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.1

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare the mutation as non-read-only and destructive, but the description adds important side-effect context: color changes apply to all assets using the tag. It also explains the unsupported name parameter and its error behavior.

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 front-loaded with the operation and side effect, then organized into Args and Returns. It is mostly efficient, with minor redundancy in the Returns line given the output schema and slight DTO detail that could be trimmed.

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 destructive mutation tool with an output schema, the description covers the operation, side effect, unsupported rename workflow, and all parameter semantics. Nothing an agent needs in order to call it correctly is missing.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by explaining tag_id as a UUID, name as unsupported and error-returning, and color as a hex value that can be omitted to keep the current color. This adds critical meaning absent from the input 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?

States the exact operation — update a tag's color — and explicitly scopes out renaming. It also routes rename behavior to the relevant siblings, so an agent can distinguish this tool from create_tag, tag_assets, and delete_tag without ambiguity.

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?

Gives explicit when-to-use guidance for color changes and a clear when-not/alternative path for renaming via create_tag, tag_assets, and delete_tag. It also warns that passing name returns an error, which prevents a likely misuse.

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