mcpField
F
finding-dev-server-url

finding-dev-server-url

github.com/revitalb-portDevelopment060 installsUpdated 10w ago
Repository

About finding-dev-server-url

A Cursor-focused skill that finds running development servers by inspecting terminal output files, extracts their URLs and ports, and can open a selected server in the built-in browser.

Key features

  1. 01List Cursor terminal output files
  2. 02Read process and command metadata
  3. 03Find server URLs and ports
  4. 04Report errors and stopped processes
  5. 05Optionally open a server in the browser

Use cases

  1. 01Locate the URL for a running dev server
  2. 02Check which ports local projects use
  3. 03Identify a server startup conflict
  4. 04Open a selected local app for inspection

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/revitalb-port/skills-registry-demo --skill finding-dev-server-url

After installing, type/finding-dev-server-urlin Claude Code to confirm it loaded.

Details

From the project README

Finding Dev Server URL

Detect which dev servers are running, what ports they're on, and open them.

How It Works

Cursor stores live terminal output in text files. Each terminal has a file at:

<terminals_folder>/<id>.txt

The terminals folder path is provided in your system context. Each file contains metadata (pid, cwd, last command) followed by the full terminal output.

Workflow

1. List All Terminals
ls <terminals_folder>/*.txt
2. Read Each Terminal's Metadata

Read the first ~10 lines of each terminal file to see:

  • pid — process ID
  • cwd — working directory
  • last_command — what's running (e.g. npm run dev, pnpm dev, python manage.py runserver)

Skip terminals where the last command is clearly not a server (e.g. git status, ls, cd).

3. Scan for Server URLs

Read the full content of terminals that look like they're running a server. Search for these patterns:

FrameworkPattern
Next.jsLocal: http://localhost:XXXX or ▲ Ready
ViteLocal: http://localhost:XXXX/
Create React AppLocal: http://localhost:XXXX
Expresslistening on port XXXX or listening at http://...
DjangoStarting development server at http://127.0.0.1:XXXX/
RailsListening on http://127.0.0.1:XXXX
FlaskRunning on http://127.0.0.1:XXXX
GoListening on :XXXX or http server started on :XXXX
PHPDevelopment Server (http://localhost:XXXX) started
Remixhttp://localhost:XXXX
Astrohttp://localhost:XXXX
Nuxthttp://localhost:XXXX

Regex to match most server output:

https?://(localhost|127\.0\.0\.1|0\.0\.0\.0)(:\d+)

Also check for standalone port patterns:

(listening|started|running|ready|serving).*(port\s*|:)\s*(\d{4,5})
4. Report

Print a summary:

Dev servers found:
  Terminal 1 (pid 12345) — npm run dev → http://localhost:3000 (cwd: /Users/me/app)
  Terminal 3 (pid 67890) — python manage.py runserver → http://127.0.0.1:8000 (cwd: /Users/me/api)

If no servers are found, say so and suggest starting one.

5. Open in Browser (Optional)

If the user wants to view the app, use Cursor's built-in browser:

browser_navigate → http://localhost:<port>

Then take a screenshot to confirm it's rendering:

browser_take_screenshot

Tips

  • If multiple servers are found, ask the user which one to open
  • If a terminal shows an error (e.g. EADDRINUSE, address already in use), report the conflict
  • If the server crashed (process exited), note that too — check for exit_code in the terminal file footer
  • Common default ports: Next.js (3000), Vite (5173), Django (8000), Rails (3000), Flask (5000), Go (8080)

Comments

Markdown supported