Skip to main content
Glama

Photos Album Remove

photos_album_remove
Destructive

Removes up to 50 listed photo IDs from a Google Photos album while keeping the photos in the library; confirm with the person first which photos leave.

Instructions

Take up to 50 items out of an album; they stay in the library. Only ids the album's own listing holds are removed (not_in_album: the others). Ask the person first, showing which photos leave the album. Returns the album afterwards and removed.

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>",
      "ids": "<ids>"
    },
    "name": "photos_album_remove"
  }
}

Input Schema

NameRequiredDescriptionDefault
idsYesItem ids as photos_list(source=album) gives them (max 50)
album_idYesAn album id from photos_albums

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.11.3

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true. The description adds valuable nuance: only album membership is removed, photos remain in the library, and ids not in the album are returned as not_in_album. It also mentions the return value, though it does not cover auth or rate-limit details.

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?

The description is three compact sentences with no wasted words. It front-loads the core action and scope, then adds constraints, confirmation guidance, and return behavior in a logical order.

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?

Given the rich annotations, 100% schema coverage, and an output schema, the description covers the remaining gaps an agent needs: confirmation guidance, partial-removal behavior, library preservation, and return values. Nothing essential is missing.

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 100%, so the schema already documents both parameters. The description adds meaning beyond the schema by explaining that only ids from the album's own listing are removed and that others appear in not_in_album, which clarifies partial-success semantics.

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?

The description states a specific verb ('Take') and resource ('items out of an album'), with an explicit scope ('up to 50') and the critical distinction that items 'stay in the library'. This distinguishes it from siblings like photos_album_delete (which removes the album) and photos_delete (which removes photos).

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?

It gives a clear procedural guideline ('Ask the person first, showing which photos leave the album') and clarifies partial-removal behavior. However, it does not explicitly name alternative tools (e.g., photos_delete) or state when not to use this tool, so it falls short of full alternative routing.

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