Skip to main content
Glama

Create tag

create_tag

Create a new tag for categorizing Immich assets by name and optional hex color. Check existing tags first to avoid duplicates before adding it to the library.

Instructions

Create a new tag for categorizing assets. Use list_tags first to avoid duplicates. Side effect: creates a new tag in Immich.

Args:
    name: Tag display name (e.g. 'Vacation', 'Family', 'Work'). Must be unique.
    color: Optional hex color for the tag (e.g. '#FF5733').

Returns: JSON with the new tag's id, name, and color.

Input Schema

NameRequiredDescriptionDefault
nameYes
colorNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.1

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutating-but-non-destructive profile is known. The description adds the uniqueness constraint on name and the return shape, but says nothing about what happens on a duplicate-name collision or what permissions are required for a write in Immich.

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?

Front-loaded purpose sentence, then the dedup instruction, then Args/Returns sections — easy to scan and nothing buried. The "Side effect: creates a new tag" line restates the opening verb and is slight padding, though it is defensible as an explicit mutation warning.

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 two-parameter creation tool with annotations covering the safety profile and an output schema covering return values, the description supplies the remaining essentials: parameter meaning, format example, uniqueness constraint, and the prerequisite lookup step. Only duplicate-collision error behavior is unaddressed, which is a small residual gap.

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 description coverage is 0%, so the description carries the full burden and largely meets it: name is described as a display name with examples ('Vacation', 'Family', 'Work') and a uniqueness rule, and color is flagged optional with a '#FF5733' hex example that pins the format. Minor gap: it does not state whether non-hex color strings (names, 3-digit hex) are rejected or whether color defaults to empty.

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?

Specific verb+resource ('Create a new tag') plus the purpose ('for categorizing assets'), which is clear on its own. It positions itself against list_tags as a prerequisite, but never contrasts with update_tag or tag_assets, which an agent scanning the sibling list also needs to tell apart.

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?

"Use list_tags first to avoid duplicates" gives a concrete precondition and names the alternative tool, which is exactly the kind of routing guidance most definitions omit. It stops short of explicit when-not guidance (e.g., no statement about updating an existing tag versus creating a new one).

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