Skip to main content
Glama
Spotify Data MCP Server

Spotify Data MCP Server

Search Spotify

search
Read-onlyIdempotent

Look up Spotify track, artist, album, or playlist IDs by name for other tools; returns key fields, URLs, and optional lifetime track play counts.

Instructions

Search the Spotify catalog by name to find ids for the other tools. type picks what to search: tracks, artists, albums or playlists. Returns up to limit hits (max 20) with id, name, key fields and open.spotify.com URL. For track searches, include_play_counts adds each hit's lifetime play count.

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": {
      "query": "<query>"
    },
    "name": "search"
  }
}

Input Schema

NameRequiredDescriptionDefault
typeNoWhat to search for.tracks
limitNoNumber of results (1-20).
queryYesSearch text, e.g. 'Bad Bunny' or 'blinding lights the weeknd'.
include_play_countsNoTrack searches only: add lifetime play counts (slightly slower).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavior: result cap of 20, the fields returned per hit (id, name, key fields, open.spotify.com URL), and the note that include_play_counts is 'slightly slower' — a latency hint an agent can use to decide whether to request it. It stops short of describing pagination or empty-result behavior.

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

Conciseness5/5

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

Four tight sentences, each carrying distinct information: purpose, type semantics, return shape, and the conditional play-counts flag. The most important fact — this is the id-discovery tool — is front-loaded, and there is no filler.

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

Completeness4/5

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

With no output schema, the description does the necessary work of describing the return payload and its cap, which is what an agent needs to decide whether to call it. A minor gap remains around whether results are ranked by relevance and what happens when nothing matches, but the definition is sufficient for correct invocation.

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%, so the schema already documents all four parameters, including enum values, the 1-20 limit range and the tracks-only restriction on include_play_counts. The description restates these rather than adding syntax or format guidance beyond what the schema provides, 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?

The description opens with a specific verb+resource ('Search the Spotify catalog by name') and immediately states the downstream goal: finding ids for the other tools. That single clause distinguishes it from every get_* sibling, which consume ids rather than produce them. It also names the searchable entity types, so an agent knows the scope without opening the 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?

The phrase 'to find ids for the other tools' is an explicit use-case signal that tells the agent this is the entry point of a workflow. What's missing is an exclusion: nothing says when a sibling is preferable, e.g. that isrc_lookup handles ISRC-based resolution or that get_track_play_count retrieves counts for a known id.

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