Wharfyv0.1.0

macOS menu bar · CLI · MCP

Port 3000 is taken. Who took it?

Wharfy shows every listening dev port with the app — or AI agent — that opened it, warns you when a server is exposed to your LAN, and stops it safely.

macOS 14+ · Apple notarized · free beta · MIT CLI

The Wharfy menu bar panel: dev ports with owner icons and live stats, with the context menu open on port 3000 — Open in Cursor, Restart, Stop Process Tree, Copy Kill Command.
$ wharfy list
PORT   PID    USER      PROCESS ← PARENTS
3000   51530  egebilge  node ← claude ← zsh ← Terminal
3001   51612  egebilge  node ← cursor ← launchd
5432   1201   egebilge  docker: papyro-app-db-1

Who opened it

The full parent chain, with the starter's real app icon. A port opened by Claude Code says so. One opened by Cursor says so. No more pid archaeology.

Exposed to your LAN

Dev servers bound to 0.0.0.0 are visible to everyone on your network. Wharfy flags them, and filters the list to just those in one click.

Stops safely

SIGTERM, a grace period, then SIGKILL. Tree-kill stops the whole npm-run-dev tree without ever crossing into your shell or IDE.

Knows the difference

Docker containers get docker stop. macOS services — AirPlay lives on :5000 — get a warning before you break something.

For your AI agents — MCP

$ claude mcp add wharfy -- npx -y wharfy mcp

Six tools — list_ports, kill_process, wait_for_port, suggest_free_port and friends — so your agent cleans up after itself instead of asking you to.

CLI

$ npm install -g wharfy

Also on npm. MIT licensed, macOS only.