Shuttle¶
Secure SSH gateway for AI assistants
Shuttle lets AI assistants (Claude Code, Cursor, etc.) securely execute commands on your remote SSH servers --- with connection pooling, session isolation, command safety rules, and a web audit panel.
Features¶
- 4-Level Command Security --- Block dangerous commands, require confirmation for risky ones, warn on installs, allow the rest
- Connection Pooling --- Reuse SSH connections across commands, no repeated handshakes
- Session Isolation --- Each AI conversation gets its own working directory context
- Web Audit Panel --- See every command the AI ran, per node, with full stdout/stderr
- Per-Node Rules --- Different security policies for prod vs dev servers
- Jump Host Support --- Connect through bastion/jump servers
Quick Start¶
1. Install¶
2. Add your first node¶
3. Connect to your AI assistant¶
See MCP Setup for detailed instructions for Claude Code, Cursor, and both transport modes.
MCP Tools¶
AI assistants get these tools automatically:
| Tool | Description |
|---|---|
ssh_execute |
Run a command on a remote node |
ssh_upload |
Upload a file via SFTP |
ssh_download |
Download a file via SFTP |
ssh_list_nodes |
List all configured nodes |
ssh_add_node |
Add a new SSH node |
ssh_remove_node |
Remove a node |
ssh_session_start |
Start a stateful session (preserves working directory) |
ssh_session_end |
End a session |
ssh_session_list |
List active sessions |
Architecture¶
Developer <-> AI Assistant <-> Shuttle (MCP) <-> SSH <-> Remote Servers
|
+--------------------+
| Core Engine |
| - ConnectionPool |
| - SessionManager |
| - CommandGuard |
| - SQLAlchemy ORM |
+--------------------+
Service mode runs a single ASGI app serving both MCP (at /mcp/) and the Web UI (at /) on the same port.
Documentation¶
- Configuration --- Environment variables, database URLs, pool parameters
- Security Rules --- 4-level rule system, regex patterns, per-node overrides
- MCP Setup --- Claude Code, Cursor, stdio and HTTP modes
- Web Panel --- Overview, activity logs, rule management, settings