Raspberry Pi MCP Audio Control System
Allows remote control of audio playback, system volume, microphone, notification sounds, and camera capture on a Raspberry Pi.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Raspberry Pi MCP Audio Control Systemplay the latest podcast episode"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π Raspberry Pi MCP Audio Control System
Cualquier modificaciΓ³n en el nombre del proyecto debe ser consultada.
A distributed audio management system based on the Model Context Protocol (MCP). This project allows you to remotely control audio playback and system volume on a target machine (e.g., a Raspberry Pi) via a standardized MCP interface.
ποΈ Architecture
The system is split into two main components:
server/: The MCP Server. It runs on the machine connected to the speakers. It exposes tools to play audio bytes, stop playback, manage volume, control the microphone, play notification sounds, and capture photos/videos from the camera.client/: A reference Python client that demonstrates how to send audio files and control commands to the server.
Related MCP server: MCP AppleMusic Server
π Quick Start
1. Server Setup
The server requires ffmpeg (for ffplay) to be installed on the host machine:
sudo apt install ffmpeg2. Running the Server
For production:
python -m server.mainFor development:
uv run mcp dev server/main.py3. Client Usage
Once the server is running, you can use the client CLI:
# Play an audio file
python -m client.main play --file path/to/audio.mp3
# Stop playback
python -m client.main stop
# Play a notification sound (default)
python -m client.main notify --random
# List available notification sounds
python -m client.main list-notifications
# Play an alarm sound
python -m client.main play-alarm --random --stop-time 10
# List available alarms
python -m client.main list-alarms
# π Mute the microphone
python -m client.main mute-mic
# π Unmute the microphone
python -m client.main unmute-mic
# π Set the microphone volume to a specific level (0-100)
python -m client.main set-mic-volume --level 75
# π Get the current microphone volume level
python -m client.main get-mic-volume
# π· Capture a photo from the Raspberry Pi camera
python -m client.main take-photo --output photo.jpg
# π₯ Record a 15 second video from the Raspberry Pi camera at a low framerate
python -m client.main record-video --output video.mp4 --duration 15 --fps 10π§ͺ Testing
It is highly recommended to run the integration tests to verify the audio processing and server logic.
# Set PYTHONPATH to include the current directory and run tests
export PYTHONPATH=$PYTHONPATH:.
python -m unittest discover testsπ οΈ Tech Stack
Language: Python 3.11+
Protocol: Model Context Protocol (MCP)
Audio Backend:
ffplay(FFmpeg)Package Management:
uv/pyproject.toml
π Project Structure
.
βββ client/ # Reference MCP Client
β βββ main.py # Client CLI entry point
β βββ audio_client.py # Audio control logic
β βββ image_client.py # Photo capture logic
β βββ video_client.py # Video recording logic
β βββ notification_client.py # Notification logic
βββ server/ # MCP Server implementation
β βββ audio/ # Audio playback, volume and microphone logic
β β βββ play.py # Base audio control
β β βββ notify.py # Notification sounds logic
β β βββ speaker.py # Speaker mute/unmute and volume control
β β βββ micphone.py # Microphone mute/unmute and volume control
β βββ image/ # Photo capture tools
β βββ video/ # Video recording tools
βββ tests/ # Integration testsThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA Model Context Protocol server that enables controlling Spotify playback through natural language commands in MCP clients like Cursor or Claude for Desktop.1
- Flicense-qualityDmaintenanceAllows controlling Apple Music on macOS through an MCP server that supports playback control, volume adjustment, and music search functionality.2
- Alicense-qualityDmaintenanceEnables control of Kodi media center through MCP protocol, supporting playback control, library management, navigation, and smart downloads search with automatic file playback.5MIT
- Flicense-qualityDmaintenanceThis server bridges the Model Context Protocol (MCP) to the MQTT protocol, allowing LLMs to interact with IoT devices and hardware systems through configurable message topics. It enables users to map natural language prompts to specific MQTT commands for controlling devices like Raspberry Pi fans or PWM controllers.1
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoβ¦
MCP server for Producer/Riffusion AI music generation
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ChilindrinoBot/raspberry-pi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server