文本转语音服务器

一个基于Kokoro TTS引擎的文本转语音服务器,通过MCP工具提供语音合成功能,便于将语音合成集成到应用程序中。

  • by giannisanni
  • Python
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 giannisanni/kokoro-tts-mcp

使用说明

Kokoro TTS MCP服务器

使用Kokoro TTS引擎提供文本到语音功能的模型上下文协议(MCP)服务器。此服务器通过MCP工具公开TTS功能,从而可以轻松地将语音合成集成到您的应用程序中。

先决条件

  • Python 3.10或更高版本
  • uv 包管理器

安装

  1. 首先,安装 uv 包管理器:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 克隆此存储库并安装依赖项:
uv venv
source .venv/bin/activate  # On Windows, use: .venv\Scripts\activate
uv pip install .

特征

  • 具有可定制语音的文本到语音合成
  • 语音速度可调
  • 支持将音频保存到文件或直接播放
  • 跨平台音频播放支持(Windows、macOS、Linux)
  • 可选的OpenAI兼容远程后端(例如。 科科罗快餐)将合成任务卸载到GPU箱

用法

服务器提供单个MCP工具 generate_speech 具有以下参数:

  • text (必填):要转换为语音的文本
  • voice (可选):用于合成的语音(默认:“af_heart”)
  • speed (可选):语音速度倍增器(默认值:1.0)
  • save_path (可选):保存音频文件的目录
  • play_audio (可选):是否立即播放音频(默认:False)

示例用法

from mcp.client import Client

async with Client() as client:
    await client.connect("kokoro-tts")
    
    # Generate and play speech
    result = await client.call_tool(
        "generate_speech",
        {
            "text": "Hello, world!",
            "voice": "af_heart",
            "speed": 1.0,
            "play_audio": True
        }
    )

远程后端(兼容OpenAI)

默认情况下,服务器在本地运行Kokoro。如果你已经运行了兼容OpenAI的 TTS端点,例如 科科罗快餐 (便于在GPU上运行),用环境变量将服务器指向GPU-- 没有本地 torch/kokoro 需要:

变量 默认值 描述
KOKORO_BASE_URL (未设置) OpenAI兼容的基本URL,例如。 http://localhost:8880/v1设置后,合成将在此处发送,而不是在本地运行。
KOKORO_API_KEY not-needed 承载令牌,如果您的端点需要。
KOKORO_MODEL kokoro 传递给终结点的模型名称。

在引擎盖下,这叫 POST {KOKORO_BASE_URL}/audio/speech 符合标准 OpenAI有效载荷(model, input, voice, speed, response_format: wav).

码头工人

docker build -t kokoro-tts-mcp .
docker run --rm -i kokoro-tts-mcp

要使用远程后端而不是捆绑Kokoro:

docker run --rm -i -e KOKORO_BASE_URL=http://host.docker.internal:8880/v1 kokoro-tts-mcp

依赖项

  • 科科罗>=0.8.4
  • mcp[cli]>=1.3.0
  • 声音文件>=0.13.1
  • httpx>=0.27.0

平台支持

以下设备支持音频播放:

  • Windows(使用 start)
  • macOS(使用 afplay)
  • Linux(使用 aplay)

MCP配置

将以下配置添加到MCP设置文件中:

{
  "mcpServers": {
    "kokoro-tts": {
      "command": "/Users/giannisan/pinokio/bin/miniconda/bin/uv",
      "args": [
        "--directory",
        "/Users/giannisan/Documents/Cline/MCP/kokoro-tts-mcp",
        "run",
        "tts-mcp.py"
      ]
    }
  }
}

许可证

麻省理工学院 ©Gianni Sanrochman