Skip to main content
Glama

get_music

Fetch named songs or albums, resolving them on MusicBrainz. Skips existing library items and queues missing tracks from Soulseek at or above a confidence threshold.

Instructions

Fetch named songs and albums in one call. Items: "Artist - Title" for a song, "Artist - Album (album)" for a whole album. Resolves them on MusicBrainz, skips what the library already has, and starts a background job that searches Soulseek and queues every match at or above min_confidence; the request itself is the go-ahead, no extra confirmation. Report what was understood, then call status(playlist_id) in a minute or two.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
lossyNo
min_confidenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.2

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds substantial non-obvious behavior: it hits MusicBrainz, skips assets already in the library, launches a background job against Soulseek, queues every match at or above min_confidence, and requires no further confirmation. The 'no extra confirmation' disclosure is exactly the kind of side-effect detail an agent needs before calling.

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?

Dense but front-loaded: the item format spec and the pipeline description come before the follow-up instruction. Nothing is redundant, though the single long sentence packing MusicBrainz/Soulseek/queueing could be split for readability.

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?

For a 3-param, no-output-schema tool with a background job, the description covers the important lifecycle well, but it references status(playlist_id) while no playlist_id is defined in the input schema and no output schema exists to explain what the call returns. The meaning of lossy is also left to inference.

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

Parameters4/5

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

Schema coverage is 0%, so the description must carry the params. It precisely specifies the item string grammar ('Artist - Title' vs 'Artist - Album (album)') and explains min_confidence as the queueing threshold. The lossy parameter is never mentioned, leaving one of three parameters undocumented.

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+resource ('Fetch named songs and albums in one call') and goes further by describing the full pipeline (MusicBrainz resolution, library de-duplication, Soulseek search, queueing). This is clearly distinguishable from siblings like queue_downloads, sync_playlist, and status.

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?

Gives clear operational context: items must be supplied in a specific format, the request itself acts as consent ('no extra confirmation'), and the caller should follow up with status(playlist_id) in a minute or two. It does not explicitly name when to prefer this over siblings such as queue_downloads or sync_playlist, so it stops short of a 5.

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