
Upnext
io.github.tothienbao6a0由 GitHub 帳號 tothienbao6a0 發布v0.3.1更新於 Oct 24, 2026
One audio queue across Spotify, the browser, local files and whatever is already playing.
概覽
本機 MCP 伺服器,讓助理以單一音訊佇列橫跨 Spotify、瀏覽器分頁、本機檔案與目前正在播放的內容。
- 可以做什麼
- 檢視播放狀態:查看佇列中以及機器其他位置正在播放的內容,並列出附有項目識別的佇列
- 加入佇列:加入連結、檔案路徑、Spotify URI 或文字描述,或把目前正在播放的內容收進佇列
- 控制播放:播放、暫停、下一首,並在來源支援時跳到指定位置
- 編輯佇列:依識別碼移動與移除項目,並在支援搜尋的來源中搜尋
- 檢查設定:回報已接上哪些後端以及它們能做什麼
- 適用情境
- 適合想讓助理回答目前播放什麼,並在不打斷目前曲目的情況下把音樂或音訊排入佇列的情境,特別是桌機上同時使用 Spotify、瀏覽器與本機音樂資料夾的混合來源環境。
- 執行需求
- 以 stdio 方式在本機執行,通常透過 npx 啟動 upnext-mcp 這個 npm 套件,因此需要 Node.js。可用命令列參數指定音樂庫路徑,也可透過 SPOTIFY_TOKEN 環境變數提供 Spotify Web 權杖,以便把描述解析成曲目。僅限桌面端,沒有網頁版。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Upnext,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
upnext-mcp
An MCP server for your machine's audio. One queue across Spotify, the browser, local files, and whatever is already playing.
Drop that in Claude Desktop, Cursor, Windsurf, or anything else that speaks MCP.
What it lets an agent do
The first line reads a browser tab — no extension. The second puts it in the queue as a real entry, so the agent adds to what someone is doing rather than cutting across it.
Tools
Every mutation is addressed by id, and every response includes the queue with ids in it. That's deliberate: a model working from positions races anything else touching the queue, and by the time its call lands, position 2 is a different song.
It tells the model the truth
Two places where this behaves differently from most tool servers, both for the same reason — a model that gets a silent no-op will confidently tell the user it worked.
media_seek on a source that can't seek returns a sentence, not an error:
the current source (spotify-desktop) cannot seek. Nothing changed.
media_search with nothing wired to search explains itself:
nothing found for "bad habit". playing through: spotify-desktop, nowplaying, local titles will NOT resolve: nothing wired here can search…
Titles need a searcher
A link says exactly what to play. A description has to be looked up, and not
every backend can. The Spotify desktop app plays a URI you hand it but cannot
search a catalogue — so on a plain Mac setup, media_enqueue with "bad habit"
has nothing to resolve against.
Give it one of these:
media_setup will tell you which you have.
Embedding it instead
If your product already has a queue, expose that one rather than starting a second that competes with it:
This package is a transport, and nothing more — ordering, capability
negotiation, resolution and reconciliation all happen in
upnext-core. It lives apart
because a transport is an opinion, and nobody importing the runtime should
inherit this one.
Full docs: https://github.com/tothienbao6a0/upnext · Apache-2.0
來源:packages/mcp/README.md,提交 93a48da
工具
0版本歷史
1- v0.3.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分