使用说明
项目简介
Goose FM Radio 是一个简单的演示项目,展示了如何使用 Model Context Protocol (MCP) 服务器。它模拟了一个 FM 收音机,允许 AI 助手通过 MCP 协议控制调频收音机的频道,并通过电脑扬声器播放。这个项目使用了软件定义无线电 (SDR) 技术,需要用户配备 RTL-SDR 接收器和天线才能实际接收无线电信号。
主要功能点
- 调谐电台 (Tune Radio): 允许 AI 助手指定频率来调谐到特定的 FM 广播电台。
- 停止播放 (Stop Radio): 允许 AI 助手停止当前正在播放的广播。
- 获取当前频率 (Radio Frequency Resource): 提供当前收音机调谐到的频率信息。
安装步骤
- 安装 Nix (可选但推荐): 项目推荐使用 Nix 包管理器来运行,以确保环境一致性。如果您已经安装了 Nix,请跳过此步骤。您可以访问 Nix 官网 了解安装方法。
- 运行服务器: 在安装 Nix 后,您可以使用以下命令直接运行 Goose FM Radio MCP 服务器:
这将下载并运行服务器及其依赖项。nix run github:mccartykim/goose_fm
服务器配置
对于 MCP 客户端(例如 Claude),您需要配置以下 JSON 对象来连接到 Goose FM Radio 服务器。
{ "serverName": "GooseFM", // 服务器名称,与 radio_server.py 中 FastMCP 实例化的名称一致 "command": "nix", // 启动服务器的命令,这里使用 nix "args": [ // 启动服务器命令的参数 "run", // nix run 命令 "github:mccartykim/goose_fm" // 指定要运行的 flake,即 Goose FM Radio 仓库 ] }
注意:
- 请确保您的系统上已安装 'nix' 包管理器,或者根据您的环境配置相应的运行方式。
- 如果您希望使用真实的 SDR 功能,您需要安装 'rtl-sdr' 驱动和 'sox' 音频处理工具,并连接 RTL-SDR 接收器和天线到您的电脑。虽然 'nix run' 理论上应该包含这些依赖,但 'README.md' 中提到了 "Known issues: Nix flake doesn't seem to properly encapsulate sox and rtl_fm in their scope... yet",这意味着可能需要您手动安装这些工具。 对于测试 MCP 服务器功能本身,可能不需要实际的 SDR 硬件也能运行,但播放音频可能无法实现。
基本使用方法
-
启动服务器: 按照上述安装步骤运行 Goose FM Radio MCP 服务器。
-
配置 MCP 客户端: 在您的 MCP 客户端(例如 Claude)中,配置上述 JSON 对象以连接到 Goose FM Radio 服务器。
-
使用 AI 助手: 现在,您可以使用 AI 助手的自然语言指令来控制 FM 收音机。例如,您可以指示 AI 助手:
- "将收音机调到 99.7 兆赫" (对应 'tune_radio' 工具,参数为 "99.7MHz" 或 "99.7M" 或 "99.7")
- "停止收音机" (对应 'stop_radio' 工具)
- "现在收音机在哪个频率?" (对应 'radio://station/frequency' 资源)
AI 助手应该能够通过 MCP 协议调用服务器提供的工具和资源,从而实现对 FM 收音机的控制。
信息
分类
桌面与硬件