Skip to main content
Glama
sickn33
by sickn33

Search the TIDAL catalog

tidal_search
Read-only

Search TIDAL's public catalog for tracks, albums, artists, playlists, or videos by query, returning metadata only without changing your account.

Instructions

Search TIDAL. This tool reads public catalog metadata and changes nothing.

Input Schema

NameRequiredDescriptionDefault
limitNoResults per requested type.
queryYesArtist, album, track, or phrase.
offsetNo
media_typesNoCatalog result types to return; defaults to tracks.

Output Schema

NameRequiredDescriptionDefault
limitYes
queryYes
albumsNo
offsetYes
tracksNo
videosNoVideos are returned as public items, matching the shape used by the video tools.
artistsNo
has_moreYes
playlistsNo
next_offsetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv1.1.1
    • changedInput schema / $defs / SearchType / enum
      Previous value: -[
      -  "tracks",
      -  "albums",
      -  "artists",
      -  "playlists"
      -]New value: +[
      +  "tracks",
      +  "albums",
      +  "artists",
      +  "playlists",
      +  "videos"
      +]
    • changedInput schema / properties / media_types / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "$ref": "#/$defs/SearchType"
      -    },
      -    "maxItems": 4,
      -    "minItems": 1,
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "$ref": "#/$defs/SearchType"
      +    },
      +    "maxItems": 5,
      +    "minItems": 1,
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / $defs / PublicItem
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "A stable, credential-free representation of any TIDAL catalog object.",
      +  "properties": {
      +    "details": {
      +      "additionalProperties": true,
      +      "title": "Details",
      +      "type": "object"
      +    },
      +    "id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Id"
      +    },
      +    "name": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Name"
      +    },
      +    "title": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Title"
      +    },
      +    "type": {
      +      "title": "Type",
      +      "type": "string"
      +    },
      +    "url": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Url"
      +    }
      +  },
      +  "required": [
      +    "type"
      +  ],
      +  "title": "PublicItem",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Track / properties / isrc
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "International Standard Recording Code.",
      +  "title": "Isrc"
      +}
    • addedOutput schema / properties / videos
      Added value: +{
      +  "description": "Videos are returned as public items, matching the shape used by the video tools.",
      +  "items": {
      +    "$ref": "#/$defs/PublicItem"
      +  },
      +  "title": "Videos",
      +  "type": "array"
      +}
  2. First observedv1.0.1

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so 'changes nothing' largely restates the safety profile. The added value is real but small: it clarifies the target is public catalog metadata rather than user/library data. Nothing is said about pagination behavior or limits, though the offset/limit bounds hint at it.

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 short sentences, front-loaded, with no filler or repetition. The second sentence is partly redundant with the readOnlyHint annotation, but it is cheap and unambiguous, so efficiency is high.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, but for a 4-parameter search tool the description omits the searchable result types, the default media type, pagination guidance, and when to prefer the many sibling getters over a search. An agent could call it correctly in the happy path but would be guessing on scope and routing.

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 75% and the schema documents query, limit, offset, and media_types itself. The description contributes no parameter meaning at all — it does not mention the default of tracks, the 50-result cap, or the 200-character query limit. Baseline 3 is appropriate when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb and resource ('Search TIDAL') and clarifies the scope is public catalog metadata, but never says what the search covers — tracks, albums, artists, playlists, videos — which is only discoverable by opening the schema's media_types enum. Against a sibling list containing dozens of tidal_get_* / tidal_browse_* tools, it gives no differentiation signal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives (e.g. tidal_list_favorite_tracks, tidal_browse_hires, tidal_get_track when the ID is already known), and no stated prerequisites such as authentication. The agent must infer that this is the free-text entry point.

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

Deploy Server

Other Tools