Mac apps that stop dev servers, compared
Most of these apps watch listening ports and stop the process behind one. TidyPorts and Portlivo also show which AI agent started a server and how much memory it uses. Ramback covers that and also lists iOS simulators, Android emulators and Gradle daemons, stopping each with its own tool's command; none of the others mention them. If all you need is to free a port, the others are lighter.
| Tool | Runs as | Agent that started it | Simulators, emulators, Gradle | Containers | Price | Open source |
|---|---|---|---|---|---|---|
| Ramback | Menu bar app, CLI and MCP server. macOS 14+ | Claude Code, Codex, Cursor Agent, Gemini CLI | All three | Docker Desktop, OrbStack, Colima | Free; Pro $19 once | CLI and MCP server, MIT |
| TidyPorts | Menu bar app, with a CLI, MCP server and Raycast extension. macOS 15+ | Claude Code, Cursor, Codex | Not stated | Docker and Apple container sections | Free | App source-available; integrations MIT |
| Portlivo | Menu bar app and devports CLI. macOS 14+ | Claude Code, Codex | Not stated | Docker and OrbStack, by name | $19.99 once for 1 Mac; 7-day trial | No |
| LeftOpen | Menu bar app and CLI. macOS 14+ | Groups agent-started servers; names no agent | Not stated | Not stated | Free | MIT |
| Port Kill | Status bar app (macOS), CLI, MCP server, web dashboard. macOS, Linux, Windows | Not stated | Not stated | Names the Docker container behind a port | Not stated | Source-available, FSL-1.1-MIT |
| Dev Servers for Raycast | Raycast extension with a menu bar item. macOS | Not stated | Not stated | Not stated | Not stated | Yes, in Raycast's extensions repo |
“Not stated” means the tool's own page doesn't say, not that it can't.
Ramback
A menu bar app that lists what your dev stack is running, with the RAM of each: dev servers, AI agent sessions, iOS simulators, Android emulators, Gradle and Kotlin daemons, containers, bundlers, tunnels and databases. Each row shows what started it (Claude Code, Codex, Cursor Agent, Gemini CLI, Xcode, Android Studio or your terminal) and how long it has been idle.
It stops each one with that tool's own command: xcrun simctl shutdown, adb emu kill, docker stop, or SIGTERM to a server's whole process tree. If something is still running after 5 seconds, it asks before forcing it. Databases stop only after you confirm.
The list, stopping, Clean slate, the dev server and agent rules, the disk scan, the CLI and the MCP server are free. Pro is $19 once for 2 Macs and adds the simulator, emulator, daemon and sleep rules, Undo, disk cleanup and a warning when memory gets tight. The CLI and MCP server are MIT on GitHub. macOS 14 or later, Apple silicon and Intel. Podman isn't detected yet.
TidyPorts
A free menu bar app for macOS 15 or later. Each dev server shows its port, project, branch, live CPU and memory, and which agent opened it from which terminal. Docker and Apple container sections appear when it finds them. One click stops every stray server except the ones on your keep list.
The tidy-ports CLI ships inside the app, and separate MIT-licensed integrations add an MCP server, a Claude Code skill and a Raycast extension. The MCP tool alloc_port gives each git worktree a stable port of its own. The app itself is source-available under its own licence.
Pick it if you're on macOS 15, your work is web servers and agents, and you want it free.
Portlivo
A paid menu bar app for macOS 14 or later. It scans listening TCP ports every two seconds and shows each server with its project folder, git branch, command, PID, uptime, HTTP health, CPU and memory. Servers that Claude Code or Codex started carry the agent's logo, and Docker and OrbStack containers show by name.
You can kill or restart a server, and Kill Holder & Retry handles a port conflict. Every kill re-checks the PID first, and it only stops processes you own. Homebrew and launchd services stop through their own service commands. It includes a devports CLI and Shortcuts actions.
$19.99 once for one Mac ($8.99 for the first 50 licences), $39.99 for 3 Macs, with a 7-day trial. It isn't open source.
Pick it if you want to restart servers and see whether they respond, not only stop them.
LeftOpen
A free, MIT-licensed menu bar app and CLI for macOS 14 or later. It lists listening ports with the process, the project or app that owns it, its age and whether it's reachable from your network, grouped into dev servers, background services, apps and system. Dev servers are grouped by where they came from: a project, a terminal, an editor or an agent.
Closing a dev server sends SIGTERM and checks it's still the same process. If the port is still open after five seconds, a second close sends SIGKILL. Homebrew services stop with brew services stop. In a terminal, leftopen close 3000 does the same, and --json output is there for scripts and agents.
Pick it if you want the whole app to be open source, or your problem is ports and services rather than memory.
Port Kill
A status bar app for macOS, and a CLI that also runs on Linux and Windows. It watches a range of ports and shows the processes on them by name and PID, along with the Docker container behind a port. It also clears dev caches, starts services from a YAML file, and has an MCP server for Cursor and Claude and a local web dashboard.
A kill sends SIGTERM, then SIGKILL; --safe asks first. The licence is FSL-1.1-MIT, and neither the site nor the README states a price.
Pick it if you also work on Linux or Windows, or you only need to free ports.
Dev Servers for Raycast
A Raycast extension by Tavlean. It shows the dev servers on your Mac grouped by project, with port, branch, framework and uptime, and keeps a count in the menu bar. It recognises Vite, Next.js, SvelteKit, Astro, Nuxt, Webpack, Remix, Wrangler, Shopify CLI, Bun and anything else running from node_modules.
It can also start a server, and restart one with the package manager its lockfile uses. A kill is SIGKILL, for one server, a whole project or everything, and the bulk kills ask first. The source is in Raycast's extensions repository; the store page lists no price.
Pick it if you already work from Raycast and your servers are Node.
When Ramback isn't the right pick
- You only need to free a port now and then.
kill $(lsof -t -iTCP:3000 -sTCP:LISTEN)does it, and the port 3000 guide covers watchers that restart it. LeftOpen and Port Kill are lighter if you want it in the menu bar. - You also work on Linux or Windows. Port Kill runs on all three. Ramback is Mac only.
- You want the app itself to be open source. LeftOpen is MIT. Ramback's CLI and MCP server are MIT; the app isn't.
- You want to restart servers or check that they answer. Portlivo does both.
- You work from Raycast and only run Node servers. Dev Servers keeps you in the launcher.
- Your containers run in Podman. Ramback doesn't detect it yet.
Checked Oct 28, 2026, on each tool's own site, README or store page:
- TidyPorts: tidyports.app
- TidyPorts: tidyports-integrations on GitHub
- Portlivo: portlivo.com
- LeftOpen: LeftOpen on GitHub
- Port Kill: Port Kill on GitHub
- Port Kill: portkill.com
- Dev Servers for Raycast: Raycast Store