RaspberryPiOS-MCP
Verified Safeby grammy-jiang
Overview
Manages and observes Raspberry Pi OS devices, enabling AI assistants to control hardware, monitor system metrics, and manage services securely through the Model Context Protocol (MCP).
Installation
No command providedEnvironment Variables
- MCP_RASPI_SECURITY_MODE
- MCP_RASPI_SECURITY_LOCAL_AUTH_STATIC_TOKEN (if SECURITY_MODE is 'local')
- MCP_RASPI_SECURITY_CLOUDFLARE_AUTH_TEAM_DOMAIN (if SECURITY_MODE is 'cloudflare')
- MCP_RASPI_SECURITY_CLOUDFLARE_AUTH_AUD (if SECURITY_MODE is 'cloudflare')
- MCP_RASPI_SECURITY_CLOUDFLARE_AUTH_JWKS_URL (if SECURITY_MODE is 'cloudflare')
- MCP_RASPI_GPIO_ALLOWED_PINS
- MCP_RASPI_CAMERA_MEDIA_ROOT
Security Notes
The project demonstrates a high level of security awareness, implementing multiple layers of defense. It leverages Cloudflare Tunnel for secure internet exposure and OAuth for authentication. Inter-process communication (IPC) between the non-privileged server and the privileged agent uses a Unix domain socket, limiting attack surface. Role-Based Access Control (RBAC) is enforced for all tool calls, with granular permissions for 'viewer', 'operator', and 'admin' roles. Input validation and sanitization are consistently applied, particularly for parameters passed to underlying shell commands (e.g., systemctl, shutdown) and for package update commands (uv/pip), explicitly checking for dangerous characters and path traversal attempts. Hardware access (GPIO, I2C, Camera) is protected by whitelists and validation. Audit logging captures critical operations. While any system interacting with privileged commands carries inherent risk, the design includes robust mitigations.
Similar Servers
mcp-mineru
Implements or interacts with the Minecraft Protocol, likely for building custom Minecraft servers or client utilities.
mcp-python-demo
Provides an MCP (Micro-Agent Communication Protocol) server exposing tools for basic arithmetic and fetching real-time, formatted weather information from external APIs.
mcp-python
A Python-based server or library designed to interface with and control a Minecraft instance, likely for scripting automation or game modification.
strudel-mcp-server
Provides an MCP (Multi-Modal Chat Protocol) interface for semantic search of Strudel.cc documentation and songs using vector embeddings.