The MCP Make Sound server provides sound playback capabilities for macOS, integrating with MCP clients to offer multiple audio functions:
- Pre-configured Sounds: Play informational (Glass.aiff), warning (Purr.aiff), and error (Sosumi.aiff) notification sounds.
- System Sounds: Access any of the 14 built-in macOS system sounds by name.
- Text-to-Speech (TTS): Convert text to speech with customizable voices.
- Custom Audio Files: Play audio files from a specified absolute path on disk.
🔊 MCP Make Sound
A Model Context Protocol (MCP) server that provides comprehensive sound playback capabilities for macOS. This server allows AI assistants and other MCP clients to play system sounds, text-to-speech, and custom audio files for rich audio feedback.
✨ Features
- 🔔 Simple Sound Methods: Pre-configured info, warning, and error sounds
- 🎵 Custom System Sounds: Play any of the 14 built-in macOS sounds
- 🗣️ Text-to-Speech: Convert text to speech with customizable voices
- 📁 File Playback: Play custom audio files from disk
- 🚀 Built with TypeScript and the MCP SDK
- 🪶 Lightweight and easy to integrate
📋 Requirements
- 🍎 macOS (uses
afplay
and system sounds) - 🟢 Node.js 18+
- 📝 TypeScript
🚀 Installation
- Clone this repository:
- Install dependencies:
- Build the project:
💡 Usage
🎵 Running the Server
Start the MCP server:
For development with auto-reload:
🎯 Example: Claude Integration with Warp Terminal
Here's how you can set up the MCP sound server to provide audio feedback when AI tasks complete in Warp terminal:
Configuration Rule: "When AI is done, use mcp-make-sound to play a sound. The MCP supports error, info and success. Play the right sound based on AI task outcome."
This setup allows you to:
- 🔔 Hear a pleasant chime when tasks complete successfully
- ⚠️ Get an alert sound for warnings or partial completions
- ❌ Receive clear audio feedback for errors or failures
The audio feedback helps you stay focused on other work while knowing immediately when your AI assistant has finished processing your requests.
🛠️ Available Tools
The server provides four tools:
Simple Sound Methods (Legacy)
play_info_sound
- Description: Play an informational system sound
- Parameters: None
- Sound: Glass.aiff
play_warning_sound
- Description: Play a warning system sound
- Parameters: None
- Sound: Purr.aiff
play_error_sound
- Description: Play an error system sound
- Parameters: None
- Sound: Sosumi.aiff
Advanced Sound Method
play_sound
- Description: Play various types of sounds with customizable parameters
- Parameters:
type
(required):"system"
,"tts"
, or"file"
- Additional based on type (see examples below)
📖 Usage Examples
System Sounds
Play any of the 14 built-in macOS sounds:
Available system sounds:
Basso
, Blow
, Bottle
, Frog
, Funk
, Glass
, Hero
, Morse
, Ping
, Pop
, Purr
, Sosumi
, Submarine
, Tink
Text-to-Speech
Convert text to speech with optional voice selection:
Without voice (uses system default):
Supported voices:
- English:
Albert
,Alice
,Bad News
,Bahh
,Bells
,Boing
,Bruce
,Bubbles
,Cellos
,Daniel
,Deranged
,Fred
,Good News
,Hysterical
,Junior
,Kathy
,Pipe Organ
,Princess
,Ralph
,Trinoids
,Whisper
,Zarvox
- International:
Anna
,Amélie
,Daria
,Eddy
,Fiona
,Jorge
,Juan
,Luca
,Marie
,Moira
,Nora
,Rishi
,Samantha
,Serena
,Tessa
,Thomas
,Veena
,Victoria
,Xander
,Yelda
,Zosia
Note: If an unsupported voice is specified, the system will gracefully fall back to the default voice and continue playback.
Custom Audio Files
Play audio files from disk:
Supports common audio formats: .aiff
, .wav
, .mp3
, .m4a
, etc.
🔒 Security & Limitations
- System Sounds: Only the 14 official macOS sounds are allowed
- Text-to-Speech:
- Text limited to 1000 characters maximum
- Voice validation with graceful fallback to system default
- Curated list of 43+ supported voices for security
- File Playback: Requires absolute paths and validates file existence
🔗 Integration with MCP Clients
This server can be integrated with any MCP-compatible client, such as:
- 🤖 Claude Desktop
- 🛠️ Custom MCP clients
- 🧠 AI assistants that support MCP
MCP Configuration Example
Add this to your MCP client configuration:
Example tool calls:
🛠️ Development
📁 Project Structure
📜 Scripts
Build & Run
npm run build
- 🔨 Compile TypeScript to JavaScriptnpm start
- ▶️ Run the compiled servernpm run dev
- 🔄 Development mode with auto-rebuild and restartnpm run kill
- 🛑 Stop all running MCP server instances
Code Quality & Testing
npm run lint
- 🔍 Check code style and errorsnpm run lint:fix
- 🔧 Fix auto-fixable linting issuesnpm run test
- 🧪 Run tests in watch modenpm run test:run
- ✅ Run tests oncenpm run test:ui
- 🎛️ Run tests with interactive UI
⚙️ How It Works
- The server implements the MCP protocol using the official SDK
- It exposes four tools for different sound capabilities
- When a tool is called, it uses macOS commands:
afplay
for audio file playback (system sounds and custom files)say
for text-to-speech synthesis
- System sounds are located in
/System/Library/Sounds/
- The server communicates over stdio transport
🔧 Technical Details
- 🔌 Transport: Standard I/O (stdio)
- 📡 Protocol: Model Context Protocol (MCP)
- 🎧 Audio Backend: macOS
afplay
andsay
commands - 🎵 Sound Files: System .aiff files, custom audio files, and synthesized speech
🚨 Error Handling
The server includes comprehensive error handling:
- Validates tool names and parameters
- Handles
afplay
andsay
command failures - Validates required parameters for each sound type
- Returns appropriate error messages to clients
- Graceful server shutdown on errors
📄 License
MIT License
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
🎼 Sound Capabilities
Simple Methods (Legacy)
- 🔔 Info: Glass.aiff - A pleasant chime sound
- ⚠️ Warning: Purr.aiff - A gentle alert sound
- ❌ Error: Sosumi.aiff - A distinctive error sound
Advanced Method (play_sound)
- 🎵 14 System Sounds: All built-in macOS sounds available
- 🗣️ 50+ TTS Voices: Multiple languages and character voices
- 📁 Custom Files: Support for .aiff, .wav, .mp3, .m4a, and more
These capabilities provide rich audio feedback options for any application need.
local-only server
The server can only run on the client's local machine because it depends on local resources.
A Model Context Protocol server for macOS that enables AI assistants to play system sounds for audio feedback, offering informational, warning, and error sound options.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to utilize AivisSpeech Engine's high-quality voice synthesis capabilities through a standardized API interface.Last updated -TypeScript
- -securityAlicense-qualityA Model Context Protocol implementation that plays sound effects (completion, error, notification) for Cursor AI and other MCP-compatible environments, providing audio feedback for a more interactive coding experience.Last updated -PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to interact with Apple Reminders on macOS, allowing users to view lists, retrieve, create, complete, and delete reminders through natural language.Last updated -TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol server that integrates with VOICEVOX engine to provide text-to-speech synthesis and speaker information retrieval, allowing users to generate and play voice audio from text.Last updated -21TypeScriptMIT License