Honk MCP服务器使用说明

项目简介

Honk 是一个基于 Model Context Protocol (MCP) 的简单服务器实现,它利用 macOS 操作系统自带的 'say' 命令提供文本转语音 (TTS) 功能。通过 Honk 服务器,LLM 客户端可以调用不同的语音工具,让文本以各种预设的声音朗读出来。这是一个演示 MCP 服务器工具 (Tools) 功能的示例项目。

主要功能点

  • 文本转语音工具 (Tools): 提供了多个工具,每个工具对应 macOS 'say' 命令的不同声音选项 (如 Eddy, Flo, Grandma 等)。
  • 多种声音选择: 支持多种 macOS 内置的声音,包括男声、女声、儿童声、特效声等,允许 LLM 根据不同场景选择合适的声音。
  • 简单的工具调用: LLM 客户端可以调用这些工具,并传递文本消息作为参数,实现文本到语音的转换。

安装步骤

由于 Honk 项目使用了 Nix Flake 进行环境管理,推荐使用 Nix 进行安装和运行。如果您的系统已安装 Nix,可以按照以下步骤操作:

  1. 克隆仓库:

    git clone https://github.com/mccartykim/honk_mcp
    cd honk_mcp
  2. 运行服务器: 使用 Nix 命令直接运行服务器:

    nix run

    这将使用 'uv run' 命令执行 'server.py' 文件,启动 MCP 服务器。请确保您的系统已安装 macOS,因为 'say' 命令是 macOS 特有的。

服务器配置

MCP 客户端需要配置以下 JSON 格式信息才能连接到 Honk MCP 服务器。请将以下配置添加到您的 MCP 客户端配置中:

{
  "server name": "HonkTTS",  //  服务器名称,可以自定义
  "command": "nix",         //  启动服务器的命令,这里使用 nix
  "args": [                 //  传递给命令的参数列表
    "run",                  //  nix run 命令,用于运行 flake 输出
    "github:mccartykim/honk_mcp" //  指定要运行的 flake,指向 Honk 仓库
  ]
}

配置参数说明:

  • '"server name"': 为服务器指定一个易于识别的名称,例如 "HonkTTS"。
  • '"command"': 设置为 '"nix"',表示使用 Nix 命令来启动服务器。
  • '"args"': 一个字符串数组,包含传递给 '"command"' 的参数。
    • '"run"': 'nix run' 命令用于执行 flake 定义的可执行程序。
    • '"github:mccartykim/honk_mcp"': 指定了要运行的 Nix Flake 的位置,这里直接指向 Honk 的 GitHub 仓库。Nix 将会自动处理依赖和环境配置。

基本使用方法

  1. 启动 Honk MCP 服务器: 按照上述安装步骤运行 'nix run' 命令启动服务器。服务器将在后台运行,并等待 MCP 客户端连接。

  2. 配置 MCP 客户端: 在您的 LLM 客户端 (如 Claude) 中,配置上述 JSON 格式的服务器信息。确保客户端能够正确连接到 Honk 服务器。

  3. 调用 TTS 工具: 在 LLM 应用中,您可以通过 MCP 协议调用 Honk 服务器提供的 TTS 工具。例如,要使用默认声音朗读 "Hello World",可以调用 'say_message' 工具并传入消息参数。要使用 "Eddy" 的声音,可以调用 'say_message_eddy' 工具。

    可用的工具包括 (工具名区分大小写):

    • 'say_message': 使用默认声音朗读
    • 'say_message_eddy': 使用 Eddy 声音朗读
    • 'say_message_flo': 使用 Flo 声音朗读
    • 'say_message_grandma': 使用 Grandma 声音朗读
    • 'say_message_grandpa': 使用 Grandpa 声音朗读
    • 'say_message_reed': 使用 Reed 声音朗读
    • 'say_message_rocko': 使用 Rocko 声音朗读
    • 'say_message_sandy': 使用 Sandy 声音朗读
    • 'say_message_shelley': 使用 Shelley 声音朗读
    • 'say_message_fred': 使用 Fred 声音朗读
    • 'say_message_junior': 使用 Junior 声音朗读
    • 'say_message_kathy': 使用 Kathy 声音朗读
    • 'say_message_superstar': 使用 Superstar 声音朗读
    • 'say_message_trinoids': 使用 Trinoids 声音朗读
    • 'say_message_bells': 使用 Bells 声音朗读

    具体工具调用方式和参数传递方法,请参考您的 MCP 客户端的文档。通常,您需要构建符合 MCP 协议的 JSON-RPC 请求,并发送给 Honk 服务器。

注意:

  • Honk 服务器依赖于 macOS 操作系统及其 'say' 命令,因此只能在 macOS 环境下运行。
  • 确保您的 macOS 系统已安装 Nix 包管理器。

信息

分类

桌面与硬件