ScrobblerContext - Last.fm MCP Server について
ScrobblerContextは、AIアシスタントがLast.fmの音楽データを扱うためのSwift製MCPサーバーです。音楽検索、再生履歴の参照、アカウント機能、再生記録の送信を提供します。
主な機能
- 01アーティスト、アルバム、曲の検索
- 02音楽情報とおすすめの取得
- 03再生履歴と統計の参照
- 04OAuth認証とセッション管理
- 05再生記録の送信とお気に入り管理
活用シーン
- 01既知のバンドに似たアーティストの検索
- 02ユーザーの再生履歴の確認
- 03Last.fmへの曲の再生記録送信
- 04お気に入り曲と再生中ステータスの更新
MCP 対応
stdio経由で、Last.fmの検索、ユーザーライブラリ、認証、再生記録に関するツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ScrobblerContext - Last.fm MCP サーバー
Last.fm の音楽データベースにアクセスできる Model Context Protocol(MCP)サーバーです。Swift で構築されており、AI アシスタントが音楽を検索したり、ユーザーライブラリを管理したり、トラックを Scrobble したりできます。
目次
機能
- 認証:セッションを保持する、安全なブラウザー OAuth フロー
- アーティスト操作:アーティストの検索、詳細情報の取得、類似アーティストの検索
- アルバム操作:アルバムの検索、トラック一覧とメタデータの取得
- トラック操作:トラックの検索、詳細情報とおすすめの取得
- ユーザーデータ:再生履歴、統計、ソーシャル機能へのアクセス
- Scrobble:トラックの再生履歴の送信、「再生中」ステータスの更新、トラックのお気に入り登録/解除
クイックスタート
npm でインストール(推奨)
# Install globally
npm install -g scrobblercontext-mcp
# Set up your Last.fm API credentials
export LASTFM_API_KEY="your_api_key_here"
export LASTFM_SECRET_KEY="your_secret_key_here"
# Run the server
scrobblercontext-mcp
Last.fm API 認証情報を取得
- Last.fm API アカウント作成にアクセスします
- アプリケーションの詳細を入力します:
- アプリケーション名:アプリ名(例:「My MCP Server」)
- アプリケーションの説明:簡単な説明
- アプリケーションのホームページ URL:ウェブサイト(GitHub リポジトリでも可)
- コールバック URL:
http://localhost:8080/callback(OAuth 用)
- API Key と Shared Secret を保存します
MCP クライアントでのセットアップ
Claude Desktop
claude_desktop_config.json に追加します:
{
"mcpServers": {
"lastfm": {
"command": "scrobblercontext-mcp",
"env": {
"LASTFM_API_KEY": "your_api_key_here",
"LASTFM_SECRET_KEY": "your_secret_key_here"
}
}
}
}
設定ファイルの場所:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
Cursor
MCP 設定に追加します:
{
"mcpServers": {
"lastfm": {
"command": "scrobblercontext-mcp",
"env": {
"LASTFM_API_KEY": "your_api_key_here",
"LASTFM_SECRET_KEY": "your_secret_key_here"
}
}
}
}
その他の MCP クライアント
このサーバーは、Model Context Protocol 標準に従って stdio 経由で通信します。クライアントを次のように設定します:
- サーバーコマンドとして
scrobblercontext-mcpを実行します - 必要な環境変数を設定します
- stdio トランスポートを使用します
使用例
Last.fm で認証します:
User: "Authenticate with Last.fm"
Assistant: [Uses authenticate_browser tool to start OAuth flow]
音楽を検索します:
User: "Find artists similar to Radiohead"
Assistant: [Uses get_similar_artists tool to find recommendations]
トラックを Scrobble します:
User: "Scrobble 'Bohemian Rhapsody' by Queen"
Assistant: [Uses scrobble_track tool to submit to your profile]
手動インストール
前提条件:
- Swift 6.0+(ダウンロード)
- macOS 13.0+ または Swift に対応した Linux
- Last.fm API 認証情報
ソースからビルド:
git clone https://github.com/tfmart/ScrobblerContext
cd ScrobblerContext
swift build
export LASTFM_API_KEY="your_api_key_here"
export LASTFM_SECRET_KEY="your_secret_key_here"
swift run ScrobblerContext
利用可能なツール
認証ツール(5)
authenticate_browser- ブラウザーで OAuth フローを開始set_session_key- 既存のセッションキーを設定check_auth_status- 認証状態を確認restore_session- 保存済みのセッションを復元logout- 認証情報をクリア
アーティストツール(9)
search_artist- アーティストを検索get_artist_info- アーティストの詳細と経歴を取得get_similar_artists- 類似するアーティストを検索get_artist_correction- 修正されたアーティスト名を取得get_artist_tags- アーティストのタグを取得get_artist_top_albums- アーティストのトップアルバムを取得get_artist_top_tracks- アーティストのトップトラックを取得add_artist_tags- 個人用タグを追加(認証が必要)remove_artist_tag- 個人用タグを削除(認証が必要)
アルバムツール(6)
search_album- アルバムを検索get_album_info- アルバムの詳細とトラックリストを取得get_album_tags- アルバムのタグを取得get_album_top_tags- 人気のアルバムタグを取得add_album_tags- 個人用タグを追加(認証が必要)remove_album_tag- 個人用タグを削除(認証が必要)
トラックツール(8)
search_track- トラックを検索get_track_info- トラックの詳細を取得get_similar_tracks- 類似するトラックを検索get_track_correction- 修正されたトラック情報を取得get_track_tags- トラックのタグを取得get_track_top_tags- 人気のトラックタグを取得add_track_tags- 個人用タグを追加(認証が必要)remove_track_tag- 個人用タグを削除(認証が必要)
ユーザーツール(9)
get_user_info- ユーザーのプロフィールと統計情報を取得get_user_recent_tracks- 最近の再生履歴を取得get_user_top_artists- 期間別のトップアーティストを取得get_user_top_tracks- 期間別のトップトラックを取得get_user_top_albums- 期間別のトップアルバムを取得get_user_top_tags- 最もよく使うタグを取得get_user_friends- 友達リストを取得get_user_loved_tracks- お気に入りのトラックを取得get_user_personal_tags_for_artists- タグ付けしたアーティストを取得
スクロブルツール(5)
scrobble_track- 1曲の再生を送信scrobble_multiple_tracks- 複数の再生を送信update_now_playing- 現在再生中のトラック情報を更新love_track- トラックをお気に入りとしてマークunlove_track- お気に入りのトラックから削除
貢献
貢献を歓迎します!ガイドラインについては、CONTRIBUTING.mdをご覧ください。
ドキュメント
- API ドキュメント - コードから自動生成
- 貢献ガイド - 開発環境のセットアップとガイドライン
- Model Context Protocol - MCP 仕様
- Last.fm API - Last.fm API ドキュメント
トラブルシューティング
Swift が見つからない場合:swift.orgから Swift をインストールしてください
セッションキーが無効な場合:authenticate_browserで認証をやり直してください
API キーのエラー:LASTFM_API_KEYとLASTFM_SECRET_KEYが正しいことを確認してください
サーバーが切断される場合:MCP クライアント設定で環境変数が設定されていることを確認してください
ライセンス
MIT ライセンス - 詳細はLICENSEファイルをご覧ください。
謝辞
- 音楽データ API を提供するLast.fm
- Swift 製 Last.fm SDK を提供するScrobbleKit
- 通信規格を提供するModel Context Protocol
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。