mcpField
S
Spotify MCP Server (Express.js)

Spotify MCP Server (Express.js)

Local
github.com/addy07sDeveloper Tools0Updated 85w ago

About Spotify MCP Server (Express.js)

An Express.js MCP server that lets AI assistants use Spotify's API to search music, retrieve artist and playlist information, and access user data after authorization. It also provides Spotify OAuth login and token refresh endpoints.

Key features

  1. 01Search tracks, artists, and albums
  2. 02Retrieve artist, track, and playlist details
  3. 03Access user top tracks and saved tracks
  4. 04Spotify OAuth login and token refresh

Use cases

  1. 01Search Spotify music
  2. 02Review artist or track details
  3. 03Access playlists in an authorized account
  4. 04Retrieve a user's top and saved tracks

MCP support

The server exposes Spotify search, detail retrieval, and authenticated personalized data access to AI assistants through MCP endpoints. It also handles OAuth login and token refresh.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Spotify MCP Server (Express.js)

This is a Model Context Protocol (MCP) server implementation that allows AI assistants to interact with Spotify's API. The server provides endpoints for searching tracks, getting artist information, and managing playlists.

Setup

  1. Create a Spotify Developer account and create a new application at Spotify Developer Dashboard.
  2. Get your Client ID and Client Secret from your Spotify application.
  3. Create a .env file in the root directory with the following content:
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_client_secret
SPOTIFY_REDIRECT_URI=http://localhost:3000/callback
  1. Install dependencies:
npm install
  1. Run the server:
npm start

Available Endpoints

The server implements the following MCP endpoints:

  • POST /mcp/search - Search for tracks, artists, or albums.
  • GET /mcp/artist/{artistId} - Get detailed information about an artist.
  • GET /mcp/track/{trackId} - Get detailed information about a track.
  • GET /mcp/playlist/{playlistId} - Get playlist information.
  • GET /mcp/me/top-tracks - Get user's top tracks (requires authentication).
  • GET /mcp/me/playlists - Get user's playlists (requires authentication).
  • GET /mcp/me/tracks - Get user's saved tracks (requires authentication).
  • GET /mcp/auth/login - Generate a Spotify login URL for user authentication.
  • GET /callback - Handle Spotify OAuth callback and exchange authorization code for an access token.
  • POST /mcp/auth/refresh - Refresh a user's access token.

Example Usage

Here's an example of how an AI assistant can interact with the server:

// Search for a track
const searchResponse = await fetch('http://localhost:3000/mcp/search', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    query: 'Bohemian Rhapsody',
    type: 'track'
  })
});
const searchData = await searchResponse.json();

// Get artist information
const artistResponse = await fetch('http://localhost:3000/mcp/artist/1dfeR4HaWDbWqJHLk5g1d1');
const artistData = await artistResponse.json();

MCP Protocol Implementation

This server implements the Model Context Protocol, allowing AI assistants to:

  1. Authenticate with Spotify.
  2. Search for music content.
  3. Retrieve detailed information about artists, tracks, and playlists.
  4. Access personalized user data (with proper authentication).

Security Note

Make sure to keep your .env file secure and never commit it to version control. The server uses environment variables to manage sensitive credentials.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.