MCP Make Sound 是一个基于模型上下文协议(MCP)的服务器,专为 macOS 系统打造,具备全面的声音播放功能。它允许 AI 助手及其他 MCP 客户端播放系统声音、进行文本转语音,还能播放自定义音频文件,为用户带来丰富的音频反馈体验。
启动 MCP 服务器:
npm start
若要在开发环境中实现自动重新加载:
npm run dev
git clone
cd mcp-make-sound
npm install
npm run build
以下是如何设置 MCP 声音服务器,以便在 Warp 终端中 AI 任务完成时提供音频反馈:
配置规则:“当 AI 任务完成时,使用 mcp - make - sound 播放声音。MCP 支持错误、信息和成功三种状态。根据 AI 任务的结果播放相应的声音。”
通过此设置,你可以:
音频反馈能让你在专注于其他工作的同时,第一时间知晓 AI 助手何时完成请求处理。
服务器提供了四种工具:
play_info_sound
play_warning_sound
play_error_sound
play_sound
type(必需):"system"、"tts" 或 "file"。播放 14 种内置的 macOS 系统声音:
{
"name": "play_sound",
"arguments": {
"type": "system",
"name": "Basso"
}
}
可用的系统声音:
Basso、Blow、Bottle、Frog、Funk、Glass、Hero、Morse、Ping、Pop、Purr、Sosumi、Submarine、Tink
将文本转换为语音,并可选择语音:
{
"name": "play_sound",
"arguments": {
"type": "tts",
"text": "Hello, this is a test message",
"voice": "Albert"
}
}
不指定语音(使用系统默认语音):
{
"name": "play_sound",
"arguments": {
"type": "tts",
"text": "Task completed successfully"
}
}
支持的语音:
Albert、Alice、Bad News、Bahh、Bells、Boing、Bruce、Bubbles、Cellos、Daniel、Deranged、Fred、Good News、Hysterical、Junior、Kathy、Pipe Organ、Princess、Ralph、Trinoids、Whisper、ZarvoxAnna、Amélie、Daria、Eddy、Fiona、Jorge、Juan、Luca、Marie、Moira、Nora、Rishi、Samantha、Serena、Tessa、Thomas、Veena、Victoria、Xander、Yelda、Zosia注意:如果指定了不支持的语音,系统将自动回退到默认语音并继续播放。
播放磁盘上的音频文件:
{
"name": "play_sound",
"arguments": {
"type": "file",
"path": "/Users/username/Music/notification.mp3"
}
}
支持常见的音频格式:.aiff、.wav、.mp3、.m4a 等。
此服务器可与任何兼容 MCP 的客户端集成,例如:
将以下内容添加到你的 MCP 客户端配置中:
{
"mcp-make-sound": {
"command": "node",
"args": [
"/Users/nocoo/Workspace/mcp-make-sound/dist/index.js"
],
"env": {},
"working_directory": "/Users/nocoo/Workspace/mcp-make-sound",
"start_on_launch": true
}
}
示例工具调用:
{
"name": "play_info_sound",
"arguments": {}
}
{
"name": "play_sound",
"arguments": {
"type": "system",
"name": "Hero"
}
}
mcp-make-sound/
├── src/
│ ├── index.ts # 主服务器实现
│ └── __tests__/ # 单元测试
│ └── sound.test.ts # 声音系统测试
├── dist/ # 编译后的 JavaScript 输出
├── eslint.config.js # ESLint 配置
├── vitest.config.ts # Vitest 测试配置
├── package.json # 项目配置
├── tsconfig.json # TypeScript 配置
└── README.md # 本文件
npm run build - 🔨 将 TypeScript 编译为 JavaScript。npm start - ▶️ 运行编译后的服务器。npm run dev - 🔄 开发模式,支持自动重新构建和重启。npm run kill - 🛑 停止所有正在运行的 MCP 服务器实例。npm run lint - 🔍 检查代码风格和错误。npm run lint:fix - 🔧 修复可自动修复的代码风格问题。npm run test - 🧪 在监视模式下运行测试。npm run test:run - ✅ 运行一次测试。npm run test:ui - 🎛️ 以交互式 UI 运行测试。afplay 用于播放音频文件(系统声音和自定义文件)。say 用于文本转语音合成。/System/Library/Sounds/。afplay 和 say 命令服务器包含全面的错误处理机制:
afplay 和 say 命令失败的情况。本项目采用 MIT 许可证。
欢迎贡献代码!请随时提交拉取请求。
这些功能为任何应用需求提供了丰富的音频反馈选项。