Every action names its target machine
Browser, command, file — every tool call carries a computerId. Wrong target, machine offline, permission missing: the action fails explicitly. Nothing silently moves to another box.
See the security boundary →
01
Self-hosted · Your data
Person agents serve individuals · Coding agents serve code
MagicFrog deploys on your servers, drives the computers you authorize, and keeps every action on the audit record.
02
Browser, command, file — every tool call carries a computerId. Wrong target, machine offline, permission missing: the action fails explicitly. Nothing silently moves to another box.
See the security boundary →

When an agent reaches an internal system, it travels through a client tunnel you authorize explicitly. Dropped, expired, or revoked, the path closes at once — fail-closed, never back to direct.
Run one enroll and an existing computer, VM, or server becomes an operable node. Unenrolling revokes access only — no shutdown, no reinstall, no touching its data.
03
Agents do the work, you make the calls, the server runs after hours.
Ask for yesterday's numbers. The compiled report is waiting when you open the console.
Diff 01 Explicit target routingWatch the build, catch the error, fix it, open the PR — you review only what matters.
Diff 03 Existing devices, zero reworkA batch of forms filled, checked, and submitted one by one, the path fully traceable.
Diff 02 Internal egressPeople log off; the tasks keep running. By the next morning the results are in place.
Diff 03 Existing devices, zero rework04
Same job, two ways to pay for it.
| Item | Renting an agent platform | Owning MagicFrog |
|---|---|---|
| Monthly billing, per-seat price hikes | RUNSDeploy once, keep using it | |
| Your data lives on someone else's servers | LOCALYour data never leaves your doors | |
| Stop paying, service stops | FREEFree to self-host |
You save more than money. You keep your data.
The client goes on your machine; the server, one command on your host.
Desktop app and CLI, direct download.
A single-file server, curl and done.
Send the deploy skill; it executes by the doc.
Rather not do it yourself?
Give this prompt to your agent; it deploys the server by the doc.
Deploy a MagicFrog server for me. 1. Fetch the deploy skill document at https://www.magicfrog.ai/agent-deploy/ (raw markdown at https://www.magicfrog.ai/agent-deploy.md). 2. Follow it exactly: install the single-file magicfrog-server, export the required environment, start it on port 4096, and finish the admin bootstrap and forced password change. 3. SSH connection details for the target server are provided by me: <fill in: host, port, user, key or password> 4. Stop and report back if any step fails; never substitute an undocumented command or skip a required environment variable. 5. When you finish, report the server URL (default http://localhost:4096) and the admin identifier so I can connect my client with --server <serverUrl>.
05
We detected your platform and you can switch manually. Steps can be revisited in any order.
STEP / 01
Downloads the magicfrog CLI into ~/.magicfrog/bin and updates your PATH.
curl -fsSL https://www.magicfrog.ai/install | bashSTEP / 02
Installs the single-file magicfrog-server binary. Then follow Self-hosting to configure the admin account and run it.
curl -fsSL https://www.magicfrog.ai/install-server | bashSTEP / 03
Pairs an existing computer, VM, or server with your account as an operable node.
magicfrog enroll --server https://<host>:409606
No. MagicFrog is self-hosted software. Model access uses your own API keys, with no hosted tier and no bundled plan.
Yes. Run magicfrog enroll on the machine. After pairing it becomes an operable computer on your account.
Calls to it fail explicitly. Nothing is re-targeted to the local machine or another online machine.
Linux, macOS, and Windows. Shell, file, and browser work are verified against real capability. Desktop control also depends on OS permission, such as Screen Recording on macOS.
On your server, in one SQLite file. Backups are a volume operation, and you hold the field encryption key.
Yes. Anthropic, OpenAI, and any OpenAI-compatible endpoint are BYOK channels. Local inference servers are discovered through built-in presets.
One control plane orchestrates only the host it runs on. That is the LITE boundary, not a setting. Enrolled machines are outside it.
No. Unsigned artifacts are legitimate deliverables and OS prompts are not product failures. Every artifact carries a SHA-256 digest and byte size.
Any Linux VPS or your own server. The server is a single-file executable compiled from bun, with SQLite on disk in the data directory and no external database container.
curl -fsSL https://www.magicfrog.ai/install-server | bash installs the single-file server; the steps are in SELFHOST.md. You can also hand the /agent-deploy skill document to your agent to run it for you.
The client ships unconfigured and connects in three steps: install the server on your host, install the client locally, then paste the server address into the server field on first launch. The download page builds the guide around the address you enter.
Configure the Google client id and secret in the admin backend, with strict redirect URI validation and an email domain allowlist. OAuth is off by default and the routes do not exist until then; the self-hosted account stays the primary login.
Two paths: use caddy as a one-step reverse proxy (a compose profile enables TLS termination automatically), or terminate TLS on your own reverse proxy. Behind a proxy, set MAGICFROG_TRUST_PROXY so the server trusts X-Forwarded-For/Proto.
No. Running them on different machines is the standard setup; the server listens on 0.0.0.0 by default precisely so clients on other devices can reach it. Point the client at the server address.
Server data lives in one SQLite file under the data directory you set. Backing up that directory is the backup; keep the field encryption key with it, because losing it makes the data unrecoverable.
07
Give it a job, a team, an enterprise.
Installers carry checksums, verified on download.