raspberry-pi-connect-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RPI_CONNECT_ALLOW | No | Comma-separated name substrings. Only matching devices can be used. | |
| RPI_CONNECT_CHROME | No | Path to a Chrome binary. | |
| RPI_CONNECT_HEADED | No | Show the browser window (debugging). Set to 1 to enable. | |
| RPI_CONNECT_PROFILE | No | Chrome profile dir used by `login`. | |
| RPI_CONNECT_SESSION | No | Path to the saved session file. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devicesA | List devices on the Raspberry Pi Connect account with online status and whether remote shell is allowed. |
| run_commandA | Run a shell command on a device through its Connect remote shell and return output + exit code. The shell session persists between calls (cwd, env vars). First call to a device takes ~30s to connect. Commands that wait for input (sudo password, editors, confirmations) will time out; use send_keys/read_screen for those. |
| send_keysA | Send raw keystrokes to a device shell (for interactive programs). Supports escapes: "\n" Enter, "\x03" Ctrl-C, "\x04" Ctrl-D, "\t" Tab, "\x1b" Esc, "\x1b[A" Up. Returns the current screen. |
| read_screenA | Read the current terminal screen (plus a little scrollback) of a device shell. |
| close_sessionC | Close the remote shell session to a device. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a distinct role, but run_command and send_keys both push input to a device shell, and the boundary between them is only clarified by description text rather than by the names alone. The descriptions do a good job of steering usage (non-interactive vs interactive), so misselection is unlikely but not impossible.
All five tools follow a clean verb_noun pattern: list_devices, run_command, send_keys, read_screen, close_session. No camelCase mixing or vague standalone verbs.
Five tools is a tight, well-scoped set for remote shell management, and every tool maps to a necessary step in the workflow (discover, execute, interact, inspect, tear down). Nothing feels padded or missing from a count perspective.
The interactive session lifecycle is well covered: discover devices, run commands, send keystrokes, read output, close session. Minor gaps exist—there is no explicit open/connect tool or session listing, and no file transfer—but sessions are opened implicitly and agents can work around this.