Skip to main content
Glama
ChilindrinoBot

Raspberry Pi MCP Audio Control System

πŸ”Š 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 ffmpeg

2. Running the Server

For production:

python -m server.main

For development:

uv run mcp dev server/main.py

3. 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 tests
F
license - not found
-
quality - not tested
B
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

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

  • F
    license
    -
    quality
    D
    maintenance
    Allows controlling Apple Music on macOS through an MCP server that supports playback control, volume adjustment, and music search functionality.
    2
  • F
    license
    -
    quality
    D
    maintenance
    This 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

View all related MCP servers

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)

View all MCP Connectors

Latest Blog Posts

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