内容
# tts-mcp
一个模型上下文协议(MCP)服务器和命令行工具,用于通过 OpenAI TTS API 生成高质量的文本转语音。
## 主要特性
- **MCP 服务器**:将文本转语音功能与 Claude Desktop 和其他兼容 MCP 的客户端集成
- **语音选项**:支持多种语音角色(alloy、nova、echo 等)
- **高质量音频**:支持多种输出格式(MP3、WAV、OPUS、AAC)
- **可定制**:配置语音速度、语音角色和其他指令
- **CLI 工具**:也可作为命令行实用工具直接进行文本转语音转换
## 安装
### 方法 1:从仓库安装
```bash
# 克隆仓库
git clone https://github.com/nakamurau1/tts-mcp.git
cd tts-mcp
# 安装依赖
npm install
# 可选:全局安装
npm install -g .
```
### 方法 2:直接使用 npx(无需安装)
```bash
# 直接启动 MCP 服务器
npx tts-mcp tts-mcp-server --voice nova --model tts-1-hd
# 直接使用 CLI 工具
npx tts-mcp -t "Hello, world" -o hello.mp3
```
## MCP 服务器使用
MCP 服务器允许您将文本转语音功能与兼容模型上下文协议(MCP)的客户端(如 Claude Desktop)集成。
### 启动 MCP 服务器
```bash
# 使用默认设置启动
npm run server
# 使用自定义设置启动
npm run server -- --voice nova --model tts-1-hd
# 或者直接使用 API 密钥
node bin/tts-mcp-server.js --voice echo --api-key your-openai-api-key
```
### MCP 服务器选项
```
选项:
-V, --version 显示版本信息
-m, --model <model> 使用的 TTS 模型(默认:"gpt-4o-mini-tts")
-v, --voice <voice> 语音角色(默认:"alloy")
-f, --format <format> 音频格式(默认:"mp3")
--api-key <key> OpenAI API 密钥(也可以通过环境变量设置)
-h, --help 显示帮助信息
```
### 与 MCP 客户端集成
MCP 服务器可以与 Claude Desktop 和其他兼容 MCP 的客户端一起使用。对于 Claude Desktop 集成:
1. 打开 Claude Desktop 配置文件(通常位于 `~/Library/Application Support/Claude/claude_desktop_config.json`)
2. 添加以下配置,包括您的 OpenAI API 密钥:
```json
{
"mcpServers": {
"tts-mcp": {
"command": "node",
"args": ["full/path/to/bin/tts-mcp-server.js", "--voice", "nova", "--api-key", "your-openai-api-key"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key"
}
}
}
}
```
或者,您可以使用 npx 进行更简单的设置:
```json
{
"mcpServers": {
"tts-mcp": {
"command": "npx",
"args": ["-p", "tts-mcp", "tts-mcp-server", "--voice", "nova", "--model", "gpt-4o-mini-tts"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key"
}
}
}
}
```
您可以通过两种方式提供 API 密钥:
1. **直接方法**(推荐用于测试):在 `args` 数组中使用 `--api-key` 参数包含它
2. **环境变量方法**(更安全):如上所示在 `env` 对象中设置
> **安全提示**:确保在包含 API 密钥时保护您的配置文件。
3. 重启 Claude Desktop
4. 当您要求 Claude "朗读这段文本" 或类似请求时,文本将被转换为语音
### 可用的 MCP 工具
- **text-to-speech**:用于将文本转换为语音并播放的工具
## CLI 工具使用
您也可以将 tts-mcp 作为独立的命令行工具使用:
```bash
# 直接转换文本
tts-mcp -t "Hello, world" -o hello.mp3
# 从文本文件转换
tts-mcp -f speech.txt -o speech.mp3
# 指定自定义语音
tts-mcp -t "Welcome to the future" -o welcome.mp3 -v nova
```
### CLI 工具选项
```
选项:
-V, --version 显示版本信息
-t, --text <text> 要转换的文本
-f, --file <path> 输入文本文件的路径
-o, --output <path> 输出音频文件的路径(必需)
-m, --model <n> 使用的模型(默认:"gpt-4o-mini-tts")
-v, --voice <n> 语音角色(默认:"alloy")
-s, --speed <number> 语音速度(0.25-4.0)(默认:1)
--format <format> 输出格式(默认:"mp3")
-i, --instructions <text> 生成语音的附加指令
--api-key <key> OpenAI API 密钥(也可以通过环境变量设置)
-h, --help 显示帮助信息
```
## 支持的语音
支持以下语音角色:
- alloy(默认)
- ash
- coral
- echo
- fable
- onyx
- nova
- sage
- shimmer
## 支持的模型
- tts-1
- tts-1-hd
- gpt-4o-mini-tts(默认)
## 输出格式
支持以下输出格式:
- mp3(默认)
- opus
- aac
- flac
- wav
- pcm
## 环境变量
您还可以使用系统环境变量配置该工具:
```
OPENAI_API_KEY=your-api-key-here
```
## 许可证
MIT