mcpField
S
Spotify MCP Server (Express.js)

Spotify MCP Server (Express.js)

ローカル
github.com/addy07s開発ツール085 週間前に更新

Spotify MCP Server (Express.js) について

Spotify API を AI アシスタントから利用できる Express.js 製 MCP サーバーです。音楽検索やアーティスト、プレイリスト情報の取得に加え、認証後のユーザーデータ参照と Spotify OAuth のトークン更新に対応します。

主な機能

  1. 01曲、アーティスト、アルバムの検索
  2. 02アーティスト、曲、プレイリスト情報の取得
  3. 03ユーザーの人気曲と保存済み曲の参照
  4. 04Spotify OAuth ログインとトークン更新

活用シーン

  1. 01Spotify の音楽検索
  2. 02アーティストや曲の詳細確認
  3. 03認証済みアカウントのプレイリスト参照
  4. 04ユーザーの人気曲と保存済み曲の取得

MCP 対応

MCP エンドポイントを通じて、Spotify の検索、詳細情報、認証済みユーザーデータへのアクセスを AI アシスタントに提供します。OAuth ログインとトークン更新にも対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Spotify MCP サーバー(Express.js)

これは、AI アシスタントが Spotify の API と連携できるようにする Model Context Protocol(MCP)サーバーの実装です。このサーバーは、トラックの検索、アーティスト情報の取得、プレイリストの管理を行うエンドポイントを提供します。

セットアップ

  1. Spotify Developer アカウントを作成し、Spotify Developer Dashboard で新しいアプリケーションを作成します。
  2. Spotify アプリケーションから Client ID と Client Secret を取得します。
  3. ルートディレクトリに以下の内容を含む .env ファイルを作成します。
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_client_secret
SPOTIFY_REDIRECT_URI=http://localhost:3000/callback
  1. 依存関係をインストールします。
npm install
  1. サーバーを起動します。
npm start

利用可能なエンドポイント

このサーバーは、以下の MCP エンドポイントを実装しています。

  • POST /mcp/search - トラック、アーティスト、またはアルバムを検索します。
  • GET /mcp/artist/{artistId} - アーティストの詳細情報を取得します。
  • GET /mcp/track/{trackId} - トラックの詳細情報を取得します。
  • GET /mcp/playlist/{playlistId} - プレイリストの情報を取得します。
  • GET /mcp/me/top-tracks - ユーザーのトップトラックを取得します(認証が必要です)。
  • GET /mcp/me/playlists - ユーザーのプレイリストを取得します(認証が必要です)。
  • GET /mcp/me/tracks - ユーザーが保存したトラックを取得します(認証が必要です)。
  • GET /mcp/auth/login - ユーザー認証用の Spotify ログイン URL を生成します。
  • GET /callback - Spotify OAuth コールバックを処理し、認証コードをアクセストークンと交換します。
  • POST /mcp/auth/refresh - ユーザーのアクセストークンを更新します。

使用例

AI アシスタントがこのサーバーと連携する方法の例を以下に示します。

// 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 プロトコルの実装

このサーバーは Model Context Protocol を実装しており、AI アシスタントは次の操作を行えます。

  1. Spotify で認証します。
  2. 音楽コンテンツを検索します。
  3. アーティスト、トラック、プレイリストの詳細情報を取得します。
  4. 適切な認証を使用して、パーソナライズされたユーザーデータにアクセスします。

セキュリティに関する注意

.env ファイルを安全に保管し、バージョン管理に決してコミットしないでください。このサーバーは、機密性の高い認証情報を管理するために環境変数を使用します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。