Enables SSH connections to Raspberry Pi devices for remote command execution and file transfers via SFTP
An MCP server providing SSH and UART/serial port access for Claude Code. Enables direct control of remote devices like Raspberry Pi, embedded systems, and IoT devices.
Features
SSH Tools
ssh_connect - Connect to remote hosts via SSH (password or key auth)
ssh_execute - Run commands on connected hosts
ssh_upload - Upload files via SFTP
ssh_download - Download files via SFTP
ssh_disconnect - Close connections
ssh_list_connections - Show active connections
UART/Serial Tools
serial_list_ports - List available serial ports
serial_connect - Connect to a serial port
serial_send - Send data (with optional response reading)
serial_read - Read data from port
serial_disconnect - Close connections
serial_list_connections - Show active connections
Installation
1. Clone and install
2. Add to Claude Code
Or manually add to ~/.claude.json:
3. Restart Claude Code
Usage Examples
SSH to a Raspberry Pi
Claude will use:
ssh_connectto establish connectionssh_executeto run commandsssh_upload/downloadfor file transfers
Serial Connection to Embedded Device
Claude will use:
serial_list_portsto show available portsserial_connectto establish connectionserial_send/serial_readfor communication
Security Notes
SSH passwords are passed in memory only, never stored
Connections are session-based and cleared on server restart
Use SSH keys when possible for better security
The server only accepts connections from Claude Code (localhost)
Troubleshooting
SSH Connection Issues
Verify the host is reachable:
ping vpn-ap.localCheck SSH is running on target:
ssh pi@vpn-ap.localEnsure credentials are correct
Serial Port Issues
Check port permissions:
ls -la /dev/ttyUSB*Add user to dialout group:
sudo usermod -a -G dialout $USERVerify device is connected:
dmesg | tail
License
MIT