mcpField
F
finding-dev-server-url

finding-dev-server-url

github.com/spencerpauly开发868431 次安装13 周前更新
代码仓库

关于 finding-dev-server-url

为 Cursor 编码 Agent 提供查找开发服务器地址的操作流程,可检查终端输出、端口和进程状态,并按需在内置浏览器中打开页面。

主要功能

  1. 01读取终端元数据与输出
  2. 02识别常见服务器地址和端口
  3. 03报告进程退出及端口冲突
  4. 04可选使用内置浏览器打开页面

适用场景

  1. 01查找正在运行的本地开发服务器
  2. 02确认服务器端口并打开应用
  3. 03排查服务器崩溃或端口占用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill finding-dev-server-url

安装后在 Claude Code 中输入/finding-dev-server-url确认已加载。

详细介绍

查找开发服务器 URL

检测正在运行的开发服务器、它们使用的端口,并打开服务器。

工作原理

Cursor 会将实时终端输出存储在文本文件中。每个终端都有一个对应的文件,位于:

<terminals_folder>/<id>.txt

终端文件夹路径由系统上下文提供。每个文件都包含元数据(pid、cwd、last command),后面是完整的终端输出。

工作流

1. 列出所有终端
ls <terminals_folder>/*.txt
2. 读取每个终端的元数据

读取每个终端文件的前约 10 行,查看:

  • pid — 进程 ID
  • cwd — 工作目录
  • last_command — 正在运行的命令(例如 npm run dev、pnpm dev、python manage.py runserver)

跳过最后一条命令明显不是服务器的终端(例如 git status、ls、cd)。

3. 扫描服务器 URL

读取看起来正在运行服务器的终端的完整内容。搜索以下模式:

框架模式
Next.jsLocal: http://localhost:XXXX 或 ▲ Ready
ViteLocal: http://localhost:XXXX/
Create React AppLocal: http://localhost:XXXX
Expresslistening on port XXXX 或 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 或 http server started on :XXXX
PHPDevelopment Server (http://localhost:XXXX) started
Remixhttp://localhost:XXXX
Astrohttp://localhost:XXXX
Nuxthttp://localhost:XXXX

用于匹配大多数服务器输出的正则表达式:

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

还要检查独立的端口模式:

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

打印摘要:

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)

如果未找到服务器,请说明这一点并建议启动一个服务器。

5. 在浏览器中打开(可选)

如果用户想查看应用,请使用 Cursor 内置的浏览器:

browser_navigate → http://localhost:<port>

然后截取屏幕截图,确认页面正常显示:

browser_take_screenshot

提示

  • 如果找到多个服务器,请询问用户要打开哪一个
  • 如果终端显示错误(例如 EADDRINUSE、address already in use),请报告冲突
  • 如果服务器已崩溃(进程已退出),也请注明 — 检查终端文件末尾的 exit_code
  • 常见默认端口:Next.js(3000)、Vite(5173)、Django(8000)、Rails(3000)、Flask(5000)、Go(8080)

评论

支持 Markdown