使用说明

项目简介

Goose FM Radio 是一个简单的演示项目,展示了如何使用 Model Context Protocol (MCP) 服务器。它模拟了一个 FM 收音机,允许 AI 助手通过 MCP 协议控制调频收音机的频道,并通过电脑扬声器播放。这个项目使用了软件定义无线电 (SDR) 技术,需要用户配备 RTL-SDR 接收器和天线才能实际接收无线电信号。

主要功能点

  • 调谐电台 (Tune Radio): 允许 AI 助手指定频率来调谐到特定的 FM 广播电台。
  • 停止播放 (Stop Radio): 允许 AI 助手停止当前正在播放的广播。
  • 获取当前频率 (Radio Frequency Resource): 提供当前收音机调谐到的频率信息。

安装步骤

  1. 安装 Nix (可选但推荐): 项目推荐使用 Nix 包管理器来运行,以确保环境一致性。如果您已经安装了 Nix,请跳过此步骤。您可以访问 Nix 官网 了解安装方法。
  2. 运行服务器: 在安装 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 硬件也能运行,但播放音频可能无法实现。

基本使用方法

  1. 启动服务器: 按照上述安装步骤运行 Goose FM Radio MCP 服务器。

  2. 配置 MCP 客户端: 在您的 MCP 客户端(例如 Claude)中,配置上述 JSON 对象以连接到 Goose FM Radio 服务器。

  3. 使用 AI 助手: 现在,您可以使用 AI 助手的自然语言指令来控制 FM 收音机。例如,您可以指示 AI 助手:

    • "将收音机调到 99.7 兆赫" (对应 'tune_radio' 工具,参数为 "99.7MHz" 或 "99.7M" 或 "99.7")
    • "停止收音机" (对应 'stop_radio' 工具)
    • "现在收音机在哪个频率?" (对应 'radio://station/frequency' 资源)

    AI 助手应该能够通过 MCP 协议调用服务器提供的工具和资源,从而实现对 FM 收音机的控制。

信息

分类

桌面与硬件