ElevenLabs MCP服务器
用于ElevenLabs API集成的综合模型上下文协议(MCP)服务器。直接从Claude Desktop或任何兼容MCP的客户端生成专业的文本到语音、音乐和音效。
目标受众: 治疗师、教练和内容创作者,用于制作冥想、治疗性音频和专业配音。
特性
- 文本转语音(TTS) -使用多种模型和语音设置生成自然语音
- V3对话 -带有情感音频标签的多语音对话
- 音乐发生器 -根据文本提示创建背景音乐
- 音效 -生成电影音效
- 语音管理 -浏览和过滤可用语音
- 治疗预设 -冥想、催眠等的预配置设置
可用工具
| 工具 | 说明 |
|---|---|
elevenlabs_list_voices | 列出所有可用的声音并进行过滤(语言、性别、类别) |
elevenlabs_get_voice | 获取特定语音的详细信息 |
elevenlabs_tts | 通过全语音控制从文本生成语音 |
elevenlabs_tts_stream | 通过流媒体生成语音(延迟更低) |
elevenlabs_dialogue | 生成具有多个语音和音频标签的对话(V3) |
elevenlabs_music | 从文本提示生成音乐 |
elevenlabs_stream_music | 通过流媒体生成音乐 |
elevenlabs_sound_effect | 根据描述生成音效 |
安装
先决条件
- Node.js 20或更高版本
- ElevenLabs API密钥(在这里买一个)
设置
- 克隆存储库:
git clone https://github.com/yourusername/mcp-elevenlabs-api.git
cd mcp-elevenlabs-api- 安装依赖项:
npm install- 构建项目:
npm run buildMCP配置
克劳德桌面(Windows)
添加到您的Claude Desktop配置文件: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"elevenlabs": {
"command": "node",
"args": ["C:\\path\\to\\mcp-elevenlabs-api\\build\\index.js"],
"env": {
"ELEVENLABS_API_KEY": "sk_your_api_key_here",
"OUTPUT_DIR": "C:\\Users\\YourName\\ElevenLabs\\Output"
}
}
}
}克劳德桌面(macOS)
添加到您的Claude Desktop配置文件: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"elevenlabs": {
"command": "node",
"args": ["/path/to/mcp-elevenlabs-api/build/index.js"],
"env": {
"ELEVENLABS_API_KEY": "sk_your_api_key_here",
"OUTPUT_DIR": "/Users/yourname/ElevenLabs/Output"
}
}
}
}环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
ELEVENLABS_API_KEY | 是 | - | 您的ElevenLabs API密钥 |
OUTPUT_DIR | 没有 | . | 生成的音频文件目录 |
MAX_RETRIES | 没有 | 3 | 最大API重试次数 |
RETRY_DELAY_MS | 没有 | 1000 | 指数退避的基本延迟 |
LOG_LEVEL | 没有 | info | 日志记录级别(调试、信息、警告、错误) |
使用示例
生成TTS
Use elevenlabs_tts to say "Welcome to this meditation session" with the meditation_calm preset列出德语声音
Use elevenlabs_list_voices to find German female voices生成背景音乐
Use elevenlabs_music to generate peaceful ambient meditation music, 2 minutes, instrumental only生成音效
Use elevenlabs_sound_effect to create a Tibetan singing bowl sound, 10 secondsV3带音频标签的对话
Use elevenlabs_dialogue with this text:
[softly, warmly] Welcome to this moment of peace.
[whispers] Close your eyes and relax.
[calmly] Take a deep breath in... and slowly release.治疗预设
语音预设
| 预设 | 描述 |
|---|---|
meditation_calm | 高稳定性,平稳一致的交付 |
meditation_warm | 温暖、滋养的色调 |
hypnosis_deep | 非常稳定、深刻和权威 |
energetic_motivation | 动态、激励性交付 |
children_storytelling | 富有表现力,引人入胜的故事 |
音乐预设
| 预设 | 描述 | 持续时间 |
|---|---|---|
meditation_ambient | 软合成器垫,60 BPM | 5分钟 |
sleep_therapy | 超慢环境无人机 | 5分钟 |
yoga_flow | 印度乐器,80 BPM | 4分钟 |
nature_sounds | 森林氛围,无乐器 | 5分钟 |
therapeutic_background | 轻柔的弦乐钢琴 | 3分钟 |
V3音频标签
在文本中使用这些标签来表达情感(V3模型):
情绪: 快乐、悲伤、愤怒、冷静、兴奋、自信、担心
说话风格: 窃窃私语、大喊大叫、大笑、叹气、哭泣
色调修改器: 温柔、大声、热情、冷酷、缓慢、迅速
特别: 呼吸、停顿、强调
例子:
[softly, warmly] Welcome to this meditation.
[whispers] Let go of all tension.
[sighs] Feel the peace within.TTS模型
| 型号 | ID | 最适合 |
|---|---|---|
| 11 V3 | eleven_v3 | 音频标签、情感表达 |
| 多语言V2 | eleven_multilingual_v2 | 高品质,多种语言 |
| Turbo V2.5 | eleven_turbo_v2_5 | 生产速度快,质量好 |
| Flash V2.5 | eleven_flash_v2_5 | 最快、实时的应用程序 |
输出格式
mp3_44100_128(默认)-高品质MP3mp3_44100_192-最高质量的MP3mp3_44100_96-优质MP3mp3_44100_64-标准质量MP3pcm_44100-未压缩PCM(用于进一步处理)
发展
以开发模式运行
npm run dev使用MCP检查员进行测试
npm run inspect项目结构
mcp-elevenlabs-api/
├── src/
│ ├── index.ts # Main entry point
│ ├── api/
│ │ └── client.ts # ElevenLabs API client
│ ├── config/
│ │ └── constants.ts # API constants and presets
│ ├── tools/
│ │ ├── voices.ts # Voice management tools
│ │ ├── tts.ts # Text-to-speech tools
│ │ ├── dialogue.ts # V3 dialogue tool
│ │ ├── music.ts # Music generation tools
│ │ └── sound-effects.ts # Sound effects tool
│ └── types/
│ └── index.ts # TypeScript types
├── build/ # Compiled JavaScript
├── package.json
└── tsconfig.json故障排除
“ELEVENLABS_API_KEY环境变量是必需的”
确保您的API密钥已设置在MCP配置中 env 部分。
“未经授权-API密钥无效”
请验证您的API密钥是否正确并且尚未过期。
“价格有限”
服务器会自动以指数回退方式重试。如果您经常遇到费率限制,请考虑升级ElevenLabs计划。
文件未保存
确保 OUTPUT_DIR 存在并具有写入权限。如果它不存在,服务器将自动创建它。
许可证
GPL-3.0
