Skip to main content
Glama
RFingAdam
by RFingAdam

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

git clone https://github.com/RFingAdam/mcp-remote-access.git
cd mcp-remote-access
uv pip install -e .

2. Add to your MCP client

Codex CLI example:

codex mcp add remote-access -- uv run --directory /path/to/mcp-remote-access mcp-remote-access

Claude Code example:

claude mcp add remote-access -- uv run --directory /path/to/mcp-remote-access mcp-remote-access

If your client uses a config file, set the MCP server command to:

{
  "command": "uv",
  "args": ["run", "--directory", "/path/to/mcp-remote-access", "mcp-remote-access"]
}

3. Start your client

For example:

codex
claude

Usage Examples

SSH to a Raspberry Pi

Connect to my Pi at vpn-ap.local with username pi and password raspberry

The client will use:

  1. ssh_connect to establish connection

  2. ssh_execute to run commands

  3. ssh_upload/download for file transfers

Serial Connection to Embedded Device

List available serial ports and connect to /dev/ttyUSB0 at 115200 baud

The client will use:

  1. serial_list_ports to show available ports

  2. serial_connect to establish connection

  3. serial_send / serial_read for communication

Connect to the USB serial device with VID 0x10c4 and PID 0xea60 at 115200 baud

The client will use:

  1. serial_connect_match to select the port

  2. serial_send / serial_read for communication

Serial Prompt Automation

Connect to the UART and log in as root (password summit), then wait for a shell prompt

The client will use:

  1. serial_connect or serial_connect_match to open the port

  2. serial_expect to 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.local

  • Check SSH is running on target: ssh pi@vpn-ap.local

  • Ensure credentials are correct

Serial Port Issues

  • Check port permissions: ls -la /dev/ttyUSB*

  • Add user to dialout group: sudo usermod -a -G dialout $USER

  • Verify device is connected: dmesg | tail

License

MIT

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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

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/RFingAdam/mcp-remote-access'

If you have feedback or need assistance with the MCP directory API, please join our Discord server