usb-relay
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., "@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: buspirate-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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/dmikushin/attiny_relay2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server