MCP Play Sound Server

by davidteren

153 downloads
Not rated
GitHub

About

Model Context Protocol server that provides audio playback functionality for AI agents. Play notification sounds when coding tasks complete. Early version/proof of concept - macOS only.

Details

Author
davidteren
Downloads
153
Categories
Other

- Plays audio notifications when AI tasks complete
- Bundled default sound for immediate use
- Supports custom audio files (WAV, MP3, FLAC, OGG, M4A)
- Automatically falls back to default sound if custom audio fails
- Works on macOS using AFPlay and SimpleAudio
- Configurable volume level and audio output device

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Play Sound Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, set up a Python virtual environment, and install the package with pip install -e ".[dev]". Then configure Claude Desktop by adding a JSON entry to claude_desktop_config.json with the command uv and appropriate args pointing to the server directory. Restart Claude Desktop and ask the assistant to play a notification sound.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp play sound server": {
            "play-sound-mcp-server": {
                "command": "python",
                "args": [
                    "-m",
                    "venv",
                    ".venv"
                ]
            }
        }
    }
}

McpServers

{
    "play-sound-mcp-server": {
        "command": "python",
        "args": [
            "-m",
            "venv",
            ".venv"
        ]
    }
}

MCP Play Sound Server

A Model Context Protocol (MCP) server that provides audio playback functionality for AI agents. This server enables AI agents to play sound notifications when coding tasks are completed.

> ⚠️ Early Version / Proof of Concept
> This is an early implementation currently tested only on macOS. Future versions will support additional platforms.

Features

- Audio Notifications: Play sound alerts when AI tasks complete
- Default Sound: Bundled notification sound for immediate use
- Custom Audio: Support for custom audio files (WAV, MP3, FLAC, OGG, M4A)
- Intelligent Fallback: Automatic fallback to default sound if custom audio fails
- macOS Support: Currently tested on macOS using AFPlay and SimpleAudio

Installation & Setup

Development Setup

1. Clone and install:

git clone <repository-url>
cd play-sound-mcp-server
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e ".[dev]"

2. Configure Claude Desktop:
Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "play-sound": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/play-sound-mcp-server",
        "run",
        "mcp-server-play-sound"
      ]
    }
  }
}

3. Test: Restart Claude Desktop and ask: "Can you play a notification sound?"

Configuration

Environment variables (optional):
- CUSTOM_SOUND_PATH: Path to custom audio file
- VOLUME_LEVEL: Playback volume (0.0-1.0, default: 0.8)
- ENABLE_FALLBACK: Enable fallback to default sound (default: true)
- AUDIO_DEVICE: Specific audio output device name (e.g., "Mac Studio Speakers")

Available Tools

play_notification_sound

Plays a notification sound to alert the user.

Parameters:
- custom_sound_path (optional): Path to custom audio file
- message (optional): Context message for the notification

get_audio_status

Returns current audio system status and configuration.

test_audio_playback

Tests audio playback functionality.

Parameters:
- use_custom (optional): Test with custom sound if configured

list_audio_devices

Lists all available audio output devices on the system.

Returns:
- List of available audio devices with their properties
- Current configured device (if any)
- Default device information

Development

Prerequisites

- Python 3.10+ - uv (recommended) or pip

Testing

pytest tests/

License

MIT License - see the LICENSE file for details.

Acknowledgments

- Model Context Protocol by Anthropic
- Python audio library maintainers

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.