MCP TTS服务器
本地运行的MCP(模型上下文协议)服务器,使LLM能够使用现代神经TTS技术将文本输出转换为语音。
特性
- 🎙️ 神经TTS:使用Piper TTS的高质量文本转语音
- 🎭 情感表达:支持8种情绪音调(中性、快乐、悲伤、愤怒、兴奋、冷静、恐惧、惊讶)
- ⚡ 实时控制:实时调整速度、音高和情绪强度
- 🖥️ GUI监控:基于CustomTkinter的GUI,带有实时日志查看器
- 🔧 广泛的日志记录:详细的调试输出,便于故障排除
- 🔌 MCP兼容:与Claude Desktop、MCP Inspector和其他MCP客户端配合使用
安装
# Clone the repository
cd c:\GITHUB\MCPTTS
# Install with uv (recommended)
uv pip install -e .
# Or with pip
pip install -e .快速开始
使用GUI运行(默认)
mcp-tts
# or
python -m mcp_tts.main仅运行服务器(适用于MCP客户端)
mcp-tts --server
# or
mcp-tts-server从克劳德桌面连接
添加到您的Claude Desktop MCP配置中:
{
"mcpServers": {
"tts": {
"command": "uv",
"args": ["run", "mcp-tts", "--server"]
}
}
}MCP工具
| 工具 | 说明 |
|---|---|
speak_text | 使用可配置参数将文本转换为语音 |
set_voice | 设置默认语音模型 |
set_emotion | 设定情绪表达和强度 |
list_voices | 列出可用的语音模型 |
clone_voice | 添加用于克隆的语音参考(Fish/XTS) |
get_status | 获取当前TTS发动机状态 |
get_gpu_status | 获取GPU可用性和VRAM诊断 |
configure_tts | 更新TTS设置(速度、音高、音量) |
示例用法
// Speak with happy emotion
speak_text("Hello! I'm so glad to meet you!", emotion="happy", intensity=0.8)
// Auto-route for low latency
speak_text("Quick preview", engine="auto", task="fast")
// Change voice
set_voice("en_US-joe-medium")
// Adjust speed and pitch
configure_tts(speed=1.2, pitch=0.1)
// Add a cloned voice reference (XTTS/Fish)
clone_voice("C:/voices/sample.wav", name="demo", prompt_text="Sample line", language="en")
// Stream in chunks (long text)
speak_text("Long text...", streaming=true, chunk_size=220)配置
配置存储在 ~/.mcp-tts/config.json:
{
"tts": {
"voice": "en_US-amy-medium",
"engine": "auto",
"speed": 1.0,
"pitch": 0.0,
"emotion": "neutral",
"emotion_intensity": 0.5
},
"audio": {
"auto_play": true,
"sample_rate": 22050,
"effects_enabled": false,
"normalize_audio": true,
"compression_strength": 0.2,
"reverb_wet": 0.1,
"reverb_decay": 0.4
}
}发动机选择通过环境变量控制:
set MCP_TTS_ENGINE=fish支持的发动机值: auto, fish, xtts, piper, system.
您还可以从GUI设置面板切换引擎或传递 engine 到 speak_text.
音频效果
通过设置启用音频管道 effects_enabled 在配置中。即使禁用效果,规范化也可以运行。
流媒体
使用 streaming=true 和 chunk_size 将长文本分段流式传输,以便提前开始播放。
语音模型
语音模型存储在 ~/.mcp-tts/models/.从以下网址下载Piper语音: https://github.com/rhasspy/piper/releases
鱼语(OpenAudio S1 mini)
Fish Speech使用本地HTTP API服务器进行推理。在单独的终端中启动它:
python -m tools.api_server \
--listen 127.0.0.1:8080 \
--llama-checkpoint-path "checkpoints/openaudio-s1-mini" \
--decoder-checkpoint-path "checkpoints/openaudio-s1-mini/codec.pth" \
--decoder-config-name modded_dac_vq然后用环境变量将MCP TTS指向API:
set FISH_SPEECH_API_URL=http://127.0.0.1:8080启动MCP TTS时,您还可以自动启动Fish Speech API:
set FISH_SPEECH_REPO=C:\GITHUB\FishSpeechServer
mcp-tts或者在CLI上传递repo路径:
mcp-tts --fish-repo C:\GITHUB\FishSpeechServerXTTS-v2(通用TTS)
安装依赖项:
pip install -e ".[xtts,gpu]"设置引擎和可选语言覆盖:
set MCP_TTS_ENGINE=xtts
set XTTS_LANGUAGE=en使用 clone_voice 添加参考语音(XTTS需要参考样本)。
发展
# Install dev dependencies
uv pip install -e ".[dev]"
# Run tests
uv run pytest
# Run with verbose logging
mcp-tts --log-level DEBUG许可证
麻省理工学院
