Skip to main content
Glama
Spotify & TMDB Web MCP Server

Spotify & TMDB Web MCP Server

search_spotify

Read-onlyIdempotent

Search Spotify for songs, albums, artists, or playlists by keyword and set result limits to quickly find matching music.

Instructions

Search for songs, albums, artists, or playlists on Spotify.

Args: query: Search keywords search_type: Types to search for (comma-separated: 'track', 'album', 'artist', 'playlist') limit: Number of results (default 5, max 20)

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_spotify"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
queryYes
search_typeNotrack

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/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 only the result-count cap ('default 5, max 20'), which is useful but is the sole behavioral detail beyond structured data; no mention of rate limits, market/region filtering, 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.

Conciseness4/5

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

Purpose is front-loaded in one sentence, followed by a compact Args block with zero filler. The format is slightly docstring-heavy but every line carries information.

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?

An output schema exists, so return values need no explanation, and all three parameters are described. Remaining gaps (market filtering, what a comma-separated search_type returns) are minor for a simple read-only search tool.

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 carries the full burden and largely does: it defines query as keywords, enumerates the four legal search_type values with comma-separation semantics that the plain string schema does not convey, and adds a max=20 constraint absent from the schema. What it omits is how multiple search_types interact in the response ordering.

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

Purpose4/5

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

States a specific verb and resource ('Search for songs, albums, artists, or playlists on Spotify') and names the object types covered. It is clearly distinguishable from siblings like search_movie_tmdb or fetch_soundtrack_tracks, though it never explicitly says so.

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

Usage Guidelines3/5

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

Usage is implied by the search framing, and the argument list shows how to narrow by type. However, there is no guidance on when to prefer this over get_recommendations or the playlist-reading tools, and no exclusions or prerequisites stated.

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