LumaryLabsLLC/muxin
All your machines, one app. For you and your AI agents: agent sessions, desktops, files, logs and GitHub across your Macs, Linux and Windows machines, with an MCP server.
What is Muxin?
Muxin is a native desktop application that lets you manage a fleet of your own computers –‑ from a Mac, Linux box, or Windows PC –‑ and let AI‑powered agents (Claude Code, Codex, Gemini CLI, etc.) use those machines as workspaces. It provides a graphical hub for:
- SSH‑based machine inventory – discover, add, and monitor any machine you can reach via
sshor Tailscale. - Live desktop sharing – view and interact with a remote machine’s screen inside the app.
- File‑clipboard sync – copy files/folders between machines, even across OSes.
- Self‑hosted GitHub runner management – install, start, stop, and monitor GitHub Actions runners on any machine.
- Agent sessions – launch a terminal that runs an LLM‑backed “agent” (Claude Code, Codex, Gemini, etc.) on any machine; the session persists after you close the UI.
- Workspaces – persistent folders (optionally git checkouts) on a machine that agents can edit and run code in.
- Health monitoring – CPU, memory, disk, uptime, and plain‑language status when a machine is offline.
All of these capabilities are also exposed via a Model Context Protocol (MCP) server (muxin mcp), which AI agents can call program‑matically.
Who might use it?
- Developers with a personal fleet – Mac Studio, NUCs, laptops, cloud VMs – who want a single UI to see what’s running where.
- Teams that run self‑hosted GitHub Actions – quickly install and supervise runners on any machine.
- AI‑agent power users – let Claude Code, Codex, Gemini, etc., operate directly on a chosen machine, edit files, run builds, and report back.
- Sysadmins – monitor health, wake machines via Wake‑on‑LAN, and execute commands across many hosts.
How does it work?
- Discovery – Muxin reads
~/.ssh/config, Tailscale, and local network broadcasts (Bonjour) to suggest machines. - Connection – It SSHes into each host using your existing keys/agent. Once connected it drops a small Muxin agent (built in Rust) that speaks the MCP protocol.
- UI Layer – The desktop UI is built with GPUI, a GPU‑accelerated Rust UI framework (same as the Zed editor). It runs natively on macOS, Linux, and Windows.
- MCP Server –
muxin mcpruns locally and forwards JSON‑encoded commands to the remote agents. LLM‑based agents can be configured to call these tools, giving them “agent‑first” capabilities. - State – All configuration lives in a single
config.tomlunder~/.config/muxin/(or%APPDATA%\muxin\on Windows). Runtime state (last check timestamps, direct‑connection info) is stored in accompanying JSON files.
What can you do with it?
| Feature | Example use case |
|---|---|
| Agent sessions | Open a Claude Code terminal on a remote Mac, let it fix a build error, and keep the session alive after you close the UI. |
| Desktop sharing | View a Linux box’s GUI to troubleshoot a UI bug without leaving your primary workstation. |
| File sync | Drag a folder from your Mac into a Windows VM’s sidebar to copy it instantly. |
| Runner management | Install two GitHub Actions runners on a NUC, start them, and watch their job queue from the Overview page. |
| Health dashboard | See CPU % and disk usage for every machine at a glance; click a warning to automatically reboot a Linux host. |
| Run commands fleet‑wide | Execute brew upgrade on all macOS machines and see each output side‑by‑side. |
| Workspaces | Create a workspace on a remote machine that checks out a repo; an AI agent edits code, runs tests, and pushes changes. |
| MCP tooling | From a script: muxin mcp run_on_machines "git pull" --machines mac-studio,raspberry-pi to update repos everywhere. |
| Wake‑on‑LAN | Press Wake in the UI to power on a sleeping desktop before starting a build. |
How to get started?
- Download – Grab the appropriate installer from the latest GitHub release (DMG, .deb/.rpm/AppImage, or Windows .exe). Homebrew is also supported.
- Run – Launch the app; it will automatically add the current computer to
config.toml. - Add machines – Press ⌘N (or the Add Machine button) and pick from suggestions (SSH config, Tailscale, Bonjour).
- Explore – Use ⌘T to open an agent session, ⌘6 to run a command on many hosts, or the Jobs view to watch GitHub runner activity.
- Enable AI agents – Follow the “Use it from AI agents” section to point Claude Code, Codex, or any MCP‑compatible client at
muxin mcp.
What are its limits?
- Requires SSH access – Machines must be reachable via SSH (or Tailscale) and allow the small Muxin agent to be installed.
- Self‑hosted only – It manages machines you own; it does not provision cloud instances.
- GUI‑heavy – While a CLI (
muxin …) exists, most day‑to‑day interactions are through the graphical UI. - Agent support – Built‑in tooling assumes agents that understand the MCP protocol (Claude Code, Codex, Gemini CLI, etc.). Other agents need custom MCP client code.
Who built it?
Muxin is an open‑source project from Lumary Labs LLC and is released under the Apache‑2.0 license. Development is in Rust, leveraging the GPUI UI framework.
Quick reference (commands)
# Demo mode – no real machines touched
muxin --demo
# Add a machine (SSH host)
muxin add-machine --name "Mac Studio" --host ci@mac-studio.local
# Run a command on several machines
muxin run_on_machines "df -h /" --machines mac-studio,raspberry-pi
# Start the MCP server (for AI agents)
muxin mcp
Bottom line
Muxin is a native, cross‑platform fleet manager that bridges your personal hardware with modern LLM agents, giving you a single place to see health, run commands, manage GitHub runners, and let AI agents act on any of your machines.
Related
- Project
- Project
- Project
- Project