Skip to main content
Glama

FreqBlog Music Metadata

Search Music Catalog

search_catalog
Read-only

Full-text search the catalog by any mix of track / artist / album tokens. Use this to resolve a fuzzy, partial, or misspelled name into concrete tracks BEFORE calling get_audio_features.

Each hit carries `chart_peak`: the best chart position we hold, 1-100 with 100 = a
number-one. `null` means no placement we hold — treat that as UNKNOWN, not unpopular,
and note it is NOT an audience-size figure. Placements come from the Apple Music and
Deezer charts we track (since Aug 2026) and Billboard year-end charts (1960-2025).

Returns lightweight stubs (itunes_track_id, track_name, artist_name, album, etc.) ranked
by relevance — NOT audio features. Take the best match's track_name + artist_name and
pass them to get_audio_features, or reuse its itunes_track_id as a `track_id` seed for
discovery tools.

⚠ Each hit carries a `seedable` boolean. Only a hit with `seedable: true` can be used as
a seed for get_recommendations / suggest_next_track / build_setlist / score_transition —
those work off the similarity index, which holds only tracks we have analysed, and about
a quarter of the catalogue is not analysed yet. **Prefer the highest-ranked hit with
`seedable: true`.** Seeding with a `seedable: false` id returns a 404; if that track is
the one you want, call get_audio_features on it first to queue analysis, then retry.

Input Schema

NameRequiredDescriptionDefault
qYesSearch query — any mix of artist / track / album tokens.
limitNoMax results (default 10).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the semantics of chart_peak (1-100, null = unknown, not popularity, and the exact source charts with date ranges), the lightweight stub return shape, the meaning of the `seedable` flag, the failure mode (seeding a non-seedable id returns 404), and the recovery path (run get_audio_features first, then retry). That is unusually rich operational context.

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 purpose, then usage, then edge cases, so an agent gets the essentials in the first two sentences. It is on the long side and the chart_peak paragraph, while useful, is somewhat tangential to selecting/calling the tool and could be trimmed.

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 search tool with an output schema, an open-world flag, and only two params, this covers everything an agent needs: query intent, downstream routing, the seedable precondition, and the 404 recovery loop. Return-value detail is extra given the output schema but not redundant enough to penalize.

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% and both parameters are already documented there (q as 'artist / track / album tokens', limit as max results). The description echoes the q semantics without adding syntax or format detail beyond the schema, so the 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?

Starts with a specific verb+resource: 'Full-text search the catalog by any mix of track / artist / album tokens.' It immediately distinguishes itself from retrieval siblings (get_audio_features, find_tracks_by_bpm, find_tracks_by_key) by declaring that it returns ranked name-matches, not audio data.

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?

Explicitly frames when to use it ('resolve a fuzzy, partial, or misspelled name') and sequences it in a workflow ('BEFORE calling get_audio_features'), then repeats the routing at the end ('pass them to get_audio_features, or reuse its itunes_track_id as a track_id seed'). When-not guidance is also given via the seedable constraint, which warns against seeding with unanalysed tracks.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources