Skip to content

Setup tiers

Fermi is adopted in tiers. Each tier is fully useful on its own; each adds one trust decision and one operational burden. The rule from tier to tier: if the current tier can't complete its own success checklist, don't add the next one.

Tier 1 — Worker only (easy)

What you get: shared memory/skills/secrets across every MCP host, task queue, schedules, channels (Telegram/Slack/Discord/WhatsApp via webhooks), cloud browser (Cloudflare Browser Rendering), the execute sandbox.

You grant: a Cloudflare account. Nothing touches your machines.

Ops burden: ~zero. It's a Worker; there is no server to keep alive.

Ceiling: no residential IP, no real browser fingerprint, no local files, no shell. Sites with serious bot protection will block the cloud browser lane.

Tier 2 — + Daemon, without MacOSMCP (easy-moderate)

What you get: tasks queued from any channel ("@bot refactor this repo" from Telegram) get drained on your Mac by a real coding harness (Claude Code) with your local checkouts, plus a warm worker that keeps a harness pre-booted so replies start in seconds. WhatsApp gets a real bridge (the Web socket can't run in a Worker).

You grant: a long-running process on your Mac with harness-level permissions, holding FERMI_URL + FERMI_BEARER_TOKEN in a local .env.

Ops burden: keep poll.sh / warm-worker.mjs running (launchd plists ship in the repo). Restart after reboots if you don't install them.

Without MacOSMCP the daemon is a task drain: the Worker cannot reach into the Mac on its own; the Mac reaches out, claims work, pushes results. Pull-only. This is the correct paranoid default.

Tier 3 — + MacOSMCP (moderate)

What you get: the Worker registers 25 mac_* MCP tools — shell, AppleScript/JXA, files, real stealth Chrome, screenshot + OCR, clipboard, keystrokes, app control. Now any connected host (your phone's Claude.ai included) can drive the Mac live, not just via queued tasks.

You grant: an inbound path to your Mac — a Cloudflare Tunnel to MacOSMCP, authenticated by MACOS_MCP_TOKEN. This inverts Tier 2's pull-only posture: the Worker can now initiate actions on your hardware.

Ops burden: the tunnel + the MCP server process. If the Mac sleeps, tools return {error: "agent_offline"} rather than hanging (the Worker also has a wake path, lib/mac-wake.ts).

Decision to make consciously: mac_shell and friends are risk: high and approval-gated, but the gate is only as good as your host discipline. Read Trust boundaries before this tier.

Tier 4 — + Neutrinos (complex)

What you get: cloud_agent_launch — disposable EC2 boxes that each claim one task, run the harness, satisfy a proof contract, terminate. Parallelism bounded by max_concurrent and a monthly budget. A 100-agent afternoon costs about a dollar of EC2.

You grant: AWS credentials to the Worker (EC2 RunInstances/Terminate in one region), a Claude OAuth token that rides to boxes for inference, a GitHub token if agents push code. See Access you must grant — this tier is the big one.

Ops burden: pin the runner (fleetctl pin-runner) after every box-runner.mjs change; watch cloud_agent_list and the reaper do the rest. Budget is a soft cap checked between polls, not a hard circuit breaker — set monthly_budget_usd accordingly.

Tier 5 — multi-daemon / multi-Mac (complex)

Several Macs each run a daemon against the same Worker, each draining its own queue (queue is free-form: main, office-mac, studio). The broker executor runs on exactly one of them (it owns browser profiles; two executors fighting over one profile lock was a real incident — see the blog). MacOSMCP can only be bound to one tunnel URL at a time today; multi-Mac live control means fronting your own router or running one "hands" Mac and N "drain" Macs.

Honest status: Tier 5 works and is how the reference deployment runs, but it is the least paved tier. Expect to read source.

Choosing

If you…Stop at
Want portable memory and nothing elseTier 1
Want "text the bot, code appears in a PR"Tier 2
Want your phone to drive your Mac's browserTier 3
Want 100 agents on a testbed repo before lunchTier 4
Run a small fleet of Macs alreadyTier 5

MIT licensed. Built for people who want to own their agent.