
🙏 特别感谢
本项目基于@t09tanaka的mcp-simple-voicevox。
我们非常感谢他们为创建适用于VOICEVOX的原始MCP服务器所做的出色工作,这为本次AivisSpeech适配奠定了基础。
一个用于与AivisSpeech语音合成引擎无缝集成的模型上下文协议(MCP)服务器。此项目使AI助手和应用程序能够将文本转换为具有可定制语音参数的日语自然语音。
http://127.0.0.1:10101(默认端口)运行在使用Claude Code之前,请手动启动MCP服务器。
使用npx确保您始终自动获取最新版本。无需手动更新。
npx @shinshin86/mcp-simple-aivisspeech@latest
claude mcp add aivisspeech -e AIVISSPEECH_URL=http://127.0.0.1:10101 -- npx @shinshin86/mcp-simple-aivisspeech@latest
默认情况下,服务器仅添加到本地作用域(当前项目)。要使其在所有项目中可用,请使用-s user选项:
claude mcp add aivisspeech -s user -e AIVISSPEECH_URL=http://127..0.1:10101 -- npx @shinshin86/mcp-simple-aivisspeech@latest
您还可以在CLAUDE.md文件中添加语音通知,以自动化任务完成通知:
## 任务完成行为
- 当所有任务完成后,始终使用aivisspeech mcp工具通过语音宣布“任务已完成”
- 当需要用户输入或决策时,使用aivisspeech mcp工具通过语音宣布“等待您的决策”
### 通知时间
- 当询问用户问题时
- 当所有任务完成后
- 当出现错误或问题时
claude mcp list
# 或启动Claude Code并使用
/mcp
如果显示aivisspeech,则设置成功。
💡 提示:为了安全起见,Claude Code不会自动执行命令。如果您忘记启动服务器,则工具不会出现。在开发过程中,在终端中持续运行上述
npx命令,或者使用进程管理器如pm2或systemd --user进行持久操作。
对于手动配置Claude Desktop,您可以简单地添加以下配置:
使用npx确保您始终自动获取最新版本。无需手动更新。
{
"mcpServers": {
"aivisspeech": {
"command": "npx",
"args": ["@shinshin86/mcp-simple-aivisspeech@latest"],
"env": {
"AIVISSPEECH_URL": "http://127.0.0.1:10101"
}
}
}
}
在使用此MCP服务器之前,请完成以下设置步骤,以确保AivisSpeech在本地运行。
http://127.0.0.1:10101/docs验证引擎是否正在运行# 运行MCP服务器
npm start
# 开发模式带热重载
npm run dev
# 检查一切是否正常
npm test
对于克隆仓库、安装依赖项和构建:
# 克隆仓库
git clone https://github.com/shinshin86/mcp-simple-aivisspeech.git
cd mcp-simple-aivisspeech
# 安装依赖项
npm install
# 构建项目
npm run build
speak将文本转换为语音,并使用可定制的语音参数播放音频。
此工具接受多个配置参数,包括但不限于以下选项:
text (必需): 要转换为语音的文本speaker (可选): 发言人/语音ID(默认:888753760 - Anneli ノーマル)speedScale (可选): 语音速度倍数(0.5-2.0,默认:1.0)pitchScale (可选): 音调调整(-0.15-0.15,默认:0.0)volumeScale (可选): 音量级别(0.0-2.0,默认:1.0)playAudio (可选): 是否播放生成的音频(默认:true)示例用法:
{
"text": "こんにちは、世界!",
"speaker": 888753760,
"speedScale": 1.2,
"pitchScale": 0.05,
"volumeScale": 1.5
}
get_speakers检索所有可用的语音角色及其风格列表。
此函数返回:发言人的ID、姓名及可用的语音风格列表。
notify_completion当任务完成时播放语音通知。
此工具接受多个配置参数,包括但不限于以下选项:
message (可选): 完成消息以宣布(默认:"処理が完了しました")speaker (可选): 通知语音的发言人ID(默认:888753760 - Anneli ノーマル)示例用法:
{
"message": "データ処理が完了しました",
"speaker": 888753760
}
check_engine_status检查AivisSpeech引擎的当前状态和版本信息。
此函数返回:引擎状态、版本信息及连接详情。
| 平台 | 音频命令 | 要求 |
|---|---|---|
| macOS | afplay | 内置(无需额外设置) |
| Windows | PowerShell Media.SoundPlayer | Windows PowerShell |
| Linux | aplay | ALSA utils (sudo apt install alsa-utils) |
# 开发与构建
npm run dev # 带热重载运行(tsx)
npm run build # 编译TypeScript至dist/
npm start # 运行编译后的服务器
# 代码质量
npm run lint # 运行ESLint
npm run test # 运行Vitest测试(单次运行)
npm run test:watch # 监控模式运行测试
npm run test:ui # 带UI运行测试
npm run test:coverage # 运行带有覆盖率的测试
# 工具
npm run clean # 清理dist/目录
在生产环境中使用MCP客户端时,在您的MCP配置中使用npx @shinshin86/mcp-simple-aivisspeech@latest。无需本地设置,且始终获得最新版本。
对于开发,克隆仓库并使用npm run dev进行热重载,或使用npm run build && npm start测试生产构建。
mcp-simple-aivisspeech/
├── src/
│ ├── index.ts # MCP服务器及工具处理器
│ └── aivisspeech-client.ts # AivisSpeech API客户端
├── tests/
│ └── aivisspeech-client.test.ts # 单元测试
├── dist/ # 编译输出
├── docs/ # 文档
└── 配置文件 # TS、ESLint、Vitest配置
AivisSpeechClient类提供了全面的功能,提供以下几个关键能力:
src/index.ts中的CallToolRequestSchema添加处理器AivisSpeechClient类aivisspeech-client.ts中的接口Error: Failed to get version: connect ECONNREFUSED 127.0.0.1:10101
考虑以下故障排除方法来解决此问题:确保AivisSpeech引擎在正确的端口上运行。
Error: Audio player exited with code 1
考虑以下故障排除方法来解决此问题:
afplay是否可用sudo apt install alsa-utils)Error: spawn afplay EACCES
考虑以下故障排除方法来解决此问题:检查文件权限和系统音频设置。
要启用详细日志记录,请运行以下命令:
DEBUG=mcp-aivisspeech npm run dev
本项目根据Apache许可证2.0发布 - 详情参见LICENSE文件。
我们欢迎社区贡献。贡献者可以通过完成以下基本步骤开始:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)为日语TTS社区制作,充满爱心