tunecatalog について
tunecatalogは、AI音楽カタログを検索・閲覧するエージェント向けMCPサーバーです。曲の詳細や人気曲、アーティスト情報、ストリーミングリンクを読み取り専用ツールで取得できます。
主な機能
- 01自然言語での曲検索
- 02ムードとジャンルによる絞り込み
- 03曲の詳細とストリーミングURL
- 04人気曲の一覧表示
- 05アーティスト情報とディスコグラフィー
活用シーン
- 01説明したムードに合う音楽の検索
- 02曲の詳細とストリーミングリンクの取得
- 03人気曲やアーティストの閲覧
MCP 対応
MCPクライアントに、search_music、get_track、get_trending、browse_artists、get_artistの5つの読み取り専用カタログツールを提供します。リクエストにはSTARSINGER_API_KEYが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| mood | enum | いいえ | ムードで絞り込みます:purple(落ち着いた)、red(エネルギッシュ)、blue(感傷的)、gold(高揚感のある)、green(自然)、pink(ロマンチック)、dark(激しい)、rainbow(多彩)purple | red | blue | gold | green | pink | dark | rainbow |
| limit | number | いいえ | 返す結果数(デフォルト 10、最大 50) |
| query | string | はい | 自然言語検索 — 「upbeat jazz piano」「sad violin ballad」 |
詳細
tunecatalog
エージェントから離れることなく、AI 音楽カタログを閲覧できます。 tunecatalog は、自然言語での説明、ムード、ジャンルを使ってトラックを検索し、ストリーミングリンク付きの詳細情報を取得します。トレンド情報を表示するほか、アーティスト一覧を閲覧し、ディスコグラフィーを含むアーティストの完全なプロフィールを確認できます。
一部のツールのみを掲載 — 9 個中 5 個。 この再構築版では、以下に記載する読み取り専用のカタログツール 5 個のみを実装しています。 ドキュメントに記載されている上流ツール 4 個は除外しています。
make_song、song_status、my_songs、walletです。make_songは購入済みの楽曲クレジットを消費し、残高がない場合はチェックアウトリンクと価格を返します。これは決済への誘導となるため除外しました。また、これら 4 個のツールには、説明文以外に公開された引数スキーマがありません。そのため、黙って省くのではなく、ここに明記しています。
5 個のツール:
search_music— 「upbeat jazz piano」や「sad violin ballad」のような自然言語のクエリでカタログを検索します。ムード(purpleは落ち着いた雰囲気、redはエネルギッシュ、blueは感情的、goldは前向き、greenは自然、pinkはロマンチック、darkは激しい、rainbowは多彩)で絞り込むこともでき、limitで件数を制限できます(デフォルトは 10、最大 50)。get_track— 検索結果で返されたトラック ID を使って、1 曲の詳細情報とストリーミング URL を取得します。get_trending— 現在人気のトラックを取得します。limitで件数を制限することもできます。browse_artists— カタログ内のアーティストを一覧表示します。ジャンル(例:「jazz」「classical」「pop」)で絞り込むこともでき、limitで件数を制限できます。get_artist— アーティスト ID またはハンドル(例:「miles_rivers」)を使って、アーティストの完全なプロフィールとディスコグラフィーを取得します。どちらの引数も省略可能で、少なくとも一方を指定するルールは独自に追加していません。
成功した呼び出しでは、上流の JSON 本文がそのまま返されます。トラックのレスポンスには、タイトル、アーティスト、ジャンル、ムード、再生回数、「いいね」数、歌詞、カバーアート、ストリーミング URL が上流独自の形式で含まれます。
設定
STARSINGER_API_KEY— 必須です。Authorization: Bearer <key>として送信されます。未設定の場合、すべてのツールはSTARSINGER_API_KEY is not setで失敗し、リクエストは送信されません(サーバーは起動し、ツール一覧も表示します)。STARSINGER_API_URL— 省略可能です。デフォルトはhttps://mcp-api.starsinger.aiです。
上流でのエラーは、2xx 以外の応答では starsinger error: HTTP <status> として、リクエスト自体が失敗した場合は starsinger unreachable として通知されます。
ワイヤーパスはドキュメントに基づく再構成です。 上流の README では API ホストと Bearer 認証は明記されていますが、REST パスは記載されていません。そのため、以下のパスは再構成したものであることを明記しています:
GET /search、GET /tracks/<trackId>、GET /trending、GET /artists、およびGET /artists/<artistId or handle>。ツールのスキーマは、README のパラメータ表に記載されたものに基づいています。
CLI
各ツールは、JSON 引数文字列を 1 つ受け取るサブコマンドです:
export STARSINGER_API_KEY="<your key>"
npx @reneturcios/tunecatalog search_music '{"query":"upbeat jazz piano","mood":"gold","limit":5}'
npx @reneturcios/tunecatalog get_track '{"trackId":"<track id>"}'
npx @reneturcios/tunecatalog get_trending '{"limit":10}'
npx @reneturcios/tunecatalog browse_artists '{"genre":"jazz"}'
npx @reneturcios/tunecatalog get_artist '{"handle":"miles_rivers"}'
npx @reneturcios/tunecatalog --version
出力はツールの結果テキストです。終了コード:成功時は 0、実行時エラー(バリデーションエラーや上流エラーを含む)時は 1、使用方法のエラー時は 2 です。
MCP サーバー
npx -y @reneturcios/tunecatalog mcp
MCP クライアントの設定:
{
"mcpServers": {
"tunecatalog": {
"command": "npx",
"args": ["-y", "@reneturcios/tunecatalog", "mcp"],
"env": {
"STARSINGER_API_KEY": "<your key>"
}
}
}
}
Docker
docker run -i -e STARSINGER_API_KEY="<your key>" ghcr.io/cloudcorprecords/tunecatalog
docker run --rm -e STARSINGER_API_KEY="<your key>" ghcr.io/cloudcorprecords/tunecatalog get_trending '{"limit":5}'
開発
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # run the CLI from source
ライセンス
MIT — Copyright (c) 2026 Rene Turcios
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。