Skip to main content
Glama

Remove assets from album

remove_assets_from_album
Destructive

Remove selected assets from an Immich album without deleting them from the library or other albums. Use it to correct mistakenly added photos while preserving original files.

Instructions

Remove assets from an album without deleting them. The photos remain in the library and other albums. Use this to un-curate mistakenly added assets. Side effect: modifies album membership.

Args:
    album_id: Album UUID to remove assets from.
    asset_ids: List of asset UUIDs to remove from this album.

Returns: JSON with album_id, count removed, and per-asset result details.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "album_id": "<album_id>",
      "asset_ids": "<asset_ids>"
    },
    "name": "remove_assets_from_album"
  }
}

Input Schema

NameRequiredDescriptionDefault
album_idYes
asset_idsYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare destructiveHint=true, and the description usefully qualifies that scope by clarifying only album membership changes while library and other albums are untouched, plus an explicit 'Side effect' line. It is consistent with the annotations, though it does not cover behavior for asset IDs not present in the album or permission requirements.

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 with the key safety distinction in the first sentence, then a usage cue, effect, args, and returns. The Returns section duplicates the existing output schema, and the 'Side effect' line restates the mutation already implied, so a small amount of content is redundant.

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?

An output schema exists, so return values need not be explained, yet the description gives a short summary anyway. Combined with the safety framing and side-effect disclosure, an agent has enough to call it correctly; only partial-failure semantics are unaddressed.

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 0%, so the description must carry parameter meaning; it does add that both parameters are UUIDs, which the schema does not say. However, it gives no semantics for edge cases such as unknown asset_ids, duplicates, or partial failure behavior, which matter for a batch removal.

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 a specific verb and resource ('Remove assets from an album') and immediately scopes it against the most likely confusion ('without deleting them'), which separates it from delete_assets and add_assets_to_album in the sibling list.

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?

Gives a concrete use case ('un-curate mistakenly added assets') and implicitly excludes asset deletion by stating the photos remain in the library and other albums. It does not explicitly name the alternative sibling (delete_assets) or state preconditions, so it stops short of full routing guidance.

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