Enables SSH connections to Raspberry Pi devices for remote command execution and file transfers via SFTP
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., "@MCP Remote Accessconnect to my Raspberry Pi at 192.168.1.100 with username pi"
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.
An MCP server providing SSH and UART/serial port access for MCP-compatible clients (for example, Codex CLI or 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_connect_match - Connect by matching VID/PID/serial/description
serial_send - Send data (with optional response reading and configurable line ending)
serial_read - Read data from port
serial_wait_for - Wait for a specific pattern in output
serial_expect - Wait/send sequences for prompts and AT flows
serial_send_break - Send a break signal
serial_set_dtr - Set DTR line state
serial_set_rts - Set RTS line state
serial_reset_device - Reset devices via DTR/RTS sequences
serial_flush - Flush serial buffers
serial_disconnect - Close connections
serial_list_connections - Show active connections
Installation
1. Clone and install
2. Add to your MCP client
Codex CLI example:
Claude Code example:
If your client uses a config file, set the MCP server command to:
3. Start your client
For example:
Usage Examples
SSH to a Raspberry Pi
The client will use:
ssh_connectto establish connectionssh_executeto run commandsssh_upload/downloadfor file transfers
Serial Connection to Embedded Device
The client will use:
serial_list_portsto show available portsserial_connectto establish connectionserial_send/serial_readfor communication
The client will use:
serial_connect_matchto select the portserial_send/serial_readfor communication
Serial Prompt Automation
The client will use:
serial_connectorserial_connect_matchto open the portserial_expectto wait for prompts and send responses
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 the local MCP client (stdio transport)
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