HostAtlas · Solutions · For developers
Solutions · For developers

Every button is also
a one-line command.

The CLI is not a wrapper bolted onto a dashboard. The same backend that serves the UI also serves the CLI and the MCP server — one source of truth, three surfaces over it. Whatever you script from the terminal today is the same action you click in the UI tomorrow.

~/work/api-prod · zsh
$hostatlas hosts list --tag prod --status warn
● 2 hosts · keywest, db-prod-01
$hostatlas why "api spike at 14:32"
● postgres conn-pool saturated after 14:08 deploy
$hostatlas alerts ack 4827
● acknowledged · audit logged
40+
CLI commands. Tab-completes against your live fleet. Pipes like jq, completes like git.
22+
MCP tools. Read-mostly. Per-server toggle stays web-auth-only so a leaked AI token can’t un-hide a host.
scoped API keys
Manage keys from settings. Scopes for CLI and MCP, per-server visibility toggle, key never re-shown after creation.
Apache 2.0
The agent and its plugins are open-source. The platform consumes them; you can run the agent without us.
— What gets in the way of writing code

Four annoyances every developer with prod knows.

The dashboard isn’t where the work happens. It’s where the interruptions happen.

01

Dashboard-first tools impose their workflow on yours.

The platform decides what’s easy. You learn its left-rail order, its keyboard quirks, its modal hierarchy. CLI-first inverts that — you script the thing you do twice, and the UI is one of several ways to trigger it.

02

Context-switching drains the day.

"Open the UI to ack one alert" pulls you out of the editor for thirty seconds; the editor cache is cold for the next ten minutes. From the terminal it’s a single keystroke — and the cursor never left.

03

AI assistants don’t get good infra context.

"Why did the API spike?" is a great question for an AI — if the AI can read your metrics, logs, deploys and incidents. Most platforms make this a custom integration. MCP makes it the wire format.

04

Vendor SDKs date faster than the API.

An SDK in your language feels nice on day one. By month six it’s missing the three endpoints you actually want, and the bug-fix PR has been open for a quarter. Better to keep a CLI + MCP that the platform team uses daily, and a future generate-your-own client off an OpenAPI spec — than to commit to half-a-dozen SDKs we can’t keep current.

— Developer surfaces, ranked by daily use

Six ways to do the same thing.

Same auth, same audit log, same fleet. Pick the surface that matches the moment — the verb is identical.

01 · Daily

CLI — hostatlas

Deep page →

40+ verbs in one binary. hostatlas hosts list pipes into jq; hostatlas ssh keywest picks the right user and key; hostatlas logs @prod --grep '5\d\d ' -f tails multi-host with server-side filter.

  • Tab-completion is fleet-aware — hosts, tags, alert IDs all complete against real data.
  • Natural-language mode: quoted question becomes a resolved command, dry-run first time you use it.
  • Install: brew install hostatlas-app/hostatlas/cli, apt install hostatlas-cli, or curl-pipe.
02 · For your AI

MCP Server

MCP →

22+ MCP tools across hosts, alerts, monitors, backups, recipes — read-mostly by default, writes gated by explicit scope. Claude, Cursor, Windsurf, ChatGPT and the small custom agents you build yourself all speak the same wire format.

Per-server hide-from-AI toggle stays web-auth-only so a leaked AI token can’t reveal a hidden host. Every tool call lands in the same audit log as UI / CLI / API.

03 · Cron + jobs

Heartbeat endpoints

Heartbeats →

Each cron job, backup script or scheduled task gets a slug ping URL. curl https://hb.hostatlas.app/<slug> from your job; the platform alerts when the ping doesn’t come. Late and dead are different events — late is a warning, dead is a page. No SDK, no API key required — the slug is the auth.

Start / success / fail variants for jobs that want to report duration or capture error context.

04 · Out of HostAtlas

Webhooks

Webhooks →

Alerts, incidents, deploys, agent state changes, backup runs — HMAC-SHA256 signed JSON to your endpoint. Retried with backoff + jitter for up to 24 hours, then DLQ. Replay any delivery from the webhook log; useful when you change your handler.

Generic enough to point at your CI, your bug tracker, your billing pipeline. No "Linear integration" / "Jira integration" stack pile — one webhook does it.

05 · Keyboard

Command Palette (⌘K)

Command palette →

Inside the UI when you do need it. Search hosts, alerts, settings; jump or act without a mouse. Fuzzy-matched, recents-pinned. Ack, snooze, run a recipe, open a maintenance window — same actions as the CLI, three keystrokes away.

06 · Standalone

Open-source tools

All tools →

