Port Authority is a small local daemon that hands out ports on request: real socket checks (not just its own registry), known-service defaults (postgres, redis, mysql...), stale-allocation cleanup, and an MCP server so any AI agent can request a port too. CLI + Python library. MIT licensed, free.
Framer AI AgentsDesign and publish professional sites with AI
Promoted
Maker
📌
I kept hitting port collisions. One project's dev server grabs 3000, another grabs it too, Docker containers squat on ports my scripts assumed were free, and increasingly it's coding agents spinning up services with no idea what else is running on the box.
Port Authority is a small local daemon that hands out ports on request instead of everyone hardcoding or guessing. Ask for a port and you get one back; ask again and you get the same one; ask from a different project and you get a different one. Before it hands out a port it actually tries to bind it, not just checks its own registry, so it also steps around things it didn't allocate.
A few things I wanted to get right rather than hack together: known services (postgres, redis, mysql...) get their canonical port first, falling back to the pool if something else already has it; a background sweep reclaims ports whose owner crashed and never released them; local-only REST API with token auth; and it ships as a CLI, a Python library, and a real MCP server so any MCP-compatible agent can call it as a native tool.
MIT licensed, tested on Linux and macOS. First time posting something publicly, would love to hear how you've solved this on your own machines.