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"
}
}
这需要将 .wav 文件转换为 .mp3 文件。
对于 Mac:
brew install ffmpeg
要在本地运行,请将这些内容添加到您的 .env 文件中。查看 env.example 并复制到 .env 文件中,然后根据您的需求进行修改。
AWS_ACCESS_KEY_ID:您的 AWS 访问密钥 IDAWS_SECRET_ACCESS_KEY:您的 AWS 秘密访问密钥AWS_S3_BUCKET_NAME:S3 存储桶名称AWS_S3_REGION:S3 区域(例如,us-east-1)AWS_S3_FOLDER:S3 存储桶内的文件夹路径AWS_S3_ENDPOINT_URL:可选的自定义 S3 兼容存储端点 URLMCP_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
mcp_client.py 脚本允许您向服务器发送 TTS 请求。可以按如下方式使用:
当在同一台机器上运行服务器和客户端时:
0.0.0.0(所有接口)或 127.0.0.1(仅限本地主机)localhost 或 127.0.0.1python mcp_client.py --text "你好,世界!"
python mcp_client.py --file 我的文本.txt
python mcp_client.py --text "你好,世界!" --voice "en_female" --speed 1.2
python mcp_client.py --text "你好,世界!" --no-s3
python mcp_client.py --help
TTS 服务器生成的 MP3 文件会存储在本地,并且可以选择上传到 S3。您可以配置这些文件的管理方式:
MP3_FOLDER 以指定 MP3 文件的存储位置MP3_RETENTION_DAYS=30(或任何数字)以自动删除超过该天数的文件DELETE_LOCAL_AFTER_S3_UPLOAD=true 以在成功上传到 S3 后立即删除本地文件S3_ENABLED=true 或 DISABLE_S3=true 启用或禁用 S3 上传--no-s3 选项在每次请求中禁用 S3 上传