mcp-sandbox-server
mcp-sandbox-server
Ein Remote-MCP (Model Context Protocol)-Server, der einem KI-Agenten authentifizierten Shell- und Dateizugriff auf einen Sandbox-Host gewährt — plus einen sicheren, schmalen Pfad, um Deploys auf einem separaten Produktionshost auszulösen, auf den er niemals vollen Zugriff haben sollte.
Was er tut
Kern-MCP-Tools (
run_command,read_file,write_file,list_directory) über Streamable HTTP, damit ein Agent Code direkt auf der Sandbox bauen/testen kann.Ein minimalistischer OAuth-2.1-Autorisierungsserver, komplett von Grund auf entwickelt: dynamische Client-Registrierung (RFC 7591), ein Autorisierungs-Endpunkt, geschützt durch eine einzige Admin-Anmeldung, und ein Token-Endpunkt mit PKCE. Dies existiert, weil MCP-Clients (wie die Connector-Benutzeroberfläche von claude.ai) einen vollständigen OAuth-Ablauf erwarten und nicht einfach einen eingefügten Bearer-Token. Der Server muss das Protokoll also auch für ein Ein-Admin-Setup sprechen.
Ein eingeschränktes Gateway zu einem zweiten, sensiblen Host (
biscuit_status,biscuit_logs,biscuit_deployusw.). Statt sich allein darauf zu verlassen, dass der Tool-Code den Agenten innerhalb der Grenzen hält, liegt die eigentliche Sicherheitsgrenze eine Ebene darunter: Ein dedizierter SSH-Schlüssel wird übercommand="..."inauthorized_keysauf dem Zielhost eingeschränkt. Egal, was der Client über diesen Schlüssel sendet, kann also immer nur ein festes Skript ausgeführt werden. Der Tool-Code erzeugt hier also nur die wörtliche Aktionszeichenkette; er ist nicht die Sicherheitsgrenze — der erzwungene Befehl ist es.
Related MCP server: ssh-mcp
Warum er so gebaut ist
Die interessante Randbedingung war: Derselbe Agent brauchte zwei sehr unterschiedliche Vertrauensstufen — vollwertige, uneingeschränkte Shell auf einer Wegwerf-Sandbox, aber nur eine Handvoll vorab genehmigter, überwiegend lesender Operationen auf einem Host mit Live-Diensten. Statt das Verhalten des Agenten zu sandboxen (Prompting, Tool-Beschreibungen usw.), legt das Design dieses Mal die eigentliche Sicherheitsgrenze auf eine Ebene, die das Betriebssystem erzwingt, egal was der Agent senden beschließt — einen erzwungenen SSH-Befehl und ein Whitelist-Skript mit Pfad-Traversal-Prüfung.
Stack
Node.js, Express, @modelcontextprotocol/sdk, Zod. Keine Datenbank — der Auth-Zustand wird in einer kleinen JSON-Datei neben dem Server gespeichert.
Hinweis
Dies ist eine ausgedünnte, von Kennungen bereinigte Kopie eines Servers, der tatsächlich in der Produktion läuft. Echte Hostnamen, IPs und interne Projektnamen wurden durch Platzhalter ersetzt (your-production-server-ip, project-a/project-b/project-c usw.).
This server cannot be deployed
Maintenance
Related MCP Connectors
- emisarOAuthdev.emisar
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Scoped, audited SSH exec, sessions, and SFTP on your saved servers without exposing credentials
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to securely execute commands on remote hosts via SSH and SFTP, with persistent shells, file transfers, screenshots, and an audit log.5MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to execute SSH commands and transfer files via SFTP through a centralized HTTP gateway with per-client authorization, layered command policies, audit logging, rate limiting, circuit breakers, and connection pooling.8MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to remotely execute shell commands and transfer files on SSH hosts, including jump-host tunneling, background tasks, resumable transfers, and optional approval of destructive commands, while SSH credentials remain in the local process. It runs over stdio or a streamable HTTP daemon and supports auditing, allow/deny lists, and multiple authentication methods.ISC
- AlicenseAqualityAmaintenanceEnables AI agents to inspect and manage remote hosts over SSH with tiered blast-radius containment that classifies and blocks destructive commands, plus forensic post-flight assertions that verify ports, processes, files, and HTTP health. It also provides long-running background task envelopes and atomic SFTP file editing with automatic backups, unified diffs, and one-click rollback.12MIT