MCP ExplorerExplorer

Beatport Mcp Server

@ivo-tobyon 19 days ago
1 MIT
FreeCommunity
AI Systems
MCP Server that connects an LLM to the Beatport API

Overview

What is Beatport Mcp Server

The beatport-mcp-server is an MCP (Model Context Protocol) server that connects to the Beatport API, enabling music discovery and data retrieval.

Use cases

Use cases include building music discovery applications, integrating Beatport data into existing platforms, and creating analytics tools for tracking music trends and artist performance.

How to use

To use the beatport-mcp-server, install it via npm with the command ‘npm install -g @ivotoby/beatport-mcp-server’. Authenticate using an OAuth2 token, and run the server using the command ‘beatport-mcp-server’. You can also configure transport options such as HTTP.

Key features

Key features include easy authentication via OAuth2, full access to the Beatport API covering tracks, artists, labels, and releases, flexible transport options (stdio and HTTP), and adherence to the official Beatport OpenAPI specification.

Where to use

The beatport-mcp-server is ideal for developers and applications that require access to music-related data, particularly in the fields of music discovery, analytics, and integration with other music services.

Content

Beatport MCP Server

Please note; this is still a work in progress!!

An MCP (Model Context Protocol) server that provides access to the Beatport API for music discovery and data retrieval.

Features

  • Easy Authentication: Simple username/password authentication
  • Full Beatport API: Access to tracks, artists, labels, releases, charts, and more
  • Flexible Transport: Supports both stdio and HTTP transports
  • Built on OpenAPI: Leverages the official Beatport OpenAPI specification

Installation

npm install -g @ivotoby/beatport-mcp-server

Authentication

⚠️ Important: Beatport’s API requires OAuth2 credentials that aren’t publicly available. You have three options:

Option 1: Manual Token (Recommended)

  1. Get your token:
node get-token.js  # Shows detailed instructions
  1. Set the token:
export BEATPORT_ACCESS_TOKEN="your_token_here"
beatport-mcp-server

Option 2: Username/Password (Won’t work currently)

export BEATPORT_USERNAME="[email protected]"
export BEATPORT_PASSWORD="yourpassword"
beatport-mcp-server

Option 3: Contact Beatport

Email [email protected] to request OAuth2 credentials for “Beatport MCP Server”

HTTP Transport

beatport-mcp-server --transport http --port 3000

Configuration Options

  • --username, -u: Beatport username/email (or BEATPORT_USERNAME)
  • --password, -p: Beatport password (or BEATPORT_PASSWORD)
  • --transport, -t: Transport type: stdio (default) or http
  • --accessToken, -a: Bearer token (or BEATPORT_ACCESS_TOKEN)
  • --refreshToken, -r: Refresh token (or BEATPORT_REFRESH_TOKEN)
  • --port: HTTP port (default: 3000, for HTTP transport)
  • --host: HTTP host (default: 127.0.0.1, for HTTP transport)
  • --path: HTTP endpoint path (default: /mcp, for HTTP transport)
  • --name, -n: Server name (default: beatport-mcp-server)
  • --version, -v: Server version (default: 1.0.0)
  • --tools: Tools mode: all (default) or dynamic
  • --tool: Import only specified tool IDs or names
  • --tag: Import only tools with specified OpenAPI tags
  • --resource: Import only tools under specified resource path prefixes
  • --operation: Import only tools for specified HTTP methods
  • --disable-abbreviation: Disable tool name optimization

Available Tools

The server automatically generates MCP tools from the Beatport API endpoints:

Catalog

  • catalog-artists-list: Search and list artists
  • catalog-artists-retrieve: Get artist details
  • catalog-tracks-list: Search and list tracks
  • catalog-releases-list: Search and list releases
  • catalog-labels-list: Search and list labels
  • catalog-genres-list: List music genres

Charts & Playlists

  • catalog-charts-list: Browse charts
  • catalog-playlists-list: Browse playlists

Search & Discovery

  • Filter by genre, label, artist, BPM, key, release date
  • Pagination support
  • Detailed metadata for tracks and releases

Example Usage in Claude

Once connected to Claude Desktop, you can use commands like:

Search for tech house tracks released in 2024
Find all releases on Drumcode label
Get details for artist "Charlotte de Witte"
List top 10 tracks in the Techno chart
Find tracks with BPM between 120-130

Authentication Notes

  • Uses Beatport’s OAuth2 Resource Owner Password Credentials flow
  • Requires a valid Beatport account
  • Tokens are automatically managed and refreshed
  • No need to handle Beatport client credentials (handled internally)

Development

git clone https://github.com/ivo-toby/beatport-mcp-server
cd beatport-mcp-server
npm install
npm run build
npm run start

License

MIT License - see LICENSE file for details.

Contributing

Issues and pull requests welcome! This project builds on the @ivotoby/openapi-mcp-server package.

Tools

No tools

Comments