Audio MCP Server

by GongRzhe
Verified
MIT License
1
  • Linux
  • Apple
# Audio MCP Server An MCP (Model Context Protocol) server that provides audio input/output capabilities for AI assistants like Claude. This server enables Claude to interact with your computer's audio system, including recording from microphones and playing audio through speakers. ## Features - **List Audio Devices**: View all available microphones and speakers on your system - **Record Audio**: Capture audio from any microphone with customizable duration and quality - **Playback Recordings**: Play back your most recent recording - **Audio File Playback**: Play audio files through your speakers - **Text-to-Speech**: (Placeholder for future implementation) ## Requirements - Python 3.8 or higher - Audio input/output devices on your system ## Installation 1. Clone this repository or download the files to your computer: ```bash git clone https://github.com/GongRzhe/Audio-MCP-Server.git cd Audio-MCP-Server ``` 2. Create a virtual environment and install dependencies: ```bash # Windows python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt # macOS/Linux python -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` 3. Or use the included setup script to automate installation: ```bash python setup_mcp.py ``` ## Configuration ### Claude Desktop Configuration To use this server with Claude Desktop, add the following to your Claude Desktop configuration file: - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` ```json { "mcpServers": { "audio-interface": { "command": "/path/to/your/.venv/bin/python", "args": [ "/path/to/your/audio_server.py" ], "env": { "PYTHONPATH": "/path/to/your/audio-mcp-server" } } } } ``` Replace the paths with the actual paths on your system. The setup script will generate this configuration for you. ## Usage After setting up the server, restart Claude Desktop. You should see a hammer icon in the input box, indicating that tools are available. Try asking Claude: - "What microphones and speakers are available on my system?" - "Record 5 seconds of audio from my microphone." - "Play back the audio recording." - "Play an audio file from my computer." ## Available Tools ### list_audio_devices Lists all available audio input and output devices on your system. ### record_audio Records audio from your microphone. Parameters: - `duration`: Recording duration in seconds (default: 5) - `sample_rate`: Sample rate in Hz (default: 44100) - `channels`: Number of audio channels (default: 1) - `device_index`: Specific input device index to use (default: system default) ### play_latest_recording Plays back the most recently recorded audio. ### play_audio Placeholder for text-to-speech functionality. Parameters: - `text`: The text to convert to speech - `voice`: The voice to use (default: "default") ### play_audio_file Plays an audio file through your speakers. Parameters: - `file_path`: Path to the audio file - `device_index`: Specific output device index to use (default: system default) ## Troubleshooting ### No devices found If no audio devices are found, check: - Your microphone and speakers are properly connected - Your operating system recognizes the devices - You have the necessary permissions to access audio devices ### Playback issues If audio playback isn't working: - Check your volume settings - Ensure the correct output device is selected - Try restarting the Claude Desktop application ### Server connectivity If Claude can't connect to the server: - Verify your configuration paths are correct - Ensure Python and all dependencies are installed - Check Claude's logs for error messages ## License MIT ## Acknowledgments - Built using the [Model Context Protocol](https://modelcontextprotocol.io/) - Uses [sounddevice](https://python-sounddevice.readthedocs.io/) and [soundfile](https://pysoundfile.readthedocs.io/) for audio processing --- *Note: This server provides tools that can access your microphone and speakers. Always review and approve tool actions before they execute.*