mcpField
U
upnext

upnext

ローカル
github.comゲーム・エンタメ18 週間前に更新

upnext について

upnextは、Spotify、ブラウザー再生、ローカルファイル、現在再生中のメディアを一つのキューで扱う、端末オーディオ管理用のMCPサーバーです。キューの項目はIDで操作でき、エージェントが個別に指定できます。

主な機能

  1. 01再生状態とキューを確認
  2. 02リンク、ファイル、Spotify URI、説明を追加
  3. 03再生操作と対応ソースでのシーク
  4. 04IDでキュー項目を移動・削除
  5. 05利用可能なソースを検索
  6. 06再生中のメディアをキューに追加

活用シーン

  1. 01ブラウザーで再生中の音声の後に曲を追加
  2. 02ローカル音楽ファイルをキューに入れる
  3. 03特定項目の並べ替えや削除
  4. 04端末内の各ソースで再生中の内容を確認

MCP 対応

MCPクライアントに、メディアの確認、キュー、再生操作、検索、再生中メディアの取り込みツールを提供します。サーバーのトランスポートを通じて既存ランタイムに組み込むこともできます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"tothienbao6a0-upnext": {
"command": "npx",
"args": [
"-y",
"upnext-mcp"
]
}
}
}
起動コマンドnpx -y upnext-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmupnext-mcp0.3.1

ツール

12

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

upnext-mcp

npm license

マシンのオーディオ用 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_removeID を指定して並べ替え、削除
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

コメント

MCP は初めてですか?

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

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