Skip to main content
Glama

Playlist MCP Agent

Create, manage, and optimize Spotify playlists through natural language using AI and MCP.

Prerequisites

  1. Python 3.12+

  2. Spotify Developer app

    • Create an app at https://developer.spotify.com/dashboard

    • Copy the Client ID and Client Secret

    • Add redirect URI: http://127.0.0.1:8888/callback

    • Add your Spotify account under User Management (required for write operations in Development Mode)

Related MCP server: spotify-mcp

Setup

python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,llm]"

cp .env.example .env
# Edit .env with your Spotify credentials

Authenticate with Spotify

Run once to save a refresh token locally:

python authenticate.py

Tokens are stored at:

~/.playlist_agent/tokens.json

Run the MCP Server

python server.py --http

Server URL:

http://127.0.0.1:8080/mcp

Stdio Mode (Claude Desktop)

python server.py --stdio

Connect to Claude Desktop

Edit:

~/Library/Application Support/Claude/claude_desktop_config.json

Add:

{
  "mcpServers": {
    "playlistAgent": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": [
        "/absolute/path/to/server.py",
        "--stdio"
      ]
    }
  }
}

Example:

{
  "mcpServers": {
    "playlistAgent": {
      "command": "/Users/amankumar/Documents/projects/playlistAgent/.venv/bin/python",
      "args": [
        "/Users/amankumar/Documents/projects/playlistAgent/server.py",
        "--stdio"
      ]
    }
  }
}

Restart Claude Desktop after updating the configuration.

Verify Claude Connection

Check logs:

~/Library/Logs/Claude/

Successful startup should show:

Server started and connected successfully

Connect to Cursor

Add an MCP server with:

  • Type: MCP (Streamable HTTP)

  • URL: http://127.0.0.1:8080/mcp

Example Cursor config:

{
  "mcpServers": {
    "playlist-agent": {
      "url": "http://127.0.0.1:8080/mcp"
    }
  }
}

MCP Tools

Tool

Description

spotify_login

Check Spotify auth status

search_track

Search Spotify tracks

create_playlist

Create a new playlist

add_tracks

Add tracks to a playlist

get_playlist

Fetch playlist metadata and tracks

generate_playlist

Generate a playlist from a natural-language prompt

remove_tracks

Remove tracks from a playlist

modify_playlist

Edit a playlist using natural language

analyze_playlist

Analyze mood, energy, and diversity

recommend_tracks

Recommend tracks based on a playlist

optimize_playlist

Improve a playlist for energy, calm, or diversity

Smoke Test (Phase 1)

After authenticating:

python smoke_test.py

Tests

pytest

Integration tests:

RUN_INTEGRATION=1 pytest -m integration

Requires a valid Spotify authentication setup.

Environment Variables

See .env.example for all supported options.

LLM generation (Phase 3+) requires:

LLM_PROVIDER=openai

or

LLM_PROVIDER=anthropic

and the corresponding API key.

Architecture

Claude / Cursor / ChatGPT
            │
            ▼
      PlaylistAgent MCP
            │
    ┌───────┼────────┐
    ▼       ▼        ▼
 Spotify   LLM    Recommendation
   API    Provider    Engine

Roadmap

Phase 1

  • Spotify OAuth

  • Search tracks

  • Create playlists

  • Add tracks

Phase 2

  • MCP integration

  • Claude Desktop support

  • Cursor support

Phase 3

  • AI playlist generation

  • Mood and genre understanding

Phase 4

  • Playlist editing

  • Playlist optimization

  • Recommendation engine

Phase 5

  • Taste profile engine

  • Personalized playlist memory

  • Advanced music discovery

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables creating and managing Spotify playlists using natural language with advanced similarity matching across 8 different algorithms. Supports finding similar tracks based on audio features, mood, energy, genre, and custom weighted parameters to build personalized playlists automatically.
    9
    2
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that enables users to control Spotify playback, search music, and manage playlists through natural conversation. It is updated for the February 2026 Spotify Web API changes and supports full playlist CRUD operations.
    6
    8
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for Spotify that enables playlist building and music discovery through 19 tools, allowing LLM agents to search tracks/artists/albums, manage playlists, control playback, and access personal listening data.
    20
    MIT