Deploy and manage code from your Mac. v0.4.3
Berth is a macOS app that lets you deploy and manage code — especially AI-generated code from Claude Code, Cursor, or Codex — to local machines and remote Linux servers. Paste code, pick a target, and it's running.
Run Python, Node.js, Go, Rust, and shell scripts locally with automatic runtime detection and dependency installation.
Deploy to Linux servers via a lightweight Rust agent. Zero inbound ports required — communication flows through NATS.
Full MCP server with 26 tools. Claude Code can deploy, run, stop, and monitor projects programmatically.
Publish any running project to a public URL via Cloudflare Quick Tunnels. One click, no account needed.
Cron-like scheduling with @every, @hourly, @daily, or standard cron expressions. Runs independently on agents.
Per-project secrets with .env import, log masking, and management via UI, CLI, and MCP.
| Runtime | Detected By | Entrypoint | Dependencies |
|---|---|---|---|
| Python | *.py, requirements.txt, pyproject.toml |
main.py, app.py, or first .py |
pip install -r requirements.txt |
| Node.js | package.json, *.js, *.ts |
package.json main/start, or index.js |
npm install |
| Go | go.mod, *.go |
main.go |
go mod download |
| Rust | Cargo.toml, *.rs |
cargo run |
cargo build |
| Shell | *.sh, shebang (#!/bin/bash) |
First .sh file |
None |
Berth has three entry points that share a common Rust core:
| Component | Description | Connection |
|---|---|---|
| Desktop App | Tauri 2.0 macOS app (React 19 + Rust). Project management, log viewer, code editor, settings. | Embedded local agent via UDS; remote via NATS or gRPC |
| CLI | berth command-line tool. Same capabilities as the GUI. |
Same transport layer as the desktop app |
| MCP Server | 26-tool server for AI agents. Claude Code spawns it via stdio. | Same transport layer as the desktop app |
An embedded agent runs inside the desktop app, communicating over Unix domain sockets. No network required.
Both sides connect outbound to Synadia Cloud. Zero inbound ports. Works behind NAT, firewalls, and VPNs. All commands HMAC-signed.
Direct connection to agent IP:port over mTLS. Requires port 50051 reachable. Use on trusted LANs or via SSH tunnel.
Running services can be published via cloudflared tunnels, exposing a temporary *.trycloudflare.com URL to the internet.
Berth v0.4.3 — GitHub