Free · MIT · zero rizz required

Stop tab-maxxing. Start OpsMaxxing.

Terminal, files, databases, tunnels and secrets in one window. One workspace per client, one vault for every key. No more “which laptop has the prod key” energy.

No account. No telemetry. No paid tier. No cap.

The OpsMaxx fleet monitor: fifteen servers grouped by role, each with live CPU, memory, disk and network
Fleet monitor · 15 servers, one glance
5
database engines, zero extra apps
21
fleet operations. Every write ships switched off.
0
credentials your AI agent ever sees. Literally zero.

One client at a time. Prod stays out of reach.

Every server, database, tunnel, vault entry and agent session belongs to a workspace. Switch, and the whole app switches with you — so a production box is not one keystroke away while you are working on staging.

  • A password on a workspace locks it, not just hides it
  • Agents are scoped to a workspace and cannot see past it
  • Each one backs up and restores as a single encrypted file
Workspace manager listing three client workspaces, one of them locked with a passwordFleet monitor: fifteen servers grouped into databases and production, with CPU, memory, disk and network for eachA terminal session on api-01 running uptime, docker ps and systemctl status, with a live monitor strip belowThe SFTP file browser on api-01 listing a home directory with sizes, dates and permissionsA PostgreSQL connection with its tables listed and a query result grid of recent ordersDocker containers on a server grouped by compose project, showing running and exited containersKubernetes pods across namespaces, with one pod in CrashLoopBackOff and its restart count highlightedSecurity posture table for fifteen servers, flagging two with weak sshd settings and one killing processes for memoryThe vault unlocked, showing a login entry with its URL, username and a hidden passwordThe HTTP client showing a GET request and its pretty-printed JSON response with status and timing

The consolidation arc

Your whole ops stack, minus the alt-tab.

The four windows you keep open, the four you keep putting off, and one encrypted credential store under all of them. Nothing gets pasted between apps.

Workspaces: no more prod-by-accident

Servers, databases, tunnels, vault entries and agent sessions all belong to a workspace. Give one a password and it is locked rather than hidden — and an AI agent scoped to it cannot see a thing outside it.

  • per client or environment
  • password-locked
  • agent scope boundary
  • one encrypted backup file

Terminal and files, one login

A GPU-rendered xterm with split panes and search, and an SFTP browser riding the same session. Two-factor is a code you type once, not once per tab.

  • split panes
  • copy-on-select
  • unlimited jump hosts
  • sftp edit in place

Five database engines, built in

Query and shell into each one, through a bastion when that is the only route.

  • postgres
  • mysql
  • sql server
  • mongodb
  • redis

A vault your agent can’t open

AES-256-GCM store for logins, API keys and free-form pairs. No MCP tool can read it.

  • os keychain
  • per-workspace
  • portable backup

Tunnels, VPN and a traffic snitch

Local and remote forwards, a SOCKS5 proxy, userspace WireGuard that needs no administrator rights, and a proxy that shows the HTTPS a machine is really making.

  • wireguard
  • openvpn
  • frp
  • socks5
  • traffic inspector

Every shortcut rebindable. Keyboard maxxers, rejoice.

Per context, with conflict detection and export or import.

  • command palette
  • ctrl k

Fleet operations

Maxx the fleet, not one box at a time.

Twenty-odd operations across every server you have added. The four that write — patching, a command run everywhere, jobs and revoking a key — stay off until you flip them on, and a new one added in a later version never flips itself.

Know

  • Inventory

    OS, version, what is pending, last seen

  • Configuration drift

    what changed since you last looked

  • Capacity trends

    where disk and memory are heading

  • Security posture

    ssh config, sudo rules, ports, firewall

  • Access and keys

    which key opens which server, and whose

  • Fleet search

    search what is collected, touching nothing

Change

  • Patching in waves

    stops at the first server that comes back unhealthy

  • Run one command everywhere

    named in a confirmation, survives the app closing

  • Cron

    read the crontabs and timers; changing one is a job, planned then approved

  • Rules

    when this fires, run that — with the same approval

  • Backups

    scheduled dumps, restore verified by restoring

  • Change log

    who approved what, when, and what it did

Operate

  • Docker

    honest per-item sizes, reclaim by id, never a blind prune

  • Compose

    services, state, and drift from the file on disk

  • Kubernetes

    workloads, cordon, drain and exec

  • Databases, operated

    replication lag, slow queries, table sizes

  • Log tailing

    follow one file across many servers, in one pane

  • Runbooks

    what was run the last three times this alert fired

Drain refuses seven ways, and treats a read that did not answer as a refusal in itself. Paranoid? On purpose.

Pick your character

Four builds. Same app.

The 3am pager holder

An alert fires on CPU, memory or a dead systemd unit. The fleet monitor shows which server, the runbook shows what was run the last three times, and the terminal is one click away.

  • Alerts
  • Fleet monitor
  • Runbooks

The five-client consultant

One workspace per client, each optionally password-protected, each with its own servers and secrets. The whole lot exports to a single passphrase-protected file that opens on your other machine.

  • Workspaces
  • Vault
  • Encrypted backup

The patch-day grinder

Patch in waves that stop on the first unhealthy server, watch drift since last week, and read the security posture as it actually is on the box rather than as documented.

  • Patching
  • Drift
  • Security posture

The agent wrangler

Give Claude Code a read-only group on staging and an ASK group on production. It works on its own until something matters, then it waits for you.

  • Access groups
  • Approvals
  • Audit log

