使用说明

项目简介

mcp-say 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供文本转语音 (TTS) 功能。它集成了 macOS 内置的 'say' 命令和第三方服务 ElevenLabs API,为大型语言模型 (LLM) 应用提供将文本转换为语音的能力。通过 MCP 协议,mcp-say 可以方便地与支持 MCP 协议的 LLM 客户端(如 Claude Desktop, Cursor IDE)集成,扩展 LLM 的交互方式,使其具备“说话”的能力。

主要功能点

  • 提供 TTS 服务: 核心功能是将文本转换为语音输出。
  • 集成 macOS 'say' 命令: 利用 macOS 系统自带的 'say' 工具实现本地 TTS,无需额外配置即可使用。
  • 集成 ElevenLabs API: 支持通过 ElevenLabs API 使用更高级、更多样化的语音合成服务,需要配置 API 密钥。
  • MCP 协议标准: 遵循 MCP 协议,易于与各种 MCP 客户端集成。
  • 工具注册: 注册 'say' 和 'elevenlabs' 两个工具,客户端可以调用这些工具来执行 TTS 功能。

安装步骤

  1. 安装 Go 环境: 确保你的系统已安装 Go 语言环境 (版本 >= 1.18,推荐最新版本)。
  2. 安装 mcp-say: 打开终端,运行以下命令安装 'mcp-say':
    go install github.com/blacktop/mcp-say@latest
    安装成功后,'mcp-say' 可执行文件通常会位于 '$GOPATH/bin' 或 '$HOME/go/bin' 目录下,请确保该目录已添加到系统的 'PATH' 环境变量中。

服务器配置

MCP 客户端需要配置 MCP 服务器的连接信息才能正常使用 mcp-say 提供的 TTS 服务。以下是针对 MCP 客户端(例如 Claude Desktop)的服务器配置示例(JSON 格式):

{
  "mcpServers": {
    "say": {  // 服务器名称,客户端内唯一标识,可自定义
      "command": "mcp-say",  // 启动 mcp-say 服务器的命令,通常为 "mcp-say"
      "env": {  // 环境变量配置(可选)
        "ELEVENLABS_API_KEY": "YOUR_ELEVENLABS_API_KEY"  // 如果使用 elevenlabs 工具,需要配置 ElevenLabs API 密钥
        // "ELEVENLABS_VOICE_ID": "YOUR_ELEVENLABS_VOICE_ID" // 可选:配置 ElevenLabs 默认语音 ID,默认为 "1SM7GgM6IMuvQlz2BwM3"
      }
    }
  }
}

配置说明:

  • '"say"': 服务器名称,可以自定义,用于在客户端中引用该服务器。
  • '"command": "mcp-say"': 指定启动 mcp-say 服务器的命令。假设 'mcp-say' 已正确安装并添加到 PATH 环境变量,则直接使用 'mcp-say' 即可。
  • '"env"': 环境变量配置,用于传递 ElevenLabs API 密钥等敏感信息。
    • '"ELEVENLABS_API_KEY"': (必需,如果使用 'elevenlabs' 工具) 替换 '"YOUR_ELEVENLABS_API_KEY"' 为你在 ElevenLabs 官网申请的 API 密钥。如果不需要使用 ElevenLabs 服务,或者只使用 'say' 工具,则无需配置此项。
    • '"ELEVENLABS_VOICE_ID"': (可选) 配置 ElevenLabs 的默认语音 ID。如果不配置,将使用默认语音 "1SM7GgM6IMuvQlz2BwM3"。你可以在 ElevenLabs 官网找到更多语音 ID。

重要提示:

  • 确保将 'YOUR_ELEVENLABS_API_KEY' 替换为你真实的 ElevenLabs API 密钥。
  • 如果你只计划使用 macOS 自带的 'say' 工具,可以不配置 'env' 部分。
  • 不同的 MCP 客户端配置方式可能略有不同,请参考你使用的 MCP 客户端的文档进行配置。

基本使用方法

  1. 启动 mcp-say 服务器: 在配置好 MCP 客户端后,当客户端尝试连接 'mcp-say' 服务器时,客户端会自动根据配置启动 'mcp-say' 进程。你也可以在终端手动运行 'mcp-say' 命令来启动服务器。

  2. 在 MCP 客户端中使用 TTS 工具: 在支持 MCP 协议的 LLM 客户端中(如 Claude Desktop, Cursor IDE),你可以通过调用 'say' 或 'elevenlabs' 工具来使用 TTS 功能。

    例如,在 Claude Desktop 中,你可以指示 Claude 调用 'say' 工具来朗读一段文本:

    @say text="你好,世界!"

    或者使用 'elevenlabs' 工具(需要先配置 API 密钥):

    @elevenlabs text="Hello, world!"

    具体的工具调用方式和参数请参考 MCP 客户端的文档和 'mcp-say' 项目 'cmd/root.go' 文件中关于 'sayTool' 和 'elevenLabsTool' 的定义。

通过以上步骤,你就可以成功安装、配置和使用 mcp-say TTS 服务器,为你的 LLM 应用增加语音输出能力。

信息

分类

AI与计算