SetupsMany machines

Every machine you own, one team

Put Swarm on as many machines as you like: your PC, a VPS, a VM per client. Your AI reaches all of them through one connection, chooses where each job runs and keeps an eye on every one.

Tailscale: private by default

Swarm listens only on the machine itself. With Tailscale, your machines and devices join your own private network: nothing goes on the public internet, nothing listens on a public port.

Read

Status, sessions, usage, models, projects and workers.

Write

Also start work and stop runs.

Your Tailscale policy grants each device one of the two. Approving tool calls, and changing workers, limits or models, are never granted this way. Your AI holds no key: Tailscale tells Swarm which device is asking. Machines you tag as protected are read-only to AI devices.

One connection for every machine

The fleet MCP finds every Swarm machine on your tailnet and gives your AI all of their tools, each with a machine to run on. So it can do what you mean:

Say this to your AI

Run the big refactor on the GPU box, and keep the client work on their own VM.

  • swarm_fleet_status
  • swarm_give_job · gpu-box
  • swarm_give_job · client-acme

Fleet monitoring

MachineStatusRunningToday
home-pcok2 running$1.20
vps-berlinok1 running$0.85
client-acmeattentionwaits on you$3.10
gpu-boxofflineunreachable—
  • Every machine in one call: reachable or not, what this device may do, running jobs, today's runs and spend against each machine's limits.
  • Each machine's own check: ok, attention or degraded, with the reasons.
  • Alerts from every machine: each one's signals can go to your phone (Alerts).
  • A read-only monitor key per machine for a dashboard that should only watch.
Say this to your AI

How are all my machines doing?

  • swarm_fleet_status

3 of 4 ok. client-acme has a coder waiting on you, gpu-box hasn't answered since 06:10. $5.15 spent today.

One model table

Every machine runs the same models for the same roles, set once for the fleet. A machine differs only when you ask for an exception, and your AI can show you any machine that drifted:

Rolehome-pcvps-berlinclient-acme
coderin syncin syncoverride
designerin syncdriftin sync
finderin syncin syncin sync

Everything in one bucket

home-pcvps-berlinclient-acme
your bucketmachines/<machine>/results/…

Optionally, each machine exports its activity and finished jobs (status, report, cost, commits and media) to one Google Cloud Storage or S3 bucket you choose. Objects are written once and never changed, and any AI or program can read every machine's work from one place.

From the web preview

claude.ai and ChatGPT on the web can reach your machines through a relay in your own Cloudflare account; the machines dial out to it. See Connect your AI.

For your AI: ai/fleet.md.