Skip to main content
Glama

delete_user_book

DestructiveIdempotent

Permanently remove a book from your Hardcover library by book ID or user_book ID, deleting its status, rating, review, and private notes. This action cannot be undone.

Instructions

Permanently remove a book from your library (by book_id or user_book_id), including its status, rating, review, and private notes. Cannot be undone. Returns {deleted: true, user_book_id}. To change status instead use set_user_book; to take it off a custom list use set_list_book(on_list=false).

Input Schema

NameRequiredDescriptionDefault
book_idNoHardcover book ID (will look up your library entry).
user_book_idNoDirectly specify user_book ID if known.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=true, but the description adds material context beyond them: the cascade of destroyed data (status, rating, review, private notes), irreversibility ('Cannot be undone'), and the literal return payload. With no output schema, disclosing the return shape is genuinely valuable.

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?

Three dense sentences: what it does, what it destroys, the return value, then the two alternatives. Front-loaded with the destructive action and every clause carries new information.

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 destructive delete with no output schema, the description covers scope, side effects, irreversibility, return shape, and sibling routing. An agent has everything needed to call it correctly and to prefer alternatives where appropriate.

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%, so both parameters are already documented ('Hardcover book ID (will look up your library entry)' / 'Directly specify user_book ID if known'). The description's 'by book_id or user_book_id' adds the either/or framing but no format or lookup semantics beyond the schema. Baseline 3 applies.

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 ('delete/remove') and resource ('book from your library'), plus the two addressing modes (book_id or user_book_id). It explicitly separates itself from set_user_book and set_list_book, so an agent can pick it without opening another schema.

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

Usage Guidelines5/5

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

Gives explicit when-not guidance with named alternatives: use set_user_book to change status, set_list_book(on_list=false) to remove from a custom list. Nothing about tool selection is left to inference.

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