usb-relay
Click on "Deploy 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., "@usb-relaylist all connected relays"
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.
ATtiny85 CDC ACM Relay Controller
USB CDC ACM device (ttyACM) on DigiSpark ATtiny85 for controlling an induction relay via serial break signal.
Relay Logic
PB0 State | Relay | Trigger |
LOW | ON (conducting) | Normal state / break cleared |
HIGH | OFF (open, NO) | Serial Break asserted |
Related MCP server: serial-mcp
Custom USB Device Name
The USB product name is stored in EEPROM and can be changed at runtime.
Send the command 0xAA <length> <name bytes> on the ttyACM data channel.
The device writes the name to EEPROM, reloads the USB descriptor, and re-enumerates — no reboot required.
The new name is visible in lsusb. Maximum length: 64 characters.
Default name: ATtiny Relay
Firmware
Requires: avr-gcc, micronucleus
make # build firmware
make flash # flash via micronucleus (re-plug DigiSpark when prompted)V-USB library is cloned automatically on first build.
Python Installation
pip install . # API library only
pip install .[mcp] # API + MCP serverPython API
from relay_control import RelayControl
with RelayControl() as r:
r.relay_off() # PB0 HIGH, relay OFF (serial break)
r.relay_on() # PB0 LOW, relay ON (break cleared)
r.set_name("My Relay") # change USB device name (auto-reconnects)
print(r.name) # read current USB product nameMCP Server
The package provides an MCP server for use with Claude Code via mcp-compressor.
Setup
Add to ~/.claude.json in the mcpServers section:
{
"mcpServers": {
"usb-relay": {
"command": "mcp-compressor",
"args": ["-n", "usb-relay", "-c", "max", "usb-relay-mcp"]
}
}
}Restart Claude Code after editing the config.
Tools
Tool | Description |
| List connected relay devices (port, USB address, name) |
| Turn relay ON — accepts |
| Turn relay OFF |
| Change USB device name (1–64 ASCII chars) |
Tests
make test # runs pytest against real hardwareThis server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Yoto: manage cards, tracks, icons and family devices from any MCP client.
Securely control paired computers with ReMCP.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server for BusPirate 6 hardware security testing. Exposes UART, SPI, I2C, 1-Wire, power supply, GPIO, and logic analyzer operations as tools.2MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for serial ports — non-blocking reads, DTR/RTS, streaming subscriptions, port allowlist.9MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for programmable bench power supply control, enabling autonomous bootloader-entry probing via precise power cycling and telemetry.1-
- AlicenseNot gradedqualityDmaintenanceMCP server for controlling compatible boards over Bluetooth serial, including DC motors, servos, IO, and sensors.MIT