Speech MCP Server 使用说明

项目简介

Speech MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,专门为大型语言模型 (LLM) 提供文本转语音 (TTS) 功能。它使用高质量的 Kokoro TTS 模型,允许 LLM 应用通过调用工具的方式,轻松地将文本转换为自然流畅的语音。无需 API 密钥,安装简单,配置灵活。

主要功能点

  • 高质量语音合成: 采用 Kokoro TTS 模型,提供接近真人发声的语音效果。
  • 多语音选择: 支持多种不同的语音风格,满足不同应用场景的需求。
  • 可定制语音参数: 允许调整语速等参数,精细控制语音输出。
  • MCP 协议兼容: 遵循 MCP 协议标准,易于与各种 MCP 客户端集成。
  • 易于安装和部署: 通过 npm 等包管理器即可快速安装,配置简单。
  • 无需 API 密钥: 开箱即用,无需担心 API 限制和费用。
  • 提供模型状态查询: 可以查看TTS模型初始化状态,方便问题排查。

安装步骤

  1. 使用 npm 安装 (推荐 pnpm 或 yarn):

    npm install speech-mcp-server
    # 或使用 pnpm
    # pnpm add speech-mcp-server
    # 或使用 yarn
    # yarn add speech-mcp-server
  2. 安装完成后,即可启动服务器。

服务器配置

MCP 服务器主要通过环境变量进行配置。以下是在 MCP 客户端(如 Cursor 编辑器)中配置 Speech MCP Server 的示例,您需要将此配置添加到您的 MCP 客户端配置文件中。

Cursor 配置示例 (claude_desktop_config.json):

{
  "mcpServers": {
    "speech": {
      "command": "npx",
      "args": [
        "-y",
        "speech-mcp-server"
      ],
      "env": {
        "MCP_DEFAULT_SPEECH_SPEED": 1.3,  // 可选:默认语速倍率,范围 0.5 到 2.0,默认为 1.1
        "MCP_DEFAULT_VOICE": "af_bella"    // 可选:默认语音,默认为 af_bella,可通过 list_voices 工具查看可选值
      }
    }
  }
}

配置参数说明:

  • '"speech"': 服务器名称,您可以自定义,客户端通过此名称引用该服务器。
  • '"command": "npx"': 启动命令,使用 npx 执行。
  • '"args": ["-y", "speech-mcp-server"]': npx 的参数,'-y' 表示自动确认安装 'speech-mcp-server','speech-mcp-server' 是要执行的包名。
  • '"env"': 环境变量配置,用于配置服务器的行为。
    • '"MCP_DEFAULT_SPEECH_SPEED"': 设置默认语速,例如 '1.3' 表示 1.3 倍速。
    • '"MCP_DEFAULT_VOICE"': 设置默认语音,例如 '"af_bella"'。

基本使用方法

  1. 启动服务器: 在安装 'speech-mcp-server' 的项目目录下,或全局安装后,可以使用以下命令启动服务器:

    npm start
    # 或使用自定义配置启动,例如设置语速和语音:
    # MCP_DEFAULT_SPEECH_SPEED=1.5 MCP_DEFAULT_VOICE=af_bella npm start

    服务器默认在标准输入/输出 (stdio) 上监听 MCP 请求。

  2. 使用 MCP 客户端调用工具: Speech MCP Server 提供了以下工具,您可以在 MCP 客户端中调用这些工具来使用语音合成功能:

    • 'text_to_speech': 基本的文本转语音。

      {
        "type": "request",
        "id": "1",
        "method": "call_tool",
        "params": {
          "name": "text_to_speech",
          "arguments": {
            "text": "Hello world",
            "voice": "af_bella"  // 可选,指定语音
          }
        }
      }
    • 'text_to_speech_with_options': 带参数的文本转语音,可以自定义语速。

      {
        "type": "request",
        "id": "1",
        "method": "call_tool",
        "params": {
          "name": "text_to_speech_with_options",
          "arguments": {
            "text": "Hello world",
            "voice": "af_bella",  // 可选,指定语音
            "speed": 1.0         // 可选,指定语速 (0.5 到 2.0)
          }
        }
      }
    • 'list_voices': 列出所有可用的语音。

      {
        "type": "request",
        "id": "1",
        "method": "call_tool",
        "params": {
          "name": "list_voices",
          "arguments": {}
        }
      }
    • 'get_model_status': 获取 TTS 模型初始化状态。

      {
        "type": "request",
        "id": "1",
        "method": "call_tool",
        "params": {
          "name": "get_model_status",
          "arguments": {}
        }
      }

    您可以使用 MCP Inspector 或其他 MCP 客户端发送上述 JSON 请求与服务器交互。

注意: 首次启动服务器时,需要下载 TTS 模型,可能需要一些时间,请耐心等待。您可以使用 'get_model_status' 工具查看模型加载进度。

信息

分类

AI与计算