Kokoro Text to Speech MCP Server

Apache 2.0
  • Apple

Integrations

  • Manages configuration through environment variables stored in .env files for customizing TTS settings and service connections.

  • Converts generated .wav audio files to .mp3 format for storage and distribution.

  • Provides access to the Kokoro ONNX weights repository for downloading necessary model files.

Kokoro 文本转语音 (TTS) MCP 服务器

Kokoro 文本到语音 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 bucket 内的文件夹路径
  • AWS_S3_ENDPOINT_URL :S3 兼容存储的可选自定义端点 URL
  • 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 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 上传
ID: 8p689t0jsv