MCP TTS Say 使用说明

项目简介

MCP TTS Say 是一个基于 Model Context Protocol (MCP) 构建的服务器,它通过集成 OpenAI 的文本到语音 (TTS) SDK,为 LLM 客户端提供将文本转换为语音并在本地环境播放的功能。作为一个 MCP 服务器,它定义了一个名为 "say" 的工具,允许 LLM 客户端调用该工具来播放指定的文本内容。

主要功能点

  • 文本转语音 (TTS): 使用 OpenAI TTS SDK 高质量地将文本合成为语音。
  • 本地音频播放: 在 MCP 服务器运行的本地环境中播放合成的语音。
  • MCP 工具集成: 通过 MCP 协议提供 "say" 工具,方便 LLM 客户端调用语音播放功能。
  • 可配置的声音: 支持多种 OpenAI TTS 声音模型,允许选择不同的 voice 参数。

安装步骤

  1. 克隆仓库
    git clone https://github.com/hirokidaichi/mcp-tts-say.git
    cd mcp-tts-say
  2. 安装依赖 确保已安装 Node.js (v18 或更高版本) 和 npm。然后运行:
    npm install
  3. 配置环境变量 在项目根目录下创建 '.env' 文件,并填入你的 OpenAI API 密钥:
    OPENAI_API_KEY=YOUR_OPENAI_API_KEY
    请替换 'YOUR_OPENAI_API_KEY' 为你实际的 OpenAI API 密钥。

服务器配置 (MCP 客户端配置)

为了让 MCP 客户端连接到 MCP TTS Say 服务器,你需要配置客户端的服务器连接信息。以下是一个典型的 JSON 配置示例,用于配置 MCP 客户端连接到本服务器:

{
  "serverName": "LocalVoicePlaybackServer",
  "command": "npm",
  "args": ["run", "dev"]
}

配置参数说明:

  • 'serverName': 服务器名称,这里设置为 "LocalVoicePlaybackServer",与 'src/main.ts' 中定义的服务名称一致。
  • 'command': 启动服务器的命令,这里使用 'npm'。
  • 'args': 启动命令的参数,这里使用 '["run", "dev"]',表示运行 'package.json' 中定义的 'dev' 脚本,该脚本通常用于启动开发模式的服务器。

注意: 请确保你的 MCP 客户端能够执行 'npm run dev' 命令来启动服务器。如果你的环境或启动方式不同,请相应地调整 'command' 和 'args' 配置。例如,如果需要直接运行编译后的 JavaScript 文件,你可能需要将 'command' 设置为 'node','args' 设置为指向编译后的 'main.js' 文件路径。

基本使用方法

  1. 启动 MCP TTS Say 服务器 在项目根目录下,运行以下命令启动服务器:

    npm run dev

    服务器启动后,你将在控制台看到 "LocalVoicePlaybackServer が起動しました。" 的日志信息。

  2. 配置 MCP 客户端并调用 "say" 工具 在你的 MCP 客户端应用中,配置连接到 "LocalVoicePlaybackServer" (根据上述服务器配置)。然后,你可以调用服务器提供的 "say" 工具,并传递 'text' 参数 (要播放的文本内容) 和 'voice' 参数 (可选,指定声音类型,默认为 "echo")。

    例如,使用 MCP 客户端发送一个 JSON-RPC 请求来调用 "say" 工具,请求参数可能如下所示:

    {
      "method": "tool/invoke",
      "params": {
        "tool_name": "say",
        "arguments": {
          "text": "你好,世界!",
          "voice": "fable"
        }
      }
    }

    服务器收到请求后,会将 "你好,世界!" 这段文本合成为 "fable" 声音类型的语音,并在服务器本地播放。MCP 客户端将收到工具执行结果的响应。

通过以上步骤,你就可以使用 MCP TTS Say 服务器为你的 LLM 应用增加本地语音播放能力。

信息

分类

桌面与硬件