Tidyports

io.github.dan-fetch-studioPublished by GitHub account dan-fetch-studiov0.1.2Updated Oct 24, 2026

See and kill the dev servers your coding agents leave running, and get collision-free ports.

VerifiedSTDIODesktop onlyCloud & InfrastructureDeveloper Tools

Overview

AI-generated overview

Lets a coding agent list, kill and allocate local dev-server ports on macOS, so parallel worktrees stop colliding on ports like 3000.

What you can do
  • List listening dev servers with port, process, branch, owner and idle state (read-only).
  • Stop the server occupying a given port.
  • Allocate a stable, collision-free port for the current worktree.
  • Get a currently free port to bind immediately.
When to use it
Useful when several agents or git worktrees each start dev servers and hit EADDRINUSE, or when an agent mistakes a port conflict for a code bug and edits working code. It gives the agent a way to look at what is running instead of guessing.
Requirements
A local npm package (@tidyports/mcp) registered with the client as the tidyports-mcp binary. It is a thin layer over the tidy-ports CLI, which ships inside the TidyPorts macOS menu-bar app (macOS 15+), installed via Homebrew cask or the vendor download. Desktop only; no authentication or environment variables declared.
Before you install
The kill_port tool stops processes on the user's machine, so an agent can terminate a dev server it did not start; review before granting it. It depends on a separate macOS app and CLI, so it does nothing without them, and it is macOS-only.

Installation

In SourceWeft

  1. Open Tidyports in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

TidyPorts integrations

Let your coding agent see and control the local dev servers it starts.

If you run Claude Code, Cursor or Codex across several git worktrees, each one starts dev servers you never typed a command for. Ports collide, and an agent that hits EADDRINUSE often can't tell a port conflict from a bug — so it "fixes" working code instead.

These integrations give the agent a way to look, rather than guess.

mcp/An MCP server — typed tools for any MCP client (Claude Code, Cursor, Claude Desktop, Windsurf, Zed).
skills/A Claude Code skill, if you'd rather it shelled out to the CLI directly.
guard/Wrap your dev command so EADDRINUSE names what is holding the port, instead of only saying that something is.
raycast/A Raycast extension for the same list, without leaving the launcher.

Tools

ToolWhat it does
list_serversListening dev servers: port, process, branch, owner, idle. Read-only.
kill_portStop the server on a given port.
alloc_portA stable, collision-free port for this worktree — the fix for parallel agents fighting over :3000.
free_portA port nothing is listening on right now, to bind immediately.

Install

The skill, for any agent (Claude Code, Cursor, Copilot, Gemini…):

sh
npx skills add dan-fetch-studio/tidyports-integrations

The MCP server:

sh
npm install -g @tidyports/mcp

Then register it with your client, pointing at the installed tidyports-mcp binary. For Claude Code:

sh
claude mcp add tidyports -- tidyports-mcp

It needs the TidyPorts app

These are a thin layer over the tidy-ports CLI, which ships inside TidyPorts — a free macOS menu-bar app that shows every dev server running on your Mac and which agent started it.

sh
brew install --cask dan-fetch-studio/tap/tidyports

Or download it from tidyports.app/download. macOS 15+.

Licence

The integrations here are MIT (see LICENSE). The TidyPorts app itself is source-available under its own licence.

Source: README.md at commit 50e2761

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts