Back to projects
Coming soon

PortPirate

Local dev servers on your Mac, run by you and your coding agents without collisions.

A macOS menu bar app for developers who work with Claude Code or Codex. It shows every local dev server, which agent session started it in which worktree, and what that session is doing right now. Agents get their own tools: one call starts a dev server on a free port and returns the URL, and they can read its logs, find the local database and stop only what is theirs. You see all of it in one panel.

Not released yet. The build is private for now.

Platform
macOS
Availability
coming soon
Stack
Swift · SwiftUI · MCP
PortPirate menu bar panel with four Claude Code sessions and two dev servers an agent started through PortPirate

Problem

With several coding agents in parallel worktrees, dev servers pile up, two agents reach for port 3000, and nobody can tell which process belongs to which session. Agents fall back to sleep loops, curl polling and kill -9.

What I built

A native Swift menu bar app that maps every listening TCP port to its process, repo, branch and agent session, with hooks for live session status. A bundled MCP server and the pp command give agents eleven tools. start_server reserves a port block per worktree, detects the package manager and framework, starts the server, waits until it answers and keeps its output in a log. wait_for_port, server_logs, list_services and project_context cover the rest. Every stop goes through one validated path in the app.

Highlights

  • Every Claude Code and Codex session by project and branch, with live status: working, waiting for you, needs approval.
  • Agents start dev servers with one MCP call: a free port per worktree, the right package manager, --port for Vite, Astro, Next.js and Nuxt, and the URL and log come back.
  • Local databases and services such as PostgreSQL, Redis or MongoDB show up with their connection URL, for you and for agents.
  • pp in the terminal: pp start, pp logs -f, pp who 3000, pp stop, eval "$(pp env)". pp setup installs hooks, MCP and a short section in CLAUDE.md and AGENTS.md.
  • The same MCP server works in Cursor, Windsurf, VS Code, Zed and Claude Desktop.
  • Agents only stop their own servers. PID, port, command and folder are checked again before any signal, and Settings decide what agents may do.