MCP

Hand your agent a name, not a key.

An agent asks for a server by the friendly name you gave it. OpsMaxx looks the real connection up in your OS keychain, checks the access group, runs the command over normal SSH, and strips secrets out of the output before the agent sees any of it.

One request, start to receipt

  1. Agent asks

    execute_command on "Nginx Prod"

  2. Policy check

    access group says ALLOW, ASK or DENY

  3. You approve

    ASK waits in Approvals; the agent waits too

  4. OpsMaxx connects

    real host and key read from the OS keychain

  5. Output redacted

    secrets and secret-shaped strings stripped

  6. Written down

    agent, server, action and result in the audit log

28 tools an agent can call

Servers

  • list_servers
  • get_server_details
  • get_host_facts
  • get_server_metrics
  • execute_command
  • add_server

Files

  • list_files
  • read_file
  • write_file

Containers

  • list_containers
  • container_logs
  • container_action
  • list_images
  • compose_status

Databases

  • list_databases
  • query_database

Network

  • list_tunnels
  • set_tunnel
  • list_vpns
  • set_vpn

Fleet

  • fleet_inventory
  • fleet_drift
  • get_config_drift
  • get_capacity_trends
  • list_alerts
  • backup_status

Each one is governed separately — ALLOW, ASK or DENY — and file paths can be overridden on top of that.

What an agent never receives

  • SSH passwords
  • Private keys or passphrases
  • Database credentials
  • Hostnames, IPs and usernames
  • Anything in the vault
  • An interactive root shell

The bridge listens on 127.0.0.1. Escalation shells — sudo -i, su, sudo bash — are refused for every group, with no setting that turns them back on.

Connect Claude Code:

opsmaxx claude

ALLOW, ASK or DENY. Per capability, not per vibe.

Access groups are not a single yes/no switch. Every capability is ALLOW, ASK or DENY, and you can override individual file paths on top of that.

  • Five groups ship with the app; add as many as you want
  • ASK holds the request in Approvals until you answer
  • Escalation shells are refused for every group
Access group editor with ALLOW, ASK and DENY set per capabilityAn approval dialog: Claude Code asking to run sudo systemctl restart nginx on api-01, rated high riskAudit log listing agent actions with approval state and result

Getting started

Download. Open. You’re OpsMaxxing.

Three steps, and only Windows still needs the middle one.

01

Download it

No account, no licence key, no “contact sales”.

Download for macOS

OpsMaxx-0.58.1-arm64.dmg · 160 MB

Apple Silicon, M1 and later

OpsMaxx-0.58.1-x64.dmgIntel Macs · 169 MBAll files and checksums

Or use a package manager

brew install --cask opsmaxx/tap/opsmaxx

Run brew trust opsmaxx/tap first — Homebrew will not load a third-party tap until you do.

02

Get past the Windows warning

Only Windows still warns, and unsigned is not the same as unsafe.

No warning on macOS.

Since 0.30.1 the macOS build is signed with an Apple Developer ID, notarized by Apple and has the ticket stapled into the app, so it opens normally — offline included. Nothing to click through and nothing to run.

03

Add your servers

Or let your agent do the data entry.

Import what you already have

OpsMaxx reads ~/.ssh/config, ProxyJump entries included, so the servers you already reach by name are there on first run.

Connect Claude Code

AI & MCP → Overview → Connect Claude Code copies a ready command with the token already in it. One paste in a terminal and the bridge is live.

opsmaxx claude

There is a CLI too, though the macOS installer does not put opsmaxx on your PATH — call the launcher inside the app bundle, or use the button above.

Every installer is scanned before release, and every file's SHA-256 is published in the release notes.

Optional: check the hash against the release page

shasum -a 256 OpsMaxx-0.58.1-arm64.dmg

Before you ask

Why is Windows side-eyeing the download?

macOS does not warn any more: since 0.30.1 that build is signed with an Apple Developer ID and notarized by Apple, with the ticket stapled in, so it opens normally even offline. Windows still warns, because that build carries no signature — a certificate there is $200–$400 a year. The warning means Windows cannot confirm who published the app, not that the file is unsafe. Every installer is scanned with ClamAV, the Windows one with Defender, and the .exe and .dmg with VirusTotal's 70+ engines — and every SHA-256 is in the release notes for you to check.

Free free, or free-until-the-Series-A free?

MIT licensed, with no paid tier, no session limit and no subscription. The whole source is public, so a future paywall is something you could fork your way around.

Is it quietly phoning home?

No account, no telemetry, no analytics. Every connection the app makes is one you configured, apart from the update check you can switch off.

Can my agent go rogue?

Only within the access group you set. Escalation shells — sudo -i, su, sudo bash — are refused for every group with no setting that reverses it, anything set to ASK waits for your approval, and every action lands in the audit log. Individual privileged reads do use sudo -n, which you can turn off.

Do I have to nuke my current setup?

No. OpsMaxx imports ~/.ssh/config including ProxyJump entries, and runs perfectly happily beside whatever you use today.

Where are my passwords and keys stored?

Server credentials go in your operating system keychain, read only by the main process. The vault is separate: AES-256-GCM under a master password that is never stored, derived with scrypt. Neither leaves your machine, and no MCP tool can read the vault at all.

Close the tabs. Start OpsMaxxing.

One download, three platforms, no account to create.