K

Kokoro 文本转语音 媒体处理

@mberg/kokoro-tts-mcp
3 Stars 225 次浏览 mberg 更新于 2026-08-23

一个使用Kokoro TTS技术从文本生成MP3音频文件的服务器,具有可选的S3上传功能。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Kokoro Text to Speech (TTS) MCP 服务器

Kokoro Text to Speech MCP 服务器可以生成 .mp3 文件,并可选择上传到 S3。

使用:https://huggingface.co/spaces/hexgrad/Kokoro-TTS

配置

将以下内容添加到您的 MCP 配置中。请用您自己的值更新这些配置。

  "kokoro-tts-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/toyourlocal/kokoro-tts-mcp",
        "run",
        "mcp-tts.py"
      ],
      "env": {
        "TTS_VOICE": "af_heart",
        "TTS_SPEED": "1.0",
        "TTS_LANGUAGE": "en-us",
        "AWS_ACCESS_KEY_ID": "",
        "AWS_SECRET_ACCESS_KEY": "",
        "AWS_REGION": "us-east-1",
        "AWS_S3_FOLDER": "mp3",
        "S3_ENABLED": "true",
        "MP3_FOLDER": "/path/to/mp3"
      } 
    }

安装 ffmmeg

这需要将 .wav 转换为 .mp3 文件

对于 Mac:

brew install ffmpeg

要在本地运行,请将这些信息添加到您的 .env 文件中。请参阅 env.example 并将其复制到 .env 文件中,然后根据您的需求进行修改。

支持的环境变量

  • AWS_ACCESS_KEY_ID: 您的 AWS 访问密钥 ID
  • AWS_SECRET_ACCESS_KEY: 您的 AWS 秘密访问密钥
  • AWS_S3_BUCKET_NAME: S3 存储桶名称
  • AWS_S3_REGION: S3 区域(例如 us-east-1)
  • AWS_S3_FOLDER: S3 存储桶内的文件夹路径
  • AWS_S3_ENDPOINT_URL: 可选的自定义端点 URL 用于 S3 兼容存储
  • MCP_HOST: 绑定服务器的主机名(默认: 0.0.0.0)
  • MCP_PORT: 监听端口(默认: 9876)
  • MCP_CLIENT_HOST: 客户端连接到服务器时使用的主机名(默认: localhost)
  • DEBUG: 启用调试模式(设置为 "true" 或 "1")
  • S3_ENABLED: 启用 S3 上传(设置为 "true" 或 "1")
  • MP3_FOLDER: 存储 MP3 文件的路径(默认是脚本目录下的 'mp3' 文件夹)
  • MP3_RETENTION_DAYS: 在自动删除之前保留 MP3 文件的天数
  • DELETE_LOCAL_AFTER_S3_UPLOAD: 成功上传至 S3 后是否删除本地 MP3 文件(设置为 "true" 或 "1")
  • TTS_VOICE: TTS 客户端的默认声音(默认: af_heart)
  • TTS_SPEED: TTS 客户端的默认速度(默认: 1.0)
  • TTS_LANGUAGE: TTS 客户端的默认语言(默认: en-us)

本地运行服务器

推荐使用 UV

uv run mcp-tts.py

使用 TTS 客户端

mcp_client.py 脚本允许您向服务器发送 TTS 请求。使用方法如下:

连接设置

当在同一台机器上运行服务器和客户端时:

  • 服务器应绑定到 0.0.0.0(所有接口)或 127.0.0.1(仅限本地主机)
  • 客户端应连接到 localhost127.0.0.1

基本用法

python mcp_client.py --text "Hello, world!"

从文件读取文本

python mcp_client.py --file my_text.txt

自定义声音和速度

python mcp_client.py --text "Hello, world!" --voice "en_female" --speed 1.2

禁用 S3 上传

python mcp_client.py --text "Hello, world!" --no-s3

命令行选项

python mcp_client.py --help

MP3 文件管理

TTS 服务器生成的 MP3 文件会被存储在本地,并可以选择上传到 S3。您可以配置如何管理这些文件:

本地存储

  • .env 文件中设置 MP3_FOLDER 以指定 MP3 文件的存储位置
  • 文件将保存在此文件夹中,除非被自动删除

自动清理

  • 设置 MP3_RETENTION_DAYS=30(或任意数字)以自动删除超过该天数的文件
  • 设置 DELETE_LOCAL_AFTER_S3_UPLOAD=true 以在成功上传到 S3 后立即删除本地文件

S3 集成

  • 使用 S3_ENABLED=trueDISABLE_S3=true 来启用/禁用 S3 上传
  • .env 文件中配置 AWS 凭证和存储桶设置
  • 可以使用客户端的 --no-s3 选项来按请求禁用 S3 上传