Four small MIT-licensed tools we built for ourselves, released without an account requirement:

  • Sentinel — SSH attack alerter. auth.log tail with fail2ban awareness.
  • Portwatch — Detects listening-port changes. Daily diff + signed snapshot.
  • Atlasmap — Topology discovery, ASCII or interactive HTML output.
  • Dockertop — Beautiful Docker stats TUI. Sparklines, exec, logs.
— A normal day, narrated

Ops without leaving the editor.

Same workflow as before HostAtlas. The shape of your day stays the same. The number of context switches doesn’t.

09:14 cliMorning sync. hostatlas hosts list --status warn -o table in your scrollback. Three warn, no crit.
10:02 ciYou ship a PR. Your CI posts the deploy event via webhook. HostAtlas opens a deploy marker on the timeline; alert rules respect it.
11:47 aiCursor asks the MCP server for context on an open incident, ranks plausible causes, posts the answer in your chat thread.
14:32 spikeAPI latency p95 climbs. Smart Alert fires, bell pings. You ack from ⌘K without leaving the editor.
14:33 clihostatlas why "api p95 spike since 14:30" in a sidebar terminal. Answer cites the deploy from 14:08 + a slow query from pg_stat_statements.
14:36 fixhostatlas recipe rollback-api --version 1.42.3. Three minutes from spike to recovery. Recipe run logged + signed.
16:00 auditEnd-of-day glance at the audit log via hostatlas audit --since 09:00. Everything you did has a receipt.
— vs. the dashboard-first model

The seam between “clickable” and “scriptable” doesn’t exist here.

Most platforms ship a UI first and bolt an API on later. The API never quite catches up. We did it the other way around.

HostAtlas
Dashboard-first PaaS
DIY (Prometheus + …)
CLI coverage of UI actions
100 % — same endpoints
Subset, lags the UI
Whatever you scripted
AI assistant integration
MCP, native
Custom integration per vendor
Build it yourself
Audit log of automated actions
Signed, chain-linked
Sometimes
Build it yourself
Agent licence
Apache 2.0
Vendor-proprietary
Mixed FOSS
Lock-in
Open-source agent + CLI runs without us
Vendor-specific config
Time-investment lock-in
— From here

Three steps, fifteen minutes.

01

Install the CLI.

Brew, apt, scoop, or a curl-pipe. Tab-completion installs with the binary. hostatlas login opens a browser, stores the token in your keyring.

CLI reference →
02

Wire one webhook.

Pick one event — alert fired, deploy completed, backup finished — point it at your endpoint. HMAC-signed, retried with jitter, replayable from the log. Bridges your stack to the platform without a custom integration.

Webhooks →
03

Point your AI assistant at MCP.

One config line in Claude / Cursor / Windsurf. The assistant gets read-mostly access to your fleet immediately, write actions only after you opt in.

MCP server →
— FAQ

Honest answers to dev questions.

Is there a TypeScript / Python / Go SDK or a public REST API?+
Not yet, and we’re honest about that. Today’s API keys carry CLI + MCP scopes — they authenticate those surfaces, not a general-purpose “build your own integration” HTTP API. The plan is to lock the API surface, publish an OpenAPI 3.1 spec, then ship docs + roadmap a public REST tier. We’d rather wait than ship a half-stable promise.
Can my AI agent take destructive actions through MCP?+
Only the actions you explicitly grant. Read tools are the default; write tools require an opt-in scope per tenant. Per-server hide-from-AI toggle is web-auth-only — a leaked AI token cannot un-hide a host. Every MCP tool call lands in the same audit log as everything else.
Can I self-host the platform?+
Self-hosted platform is an Enterprise option, useful for air-gapped or sovereign deployments. The agent is always self-hosted — it runs on your hosts and dials out to wherever the platform lives, ours or yours.
Does the CLI work without the platform?+
The CLI talks to the platform — without it there’s nothing to ask. The Server CLI (a small companion that ships with the agent) works against the local agent and is operable even when the platform is unreachable.
What about Terraform / Pulumi?+
Planned, not shipped yet. A first-class provider depends on the same public-API work as the SDK roadmap. For now: bake host enrolment into your existing provisioning (Ansible / cloud-init / Pulumi shell-exec) using hostatlas from the box. If you have a strong opinion on the provider shape, tell us early.
— The platform

59 features across 6 areas.

Every area is built on the same agent and the same catalogue. Follow any of them to see what it covers.

  1. Monitoring 16
  2. Security & Backup 12
  3. Discovery & Mapping 9
  4. Alerting & Incidents 8
  5. AI & Automation 7
  6. For Developers 7

Try it from your terminal.

Free tier covers a single host forever. The CLI is the fastest path in.

Get early access CLI reference