get_playlist_info
Retrieve basic metadata for a Spotify playlist by providing its ID. Returns playlist details without tracks.
Instructions
Get basic information about a Spotify playlist.
Args:
playlist_id: Spotify playlist ID
Returns:
Dict with playlist metadata (no tracks - use get_playlist_tracks for tracks)
Note: This returns playlist info only. For tracks, use get_playlist_tracks
which supports full pagination for large playlists.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| playlist_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The main handler function for the get_playlist_info tool. Calls spotify_client.playlist() with specific fields, constructs a Playlist model, and returns its dict representation.
@mcp.tool() @log_tool_execution def get_playlist_info(playlist_id: str) -> dict[str, Any]: """Get basic information about a Spotify playlist. Args: playlist_id: Spotify playlist ID Returns: Dict with playlist metadata (no tracks - use get_playlist_tracks for tracks) Note: This returns playlist info only. For tracks, use get_playlist_tracks which supports full pagination for large playlists. """ try: logger.info(f"📋 Getting playlist info: {playlist_id}") result = spotify_client.playlist( playlist_id, fields="id,name,description,owner,public,tracks.total" ) playlist = Playlist( name=result["name"], id=result["id"], owner=result.get("owner", {}).get("display_name"), description=result.get("description"), tracks=None, # No tracks - use get_playlist_tracks total_tracks=result.get("tracks", {}).get("total"), public=result.get("public"), ) return playlist.model_dump() except SpotifyException as e: raise convert_spotify_error(e) from e - The Playlist Pydantic model used as the return schema for get_playlist_info. Defines fields: name, id, owner, description, tracks, total_tracks, public.
class Playlist(BaseModel): """A Spotify playlist.""" name: str id: str owner: str | None = None description: str | None = None tracks: list[Track] | None = None total_tracks: int | None = None public: bool | None = None - src/spotify_mcp/fastmcp_server.py:478-479 (registration)The @mcp.tool() decorator registers get_playlist_info as a tool in the FastMCP server named 'Spotify MCP' (line 32).
@mcp.tool() @log_tool_execution - The log_tool_execution decorator used on get_playlist_info for logging.
log_tool_execution, ) - The spotify_client wrapper initialization used by get_playlist_info to call the Spotify API.
# Initialize Spotify client _client_wrapper = spotify_api.Client()