Home / Docs / Quick Start

Quick Start

Get Servonaut installed and managing your first server in under 5 minutes.

Step 1 — Install Servonaut

Choose the installation method that works best for your system.

Option A: pipx (recommended)

pipx installs Servonaut into its own isolated environment, keeping your system Python clean. This is the recommended method.

bash
# Install Servonaut $ pipx install servonaut # Optional: add AI analysis and MCP server support $ pipx inject servonaut httpx mcp
Don't have pipx?

Install it with pip install --user pipx then run pipx ensurepath. Or use brew install pipx on macOS.

Option B: Linux / macOS auto-installer

One-line installer that handles everything including Python and dependency setup.

bash
$ curl -sSL https://raw.githubusercontent.com/zb-ss/ec2-ssh/master/install.sh | bash
Security note

Always review install scripts before piping to bash. Read the install.sh source first if you prefer.

Option C: Windows (PowerShell)

PowerShell
PS> irm https://raw.githubusercontent.com/zb-ss/ec2-ssh/master/install.ps1 | iex

Requires Python 3.10+ and Windows 10 / Windows Server 2019 or later.

Step 2 — First run

Launch the TUI by running servonaut in your terminal.

bash
$ servonaut

On the very first launch, Servonaut will:

  1. Create ~/.servonaut/config.json with default settings.
  2. Auto-discover AWS EC2 instances if the AWS CLI is configured and credentials are available.
  3. Open the interactive TUI showing your server list.
Tip

If you don't have AWS configured, that's fine. You can add custom servers manually in the next step — Servonaut works with any Linux server.

Step 3 — Add custom servers

Servonaut supports any server from any provider — AWS EC2, DigitalOcean, Hetzner, bare metal, VMs, etc. You can add servers through the TUI menu or by editing the config file directly.

Via config.json

Open ~/.servonaut/config.json and add a custom_servers array:

~/.servonaut/config.json
{ "custom_servers": [ { "name": "prod-web-1", "host": "192.168.1.100", "user": "deploy", "key_file": "~/.ssh/id_ed25519", "tags": { "env": "production", "role": "web" } }, { "name": "staging-db", "host": "staging.example.com", "user": "ubuntu", "key_file": "~/.ssh/staging_key", "tags": { "env": "staging", "role": "database" } } ] }
FieldRequiredDescription
nameYesDisplay name shown in the TUI
hostYesIP address or hostname
userYesSSH username
key_fileNoPath to SSH private key (defaults to ~/.ssh/id_rsa)
portNoSSH port (default: 22)
tagsNoKey/value pairs for filtering and grouping

Step 4 — Basic operations

Once you have servers listed in the TUI, use these keyboard shortcuts to interact with them. Select a server first with the arrow keys or mouse click.

KeyActionNotes
S SSH into server Opens an SSH session in your terminal
T SCP file transfer Opens the SCP overlay for uploading / downloading files
L View logs Opens the log viewer for the selected server
C CloudTrail explorer Browse AWS CloudTrail events (AWS servers only)
A AI analysis Analyze selected logs with your configured AI provider
/ Search / filter Filter servers by name or tag
? Help Show all keyboard shortcuts overlay
Q Quit Exit Servonaut

Step 5 — Enable AI analysis

Servonaut can analyze your server logs using OpenAI, Anthropic (Claude), or a local Ollama instance. Configure your preferred provider in config.json:

Using Anthropic (Claude)

~/.servonaut/config.json
{ "ai_provider": "anthropic", "ai_api_key": "$ANTHROPIC_API_KEY" }

Using OpenAI

~/.servonaut/config.json
{ "ai_provider": "openai", "ai_api_key": "$OPENAI_API_KEY", "ai_model": "gpt-4o" }

Using Ollama (local, free)

~/.servonaut/config.json
{ "ai_provider": "ollama", "ai_model": "llama3.2", "ollama_base_url": "http://localhost:11434" }
Secrets syntax

API key values support $ENV_VAR to read from environment variables, and file:/path/to/secret to read from a file. Never hard-code credentials in config.json.

Step 6 — Set up the MCP server

The MCP (Model Context Protocol) server lets AI agents like Claude Code manage your infrastructure via natural language. Servonaut provides a one-command installer.

bash
# Auto-install the MCP server into Claude Code $ servonaut --mcp-install ✓ MCP server registered in Claude Code config Name: servonaut Transport: stdio Guard: standard

After running this command, Claude Code will be able to use Servonaut tools such as list_instances, run_command, get_logs, and more. See the MCP Server documentation for the full tool list and guard level configuration.

MCP dependencies

The MCP server requires the mcp Python package. Install it with: pipx inject servonaut httpx mcp

What's next

Documentation