The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Localhost MCP listing page.
MCP server that inspects, manages, and kills local dev servers. Stop guessing what's on :3000.

Pairs with terminal-history-mcp — together they give your AI agent full memory of your dev environment: what you ran, what's running.
Every dev hits these daily:
Error: listen EADDRINUSE :::3000 — what's holding the port?node / vite / next PIDs from last week eating RAMlsof -i :3000, kill -9 <pid>, repeatlocalhost-mcp makes it one tool call.
Wire into Claude Code:
Or any MCP-compatible client. The command runs as a stdio MCP server.
| Tool | Purpose |
|---|---|
list_dev_servers | All listening dev servers w/ port, pid, framework, project, uptime, mem, cpu |
port_info | Inspect single port — who holds it |
kill_server | Kill by pid or port. Dry-run by default; pass confirm=true to execute |
find_zombies | Detect long-running, idle, memory-heavy dev servers |
port_conflict | Why is port X busy + 5 free alternatives nearby |
kill_server defaults to dry-run. Must pass confirm=true.next.js, vite, nuxt, remix, astro, webpack-dev-server, esbuild, create-react-app, express, fastify, koa, hono, rails, django, flask, fastapi, uvicorn, gunicorn, deno, bun, php-builtin, jekyll, hugo.
Falls back to package.json sniffing when the cmdline is generic (node server.js).
lsof)lsof + /proc)netstat); cwd / framework detection limitedMIT