Skip to main content
Glama
ni-c

audiobookshelf-mcp

by ni-c

Delete collection

delete_collection
DestructiveIdempotent

Remove a curated collection from Audiobookshelf while keeping all books in the library. Requires confirmation; if no dialog appears, call once for a token and again to confirm deletion.

Instructions

Deletes a collection. The books stay in the library, but the curated list and its order are gone. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it. Requires an Audiobookshelf account with delete permission.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
collection_idYesCollection id, as returned by list_collections
confirm_tokenNoToken from the first call of this tool

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
truncatedNoPresent only when the answer was shortened to fit the budget.
deleted_collection_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.4.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / collection_id / maxLength
      Added value: +128
    • addedInput schema / properties / confirm_token / maxLength
      Added value: +128
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": true,
      +  "properties": {
      +    "deleted_collection_id": {
      +      "type": "string"
      +    },
      +    "truncated": {
      +      "additionalProperties": false,
      +      "description": "Present only when the answer was shortened to fit the budget.",
      +      "properties": {
      +        "dropped_entries": {
      +          "additionalProperties": {
      +            "type": "number"
      +          },
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        "follow_up": {
      +          "type": "string"
      +        },
      +        "reason": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "reason",
      +        "dropped_entries",
      +        "follow_up"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "deleted_collection_id"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.1.1

TDQS

A5/5.0
Behavior5/5

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

The description complements the destructive and idempotent annotations by explaining the confirmation mechanism and the need for delete permission. It accurately reflects the non-readOnly, destructive nature without contradicting annotations.

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 concise and information-dense with no redundant or vague statements. Each sentence adds necessary context: the effect, the confirmation flow, and the permission requirement.

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 output schema exists and the annotations already cover core behavioral flags, the description sufficiently covers the tool's operational context, including permission, confirmation, and the two-call pattern. No critical missing information is apparent.

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?

The description adds practical meaning to the confirm_token parameter by explaining that it is obtained from a first call when no dialog can be shown. The collection_id parameter is already well-described by the schema as returned by list_collections, and the flow description covers the remaining parameter 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 clearly states the tool deletes a collection, and explicitly distinguishes it from related actions like updating or adding/removing books by noting the books themselves remain in the library. This makes the tool's purpose unambiguous relative to its siblings.

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?

The description provides explicit usage guidance: it requires human confirmation and explains the two-step token flow for clients that cannot show a dialog. It also states the permission requirement, giving the agent clear conditions for when and how to use the tool.

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