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
Related MCP server: MCP Apple Reminders
π Requirements
π macOS (uses
afplayand 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,ZarvoxInternational:
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:
afplayfor audio file playback (system sounds and custom files)sayfor 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
afplayandsaycommandsπ΅ 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
afplayandsaycommand failuresValidates 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.