Skip to main content
Glama

tidy_library

Destructive

Normalise FLAC tags, remove lossy duplicates, and organise files as Artist/Album/NN - Title. Run as dry-run report first; apply only after confirming deletions.

Instructions

Library clean-up: normalise tags, drop lossy duplicates of FLACs, file everything as Artist/Album/NN - Title. apply=False is a dry run that writes a report; apply=True changes files and must only follow the user's yes to the listed deletions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
applyNo
forceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.2

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds real value on top: it specifies what actually gets removed (lossy duplicates of FLACs), that the default path is a non-mutating dry run producing a report, and that mutation requires explicit user consent. It stops short of saying whether changes are reversible or how the report is surfaced.

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

Conciseness4/5

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

Two sentences with no filler; the operation scope is front-loaded ahead of the safety-critical apply semantics. The second sentence is dense but each clause about apply carries operational weight.

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?

With no output schema and no parameter descriptions, the description carries the full burden, and it covers the destructive path, the dry-run default, and the consent requirement well. It is incomplete on 'force', on whether a dry-run report is returned or written to a file, and on whether the file renaming/tag normalisation is undoable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters. The description fully explains 'apply' (dry run vs. mutation), but 'force' is never mentioned anywhere, leaving half the parameters undocumented in both the schema and the prose. That is a meaningful gap for a destructive tool.

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 names a specific verb+resource ('Library clean-up') and enumerates the concrete sub-operations (normalise tags, drop lossy duplicates of FLACs, file as Artist/Album/NN - Title), which is far more than a restated name. It does not, however, explicitly distinguish itself from plausible siblings such as 'doctor' or 'review_candidates', so an agent must infer the boundary.

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 clearly states the when-to-use split for the main switch: apply=False is a dry run that writes a report, apply=True changes files. It also imposes a procedural precondition (only after the user's yes to the listed deletions). What's missing is guidance on alternatives — e.g., when to run 'doctor' or 'review_candidates' instead of tidying.

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