Download
Install the client on the computers you use, the server on your own machine; enter the server address and the guide tailors itself to it — from download to your first digital employee in one afternoon.
The client ships unconfigured. On first launch, paste this address into the server field to connect.
Enter your server address above and this guide rewrites itself for your host.
Install the server on your host
One command installs the single-file magicfrog-server.
curl -fsSL https://www.magicfrog.ai/install-server | bashDownload the client
The client goes on the machine you work from.
curl -fsSL https://www.magicfrog.ai/install | bashEnter the server address on first launch
The client ships unconfigured. Paste this address into the server field on first launch.
Let your agent deploy it
Send the 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>.
Enter the address and the prompt carries it.
Client artifacts, six platforms
Linux, macOS, and Windows in x64 and arm64.
Client artifacts, six platforms
| Platform | Arch | Artifact coordinate |
|---|---|---|
| Linux x64 | x64 | cli-linux-x64-${VERSION}.tgz |
| Linux arm64 | arm64 | cli-linux-arm64-${VERSION}.tgz |
| macOS x64 | x64 | cli-darwin-x64-${VERSION}.tgz |
| macOS arm64 | arm64 | cli-darwin-arm64-${VERSION}.tgz |
| Windows x64 | x64 | cli-windows-x64-${VERSION}.tgz |
| Windows arm64 | arm64 | cli-windows-arm64-${VERSION}.tgz |
| Version metadata | https://${download_base_url}/latest.json |
Desktop app artifacts
Windows installer and Linux packages, via double-click or package manager.
| Platform | Arch | Artifact coordinate |
|---|---|---|
| Windows x64 | x64 | magicfrog-desktop-win-x64.exe |
| Linux x64 (AppImage) | x64 | magicfrog-desktop-linux-x86_64.AppImage |
| Linux x64 (deb) | x64 | magicfrog-desktop-linux-amd64.deb |
| Linux x64 (rpm) | x64 | magicfrog-desktop-linux-x86_64.rpm |
| Version metadata | https://${download_base_url}/latest-desktop.json |
Pick your platform coordinate; object keys live in the version metadata.
Pre-deployment checklist
Five minutes here saves half the pitfalls.
- 1
One Linux-capable VPS or your own server — single-file server, no containers needed
- 2
Generate the field-encryption key: openssl rand -hex 32, backed up with the data directory
- 3
All four required environment variables ready: connection password, admin identifier, initial password, field key
- 4
Every business endpoint refuses until the first-launch password change completes — finish it before distributing clients
- 5
Unsigned artifacts are legitimate delivery; verify SHA-256 and byte size after download
The five checklist items map to the five most common install failures. Run through them and a first deployment usually succeeds on the first try.
Download and install, four common questions
Why are the installers unsigned?
Unsigned artifacts are legitimate delivery and the OS prompt is not a product fault; every artifact carries a SHA-256 digest and byte size — verify after download.
How do I run the install command on Windows?
Run it inside Git Bash (MSYS); the installer detects MSYS/Cygwin shells. Client and server share the same script.
Must the server and client be on the same machine?
No. Cross-machine is the standard scenario: the server listens on 0.0.0.0 by default, and the client connects by entering the server address.
How do upgrades work?
Object keys and versions live in the version metadata (latest.json); your data directory and SQLite file carry over untouched — back up first, then upgrade.