Raspberry Pi SSH MCP Controller
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RPI_MCP_ENV_FILE | No | Path to an alternate configuration file. Overrides the default platform-specific per-user configuration directory. | |
| RPI_MCP_RPI3_HOST | Yes | Hostname or IP address of the Raspberry Pi 3B+. | |
| RPI_MCP_RPI5_HOST | Yes | Hostname or IP address of the Raspberry Pi 5. | |
| RPI_MCP_RPI3_SSH_PORT | Yes | SSH port for the Raspberry Pi 3B+. | |
| RPI_MCP_RPI3_SSH_USER | Yes | SSH username for the Raspberry Pi 3B+. | |
| RPI_MCP_RPI5_SSH_PORT | Yes | SSH port for the Raspberry Pi 5. | |
| RPI_MCP_RPI5_SSH_USER | Yes | SSH username for the Raspberry Pi 5. | |
| RPI_MCP_ENABLE_COMMANDS | No | Set to '1' to enable the control_service and run_command tools. Default is disabled. | |
| RPI_MCP_RPI3_SSH_KEY_PATH | No | Path to the SSH private key for the Raspberry Pi 3B+. Required only when not using the default SSH agent/key lookup. | |
| RPI_MCP_RPI5_SSH_KEY_PATH | No | Path to the SSH private key for the Raspberry Pi 5. Required only when not using the default SSH agent/key lookup. | |
| RPI_MCP_ENABLE_POWER_ACTIONS | No | Set to '1' to enable the power_action tool. Default is disabled. |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_raspberry_pisA | List the named Raspberry Pis available to this MCP server. |
| get_raspberry_pi_statusA | Read hostname, kernel, uptime, memory, disk, and CPU temperature from a Pi. |
| read_text_fileA | Read up to one MiB of a text file from a named Pi without modifying it. |
| get_service_statusA | Get detailed systemd status for one service on a Pi. |
| get_service_logsA | Read the newest journal entries for one systemd service on a Pi. |
| control_serviceB | Start, stop, or restart a systemd service after command control is explicitly enabled. |
| run_commandA | Run an arbitrary remote command only after the operator enables command control. |
| power_actionA | Reboot or shut down a Pi only after a separate power-control opt-in and confirmation. |
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 8 tools
Each tool has a distinct purpose: listing Pis, reading status, reading files, service status/logs, controlling services, running commands, and power actions. No overlap or ambiguity.
Most tools follow a verb_noun pattern (list_, get_, read_, control_, run_), but 'power_action' is a noun phrase rather than a verb-based name, creating a minor inconsistency.
With 8 tools, the set is well-scoped for a Raspberry Pi SSH controller—covering discovery, status, file access, service management, command execution, and power control without being bloated.
The toolset covers the core operations expected of a remote Pi controller (read, inspect, control, run). Minor gaps exist, such as no file write/upload or multi-service listing, but they are not essential for the stated purpose.