Skip to main content
Glama
mikeysrecipes

TIDAL MCP: My Custom Picks

create_tidal_playlist

Create a new playlist in your TIDAL account by adding specified tracks, with naming guidance based on your existing playlist style.

Instructions

Creates a new TIDAL playlist with the specified tracks. USE THIS TOOL WHENEVER A USER ASKS FOR: - "Create a playlist with these songs" - "Make a TIDAL playlist" - "Save these tracks to a playlist" - "Create a collection of songs" - Any request to create a new playlist in their TIDAL account This function creates a new playlist in the user's TIDAL account and adds the specified tracks to it. The user must be authenticated with TIDAL first. NAMING CONVENTION GUIDANCE: When suggesting or creating a playlist, first check the user's existing playlists using get_user_playlists() to understand their naming preferences. Some patterns to look for: - Do they use emoji in playlist names? - Do they use all caps, title case, or lowercase? - Do they include dates or seasons in names? - Do they name by mood, genre, activity, or artist? - Do they use specific prefixes or formatting (e.g., "Mix: Summer Vibes" or "[Workout] High Energy") Try to match their style when suggesting new playlist names. If they have no playlists yet or you can't determine a pattern, use a clear, descriptive name based on the tracks' common themes. When processing the results of this tool: 1. Confirm the playlist was created successfully 2. Provide the playlist title, number of tracks added, and URL 3. Always include the direct TIDAL URL (https://tidal.com/playlist/{playlist_id}) 4. Suggest that the user can now access this playlist in their TIDAL account Args: title: The name of the playlist to create track_ids: List of TIDAL track IDs to add to the playlist description: Optional description for the playlist (default: "") Returns: A dictionary containing the status of the playlist creation and details about the created playlist

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYes
track_idsYes
descriptionNo

Implementation Reference

  • The @mcp.tool()-decorated handler function implementing the create_tidal_playlist MCP tool. Performs authentication check, input validation, proxies the playlist creation request to the internal Flask API (/api/playlists), processes the response, and adds a TIDAL playlist URL.
    @mcp.tool() def create_tidal_playlist(title: str, track_ids: list, description: str = "") -> dict: """ Creates a new TIDAL playlist with the specified tracks. USE THIS TOOL WHENEVER A USER ASKS FOR: - "Create a playlist with these songs" - "Make a TIDAL playlist" - "Save these tracks to a playlist" - "Create a collection of songs" - Any request to create a new playlist in their TIDAL account This function creates a new playlist in the user's TIDAL account and adds the specified tracks to it. The user must be authenticated with TIDAL first. NAMING CONVENTION GUIDANCE: When suggesting or creating a playlist, first check the user's existing playlists using get_user_playlists() to understand their naming preferences. Some patterns to look for: - Do they use emoji in playlist names? - Do they use all caps, title case, or lowercase? - Do they include dates or seasons in names? - Do they name by mood, genre, activity, or artist? - Do they use specific prefixes or formatting (e.g., "Mix: Summer Vibes" or "[Workout] High Energy") Try to match their style when suggesting new playlist names. If they have no playlists yet or you can't determine a pattern, use a clear, descriptive name based on the tracks' common themes. When processing the results of this tool: 1. Confirm the playlist was created successfully 2. Provide the playlist title, number of tracks added, and URL 3. Always include the direct TIDAL URL (https://tidal.com/playlist/{playlist_id}) 4. Suggest that the user can now access this playlist in their TIDAL account Args: title: The name of the playlist to create track_ids: List of TIDAL track IDs to add to the playlist description: Optional description for the playlist (default: "") Returns: A dictionary containing the status of the playlist creation and details about the created playlist """ try: # First, check if the user is authenticated auth_check = requests.get(f"{FLASK_APP_URL}/api/auth/status") auth_data = auth_check.json() if not auth_data.get("authenticated", False): return { "status": "error", "message": "You need to login to TIDAL first before creating a playlist. Please use the tidal_login() function." } # Validate inputs if not title: return { "status": "error", "message": "Playlist title cannot be empty." } if not track_ids or not isinstance(track_ids, list) or len(track_ids) == 0: return { "status": "error", "message": "You must provide at least one track ID to add to the playlist." } # Create the playlist through the Flask API payload = { "title": title, "description": description, "track_ids": track_ids } response = requests.post(f"{FLASK_APP_URL}/api/playlists", json=payload) # Check response if response.status_code != 200: error_data = response.json() return { "status": "error", "message": f"Failed to create playlist: {error_data.get('error', 'Unknown error')}" } # Parse the response result = response.json() playlist_data = result.get("playlist", {}) # Get the playlist ID playlist_id = playlist_data.get("id") # Format the TIDAL URL playlist_url = f"https://tidal.com/playlist/{playlist_id}" if playlist_id else None playlist_data["playlist_url"] = playlist_url return { "status": "success", "message": f"Successfully created playlist '{title}' with {len(track_ids)} tracks", "playlist": playlist_data } except Exception as e: return { "status": "error", "message": f"Failed to create playlist: {str(e)}" }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikeysrecipes/tidal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server