文本转语音服务器

一个集成ElevenLabs文本转语音功能的MCP服务器,用于在OpenCode中实现语音输出。

  • by kurojs
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 kurojs/elevenlabs-mcp-tts

使用说明

ElevenLabs MCP TTS服务器

一种模型上下文协议(MCP)服务器,将ElevenLabs文本到语音与OpenCode集成在一起,允许助手大声说出其响应。

特性

  • 通过MCP与OpenCode进行本地集成
  • 支持所有ElevenLabs语音
  • Linux上的自动音频播放(PulseAudio)
  • 简单安全的配置
  • 干净且有文件记录的代码

需求

  • Node.js 16+
  • ElevenLabs API密钥
  • PulseAudio(用于Linux上的音频播放)
  • 支持MCP的OpenCode

安装

  1. 克隆存储库:
git clone https://github.com/kurojs/elevenlabs-mcp-tts.git
cd elevenlabs-mcp-tts
  1. 安装依赖项:
npm install
  1. 在服务器文件中配置API密钥:
nano src/server.js

使用ElevenLabs API密钥更新第64行。

使用OpenCode进行配置

  1. 编辑OpenCode配置文件:
nano ~/.config/opencode/opencode.json
  1. 添加MCP服务器:
{
  "mcp": {
    "elevenlabs-tts": {
      "type": "local",
      "command": ["node", "/home/kuro/mcp-tts/server.js"],
      "enabled": true
    }
  }
}
  1. 重新启动OpenCode

用法

配置后,您可以在OpenCode中使用该工具:

use text_to_speech to say "hello world"

或者对于自动响应:

from now on, use text_to_speech for all your responses

参数

这 text_to_speech 工具接受以下参数:

  • text (必填):要转换的文本
  • voice_id (可选):语音ID(默认:01Sca6E8phd1rq7mKoii)
  • model_id (可选):模型(默认值:eleven_multilingual_v2)

流行的声音

  • CwhRBWXzGAHq8TQ4Fs17 -罗杰(英语,广泛可用)
  • EXAVITQu4vr4xnSDxMaL -Sarah(英语)
  • FGY2WhTYpPnrIDTdsKH5 -劳拉(英语)
  • IKne3meq5aSn9XLyUdCD -查理(英语)

故障排除

音频未播放:

  • 检查PulseAudio是否正常工作: pactl info
  • 确保您安装了音频驱动程序
  • 检查系统音量

API密钥错误:

  • 验证server.js中的API密钥是否有效
  • 确保你在ElevenLabs有学分
  • 检查服务器文件中是否正确配置了API密钥

OpenCode找不到服务器:

  • 验证配置文件中的路径
  • 确保 server.js 文件是可执行的
  • 检查目录权限

测试

要手动测试MCP服务器,请执行以下操作:

echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | node src/server.js

发展

对于自动重新加载的开发:

npm run dev

贡献

  1. 分叉项目
  2. 创建分支: git checkout -b feature/new-feature
  3. 承诺: git commit -am 'Add new feature'
  4. 推: git push origin feature/new-feature
  5. 拉取请求

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

实用链接

致谢

  • ElevenLabs提供令人惊叹的TTS API
  • 支持MCP的OpenCode
  • 开源社区