mcpField
S
Spotify Playlist Curator MCP Server

Spotify Playlist Curator MCP Server

ローカル
github.com/lechiffre1メディア・デザイン181 週間前に更新

Spotify Playlist Curator MCP Server について

Spotify ユーザー向けの MCP サーバーです。プレイリストの音響特性を分析し、Claude による楽曲推薦や検索、プレイリスト編集を行えます。

主な機能

  1. 01プレイリストの音響特性分析
  2. 02ムード、エネルギー、テンポの要約
  3. 03Claude による楽曲推薦
  4. 04Spotify の楽曲検索
  5. 05楽曲追加とプレイリスト作成

活用シーン

  1. 01プレイリストのムードやテンポの把握
  2. 02既存のプレイリストに合う楽曲探し
  3. 03推薦された楽曲のプレイリストへの追加
  4. 04新しい Spotify プレイリストの作成

MCP 対応

プレイリストの一覧取得と分析、Claude による推薦、楽曲検索、プレイリストの作成・編集を MCP クライアント向けのツールとして公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Spotify プレイリストキュレーター MCP サーバー

既存のトラックを分析し、Claude AI を使用して、ムード、雰囲気、BPM、その他の音楽的な特徴に基づいて曲をおすすめすることで、Spotify プレイリストのキュレーションを支援する MCP サーバーです。

機能

  • Spotify アカウントに接続して、プレイリストにアクセスします
  • プレイリスト内のトラックのオーディオ特徴を分析します
  • プレイリストのムード、エネルギー、テンポ、その他の特徴の概要を生成します
  • プレイリストの分析に基づいて、Claude AI から曲のおすすめを取得します
  • Spotify でトラックを検索します
  • おすすめのトラックをプレイリストに追加します
  • 新しいプレイリストを作成します

セットアップ

前提条件
  • Node.js(v14 以降)
  • Spotify Developer アカウントと登録済みのアプリケーション
  • MCP(Machine Conversation Protocol)経由での Claude アクセス
インストール
  1. このリポジトリをクローンします:

    git clone https://github.com/lechiffre1/Spotify-Playlist-Curator-MCP-Server.git
    cd Spotify-Playlist-Curator-MCP-Server
    
  2. 依存関係をインストールします:

    npm install
    
  3. 用意されている .env.example を基に .env ファイルを作成します:

    cp .env.example .env
    
  4. Spotify Developer の認証情報を設定します:

    • Spotify Developer Dashboard にアクセスします
    • 新しいアプリケーションを作成します
    • リダイレクト URI として http://localhost:3000/callback を追加します
    • Client ID と Client Secret を .env ファイルにコピーします
  5. サーバーを起動します:

    npm start
    

使い方

認証

サーバーを起動したら、まず Spotify で認証する必要があります:

  1. ブラウザーで http://localhost:3000/login にアクセスします
  2. Spotify アカウントにログインし、アプリケーションを認証します
  3. 認証が成功したら、ブラウザーウィンドウを閉じて MCP クライアントに戻ります
MCP メソッド

次の MCP メソッドを利用できます:

getPlaylists

Spotify プレイリストの一覧を返します。

const response = await client.getPlaylists();
getPlaylistDetails

トラックの分析を含む、特定のプレイリストの詳細情報を取得します。

const response = await client.getPlaylistDetails({
  playlistId: "your_playlist_id"
});
getClaudeRecommendations

プレイリストの分析に基づいて、Claude AI から曲のおすすめを取得します。

const response = await client.getClaudeRecommendations({
  playlistId: "your_playlist_id",
  count: 10 // Optional, defaults to 10
});
addRecommendationsToPlaylist

おすすめのトラックをプレイリストに追加します。

const response = await client.addRecommendationsToPlaylist({
  playlistId: "your_playlist_id",
  trackUris: ["spotify:track:id1", "spotify:track:id2", ...]
});
searchTracks

Spotify でトラックを検索します。

const response = await client.searchTracks({
  query: "search query",
  limit: 10 // Optional, defaults to 10
});
createPlaylist

新しい Spotify プレイリストを作成します。

const response = await client.createPlaylist({
  name: "My New Playlist",
  description: "Created by Spotify Playlist Curator", // Optional
  isPublic: false // Optional, defaults to false
});

クライアントの使用例

import { createClient } from '@anthropic-ai/mcp-client';

async function main() {
  // Create MCP client
  const client = createClient({
    serverUrl: 'http://localhost:3000',
    anthropicApiKey: 'your_anthropic_api_key' // Required for Claude integration
  });

  // 1. Get user playlists
  const playlists = await client.getPlaylists();
  console.log('Your playlists:', playlists);

  // 2. Select a playlist and get its details
  const playlistId = playlists.playlists[0].id;
  const playlistDetails = await client.getPlaylistDetails({ playlistId });
  console.log('Playlist summary:', playlistDetails.summary);

  // 3. Get recommendations from Claude
  const recommendations = await client.getClaudeRecommendations({ playlistId });
  console.log('Claude recommendations:', recommendations.claudeRecommendations);

  // 4. Add recommendations to the playlist
  const trackUris = recommendations.claudeRecommendations
    .filter(track => track.matched)
    .map(track => track.uri);
  
  if (trackUris.length > 0) {
    const result = await client.addRecommendationsToPlaylist({ playlistId, trackUris });
    console.log('Added recommendations:', result);
  }
}

main().catch(console.error);

ライセンス

MIT

コメント

MCP は初めてですか?

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

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