Skip to main content
Glama

Check web finds on Spotify

verify_tracks
Idempotent

Verifies researched tracks against Spotify for exact artist, title, release and label, drops already-recommended ones, assigns W references, and adds each result to the current run.

Instructions

Step 2, called by the research subagent with what it found. Checks each track on Spotify (exact artist and title, the right release, the real label), drops ones already recommended, and gives each a W ref. text is one track per line: artist | track | release | label | date | why | URL. Lines starting LABEL | record newly found labels. Call it as often as needed; each call adds to the run.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "lane": "<lane>"
    },
    "name": "verify_tracks"
  }
}

Input Schema

NameRequiredDescriptionDefault
laneYesThe lane id from lanes.json, e.g. "a-dnb".
textNoThe research subagent's reply, unchanged.
candidatesNoAlternative to text: the same fields as objects.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare a non-read-only, open-world, idempotent write; the description adds that verification hits Spotify, that already-recommended tracks are silently dropped, and that each call accumulates into the run. That is meaningful context beyond the annotations. It stops short of describing failure behavior when a track can't be matched on Spotify, and 'each call adds to the run' sits slightly awkwardly with idempotentHint=true without clarification.

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?

Front-loads the pipeline position and the core verification action, and every sentence carries information (format spec, label rule, repeat-call allowance). The telegraphic register and dense pipe-format line make it slightly harder to parse than it needs to be.

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?

Covers inputs well, but for a tool that assigns 'W refs' and drops candidates, it never says what the caller gets back — which tracks passed, which failed and why — information the next pipeline step likely depends on. The undefined 'W ref' term is left for the agent to infer.

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 100%, so the baseline is 3, but the description adds real meaning beyond it by specifying the exact pipe-delimited line format for `text` (artist | track | release | label | date | why | URL) and the LABEL-prefixed special line for newly found labels, which the schema only calls 'the research subagent's reply, unchanged'. The `candidates` alternative and `lane` are left to the schema.

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 and resource ('Checks each track on Spotify') plus the qualifying criteria (exact artist and title, right release, real label), and names the side effects (drops already-recommended tracks, assigns a W ref). Its 'Step 2' framing separates it from discovery_begin/fill/review siblings without the agent opening any schema.

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?

Explicitly says who calls it and when ('called by the research subagent with what it found') and that repeat calls are allowed ('Call it as often as needed; each call adds to the run'). It does not name alternatives or state when-not to use it, e.g. when a track should go straight to mark_recommended.

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