upnext について
upnextは、Spotify、ブラウザー再生、ローカルファイル、現在再生中のメディアを一つのキューで扱う、端末オーディオ管理用のMCPサーバーです。キューの項目はIDで操作でき、エージェントが個別に指定できます。
主な機能
- 01再生状態とキューを確認
- 02リンク、ファイル、Spotify URI、説明を追加
- 03再生操作と対応ソースでのシーク
- 04IDでキュー項目を移動・削除
- 05利用可能なソースを検索
- 06再生中のメディアをキューに追加
活用シーン
- 01ブラウザーで再生中の音声の後に曲を追加
- 02ローカル音楽ファイルをキューに入れる
- 03特定項目の並べ替えや削除
- 04端末内の各ソースで再生中の内容を確認
MCP 対応
MCPクライアントに、メディアの確認、キュー、再生操作、検索、再生中メディアの取り込みツールを提供します。サーバーのトランスポートを通じて既存ランタイムに組み込むこともできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
upnext-mcp
マシンのオーディオ用 MCP サーバーです。 Spotify、ブラウザー、ローカルファイル、そして現在再生中のものを、ひとつのキューでまとめて扱えます。
{
"mcpServers": {
"upnext": {
"command": "npx",
"args": ["-y", "upnext-mcp", "--library", "/Users/me/Music"]
}
}
}
これを Claude Desktop、Cursor、Windsurf など、MCP に対応するものに追加してください。
エージェントにできること
you: what am I listening to?
→ ❚❚ Acquired — Jensen Huang (Google Chrome)
you: let that finish, then play Bad Habit
→ adopted "Acquired — Jensen Huang" as q_0001
up next:
q_0001 Acquired — Jensen Huang
q_0002 Bad Habit — Steve Lacy
1 行目では、拡張機能なしでブラウザーのタブを読み取ります。2 行目では、それを実際のエントリーとしてキューに追加するため、エージェントは再生中のものを中断せずに追加できます。
ツール
| tool | |
|---|---|
media_now | キュー内やマシン上の別の場所で何が再生中か |
media_queue | 各エントリーの ID を含むキュー |
media_enqueue | リンク、ファイルパス、Spotify URI、または簡単な説明を追加 |
media_play · media_pause · media_next | 再生操作 |
media_seek | 再生位置を移動 — ソースが対応していない場合は、その旨を明確に伝えます |
media_move · media_remove | ID を指定して並べ替え、削除 |
media_search | 検索可能なソースを検索 |
media_adopt_current | すでに再生中のものをキューに追加 |
media_setup | ここで接続されているものと、その機能 |
すべての変更操作はID を指定して行い、すべての応答には ID を含むキューが返されます。これは意図的な仕様です。位置を基準に処理するモデルは、キューに触れる他の処理と競合します。呼び出しが実行される頃には、位置 2 が別の曲になっている可能性があるためです。
モデルには事実を伝えます
多くのツールサーバーとは異なる動作をする点が 2 つあります。どちらも、何も起きなかったことを知らされないモデルが、成功したとユーザーに自信を持って伝えてしまうのを防ぐためです。
シークに対応していないソースでの media_seek は、エラーではなく文を返します。
the current source (spotify-desktop) cannot seek. Nothing changed.
検索できるものが何も接続されていない場合の media_search は、その理由を説明します。
nothing found for "bad habit". playing through: spotify-desktop, nowplaying, local titles will NOT resolve: nothing wired here can search…
タイトルの解決には検索機能が必要です
リンクなら、何を再生するかが明確です。説明は検索する必要がありますが、すべてのバックエンドが検索できるわけではありません。Spotify デスクトップアプリは渡された URI を再生できますが、カタログは検索できません。そのため、一般的な Mac のセットアップでは、media_enqueue に "bad habit" を指定しても、照合先がありません。
次のいずれかを用意してください。
// index a music folder
"args": ["-y", "upnext-mcp", "--library", "/Users/me/Music"]
// or a Spotify Web token, via the environment
"env": { "SPOTIFY_TOKEN": "..." }
media_setup で、どれが使えるかを確認できます。
埋め込んで使う場合
すでに製品にキューがあるなら、それと競合する 2 つ目のキューを作るのではなく、既存のキューを公開してください。
import { createServer } from 'upnext-mcp';
import { serveStdio } from '@modelcontextprotocol/server/stdio';
serveStdio(() => createServer(myExistingRuntime));
このパッケージはトランスポート機能だけを提供します。並べ替え、機能のネゴシエーション、解決、整合性の調整はすべて upnext-core で行われます。トランスポートはひとつの選択肢にすぎず、ランタイムをインポートする側にこの選択を押し付けるべきではないため、別パッケージになっています。
ドキュメント全文:https://github.com/tothienbao6a0/upnext · Apache-2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。