Control infrared devices via Raspberry Pi using the Model Context Protocol.
Mainly intended to be used with Claude or Chatgpt (when they finally make mcps easier to use)
# Install dependencies
pipx install uv
uv python pin 3.12
uv sync --python 3.12
# On Raspberry Pi
sudo apt install -y avahi-daemon
# Connect via SSH
ssh [email protected]- Get button suggestions:
GetMappingGuidancewithdevice_type - Start capture:
StartIrListener - Press buttons on your remote (power on/off first, then others)
- Register device:
SubmitMappingswith device name and operations
{
"tool": "SendIRCommand",
"device_id": "living_room_fan",
"operation": "power_on"
}Required: power_on, power_off
Common: speed_up, speed_down, oscillate, volume_up, volume_down, temp_up, temp_down, auto_mode
Use ListDeviceOperations to see what's available for each device.
GetMappingGuidance- Get button suggestions for device typesStartIrListener/StopIrListener- Capture IR signalsSubmitMappings- Register device with operationsSendIRCommand- Control any registered deviceListDeviceOperations- Show available operations