Skip to main content
Glama

Mark a favorite

set_favorite
DestructiveIdempotent

Mark or unmark one library item as a favorite (the heart in the app). Favorites are kept on the user's favorites list, created if they have none.

Input Schema

NameRequiredDescriptionDefault
titleNoExact title of the item (or pass item_id)
item_idNoLibrary item id (UUID), as shown by get_details. When given, title is ignored and the row is addressed exactly.
favoriteYestrue to favorite, false to unfavorite
media_typeYesType of media

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds genuinely new behavioral context: it is a two-way toggle (not just a set) and it will lazily create the favorites list when the user has none — a side effect the annotations do not reveal. It stops short of explaining why the call is flagged destructive or what happens if the item isn't found.

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?

Two sentences, front-loaded with the action and scope, with the side effect in the second. The parenthetical UI hint is short and aids disambiguation rather than padding.

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?

For a 4-parameter mutation with no output schema and rich annotations, the description plus schema covers nearly everything an agent needs: the toggle semantics, identifier precedence, and the list-creation side effect. Minor gaps: no statement about failure modes (unknown title, ambiguous match) or what the response confirms.

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 100%, including the title-vs-item_id precedence rule and the boolean's meaning, so the schema carries the weight. The description only reinforces that the boolean is bidirectional; it adds no format, casing, or resolution guidance beyond the schema — the baseline 3.

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?

States a specific verb pair (mark/unmark) and a specific resource (one library item), plus a UI anchor ("the heart in the app"). The word "one" implicitly distinguishes it from the sibling set_profile_favorites, but that sibling is never named, so differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the agent can infer this is the per-item toggle vs. a bulk/list operation like set_profile_favorites or bulk_add_items, but no alternative is named and no when/when-not condition is stated. Nothing tells the agent which identifier path (title vs item_id) is preferred at the description level.

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