Skip to main content
Glama

Remove from my library

remove
DestructiveIdempotent

Remove something. what: library (a title from their library: needs media_type and item_id, from query), list_entry (a title from a list), list (a whole list; its titles stay), event (one history entry: event_id or event_date, or all), pin (off their page), episode (mark episodes unwatched), challenge (a whole challenge: name; its titles stay), challenge_pick (the title off a challenge prompt: challenge, prompt or slot_id), shelf (a whole shelf with its entries: name, and confirm: true once they said yes), shelf_entry (an entry off a shelf: entry_id, or shelf and title). Confirm with the user before removing a title, a list or a shelf.

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": {
      "what": "<what>"
    },
    "name": "remove"
  }
}

Input Schema

NameRequiredDescriptionDefault
allNo
listNo
nameNo
whatYes
shelfNoFor shelf_entry: the shelf's name, with title
titleNo
promptNoFor challenge_pick: the prompt's words or number
seasonNo
confirmNoFor shelf: true only after they said yes to deleting it
episodeNo
item_idNo
slot_idNoFor challenge_pick: the prompt's id, instead of prompt
throughNo
entry_idNoFor shelf_entry: the entry's id
event_idNo
challengeNoFor challenge_pick: the challenge's name
event_dateNo
media_typeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / media_type / enum
      Previous value: -[
      -  "book",
      -  "movie",
      -  "album",
      -  "show",
      -  "anime",
      -  "podcast",
      -  "game",
      -  "manga",
      -  "comic"
      -]New value: +[
      +  "book",
      +  "movie",
      +  "album",
      +  "show",
      +  "anime",
      +  "podcast",
      +  "game",
      +  "manga",
      +  "comic",
      +  "boardgame"
      +]
  2. Changed4 schema fields changed
    • addedInput schema / properties / confirm
      Added value: +{
      +  "description": "For shelf: true only after they said yes to deleting it",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / entry_id
      Added value: +{
      +  "description": "For shelf_entry: the entry's id",
      +  "type": "string"
      +}
    • addedInput schema / properties / shelf
      Added value: +{
      +  "description": "For shelf_entry: the shelf's name, with title",
      +  "type": "string"
      +}
    • changedInput schema / properties / what / enum
      Previous value: -[
      -  "library",
      -  "list_entry",
      -  "list",
      -  "event",
      -  "pin",
      -  "episode",
      -  "challenge",
      -  "challenge_pick"
      -]New value: +[
      +  "library",
      +  "list_entry",
      +  "list",
      +  "event",
      +  "pin",
      +  "episode",
      +  "challenge",
      +  "challenge_pick",
      +  "shelf",
      +  "shelf_entry"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / media_type / enum
      Previous value: -[
      -  "book",
      -  "movie",
      -  "album",
      -  "show",
      -  "anime",
      -  "podcast",
      -  "game",
      -  "manga"
      -]New value: +[
      +  "book",
      +  "movie",
      +  "album",
      +  "show",
      +  "anime",
      +  "podcast",
      +  "game",
      +  "manga",
      +  "comic"
      +]
  4. Changed4 schema fields changed
    • addedInput schema / properties / challenge
      Added value: +{
      +  "description": "For challenge_pick: the challenge's name",
      +  "type": "string"
      +}
    • addedInput schema / properties / prompt
      Added value: +{
      +  "description": "For challenge_pick: the prompt's words or number",
      +  "type": "string"
      +}
    • addedInput schema / properties / slot_id
      Added value: +{
      +  "description": "For challenge_pick: the prompt's id, instead of prompt",
      +  "type": "string"
      +}
    • changedInput schema / properties / what / enum
      Previous value: -[
      -  "library",
      -  "list_entry",
      -  "list",
      -  "event",
      -  "pin",
      -  "episode"
      -]New value: +[
      +  "library",
      +  "list_entry",
      +  "list",
      +  "event",
      +  "pin",
      +  "episode",
      +  "challenge",
      +  "challenge_pick"
      +]
  5. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover destructive/idempotent/readOnly, but the description adds genuinely useful context the annotations cannot: cascade semantics ('list (a whole list; its titles stay)', 'shelf (a whole shelf with its entries)', 'challenge ... its titles stay') and a mandatory user-confirmation step for destructive title/list/shelf removals. It does not say whether removals are recoverable or what is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the verb and every clause carries information, so there is little waste. However, the single semicolon-and-parenthesis run-on covering ten variants is dense and hard to scan; a list format or one sentence per variant would be more usable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an 18-parameter destructive tool with no output schema, the description covers most variants adequately but leaves several parameters (season, through, episode, and the `list`/`title` pairing for list_entry) undefined in both schema and description. It also never states the outcome of a successful removal, which matters for a destructive operation with no return schema.

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 18 parameters and only 33% schema description coverage, the description carries the bulk of the meaning: media_type+item_id for library, event_id/event_date/all for event, name for challenge, challenge/prompt/slot_id for challenge_pick, name+confirm for shelf, entry_id or shelf+title for shelf_entry. This is well beyond what the schema provides. Minor gaps remain (season, through, episode, list for list_entry are not explained).

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 opens with a specific verb ('Remove') and then enumerates ten distinct resource variants via the `what` enum, each with a one-line characterization. This makes it obvious the tool is a polymorphic delete dispatcher. It does not explicitly distinguish itself from siblings such as delete_item or remove_from_list, which is why it falls short of a 5.

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 concrete per-variant selection guidance (which `what` to use and which companion params to supply) plus a clear prerequisite: 'Confirm with the user before removing a title, a list or a shelf,' and 'confirm: true once they said yes' for shelves. What is missing is routing versus the overlapping delete_*/remove_from_* siblings, leaving the agent to guess whether to call this tool or those.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources