返回市场
索诺斯-MCP服务器

索诺斯-MCP服务器

作者:WinstonFassett5 星标更新:2025-05-22

项目介绍

Sonos MCP 服务器

该项目是一个Sonos MCP(模型上下文协议)服务器,允许您控制并与网络上的Sonos设备进行交互。它提供了多种功能,如发现设备、控制播放状态、检索设备状态以及管理播放队列。

功能

  • 发现网络上的Sonos设备
  • 检索并控制设备的播放状态
  • 管理播放队列
  • 将功能作为MCP工具公开

要求

  • Python 3.7+
  • 使用uv来管理Python项目

安装

  1. 克隆仓库:

    git clone https://github.com/WinstonFassett/sonos-mcp-server.git
    cd sonos-mcp-server
    
  2. 使用uv安装所需依赖项:

    uv sync
    

使用

运行服务器

标准输入输出

使用标准输入输出运行服务器:

uv run mcp run server.py

使用Supergateway的SSE

使用supergateway工具通过SSE运行服务器:

npx -y supergateway --port 8000 --stdio "uv run mcp run server.py"

或者,您可以使用仓库中提供的便捷脚本:

./npx-serve-sse-8000.sh

开发

要在“开发”模式下运行服务器,并带有MCP Inspector:

uv run mcp dev server.py

此命令托管一个MCP Inspector用于测试和调试目的。

要在开发模式下使用SSE运行服务器,请使用supergateway的SSE命令,在第二个终端窗口中运行:

npx @modelcontextprotocol/inspector

可用的MCP工具

使用公开的MCP工具与Sonos设备进行交互。可用的工具包括:

  • get_all_device_states:检索所有已发现的Sonos设备的状态信息。
  • now_playing:检索所有Sonos设备上当前播放曲目的信息。
  • get_device_state:检索特定Sonos设备的状态信息。
  • pause, stop, play:控制Sonos设备的播放。
  • next, previous:跳过Sonos设备上的曲目。
  • get_queue, get_queue_length:管理Sonos设备的播放队列。
  • mode:获取或设置Sonos设备的播放模式。
  • partymode:在当前Sonos设备上启用派对模式。
  • speaker_info:检索Sonos设备的扬声器信息。
  • get_current_track_info:检索Sonos设备上的当前曲目信息。
  • volume:获取或设置Sonos设备的音量。
  • skip, play_index, remove_index_from_queue:管理Sonos设备队列中的曲目。

许可证

本项目采用MIT许可证。详情见LICENSE文件。