端口管理及释放 MCP
这是一个基于 Model Context Protocol (MCP) 的“端口管理及释放”服务,提供:
- 列出本机当前正在使用的端口以及对应的占用进程
- 查询指定端口的占用详情,并可选择终止进程释放端口
跨平台支持:Windows / macOS / Linux。尽量使用系统自带命令,无需额外安装。
功能概览
- list-ports
- 列出端口占用信息,支持按协议、状态、端口/范围、PID、进程名等过滤
- port-info
- 查看特定端口的占用详情
- 可选参数 kill=true 终止对应进程(force=true 强制)
安装与构建
``
bash
cd typescript/端口管理及释放
npm install
npm run build
`
运行
`
bash
node dist/index.js
`
你也可以通过 MCP 客户端(如 Claude/Cursor)调用内置工具。
MCP 配置示例
以 Cursor/Claude 为例,添加配置(路径按你的本地实际调整):
`
json
{
"mcpServers": {
"mcp-port-manager": {
"command": "node",
"args": [
"D:/Work/Projects/vscode/skills/typescript/端口管理及释放/dist/index.js"
]
}
}
}
``
工具说明
$3
参数(均可选):
- protocol: "all" | "tcp" | "udp"
- state: "all" | "listen" | "established"
- port: number
- portRange: "3000-4000"
- pid: number
- processName: string(包含匹配,不区分大小写)
- includeSystem: boolean(预留)
返回:文本化列表(每条包含协议、本地地址:端口、状态、PID、进程名等)
示例:
- 列出所有监听端口:
- 调用:list-ports { "state": "listen" }
- 列出 3000-4000 范围内的 TCP 端口:
- 调用:list-ports { "protocol": "tcp", "portRange": "3000-4000" }
$3
参数:
- port: number(必填)
- protocol: "auto" | "tcp" | "udp"(默认 "auto")
- kill: boolean(默认 false)
- force: boolean(默认 false)
返回:
- 端口占用详情;如 kill=true 会附带终止结果
示例:
- 查看 3000 端口占用:
- 调用:port-info { "port": 3000 }
- 强制释放 3000 端口:
- 调用:port-info { "port": 3000, "kill": true, "force": true }
跨平台说明
- Windows:
- 查询:netstat -ano(配合 tasklist 解析进程名)
- 终止:taskkill /PID
[/F]
- Linux:
- 查询:ss -tunap 或 netstat -tunlp;必要时使用 lsof -nP -i
- 终止:kill 或 kill -9
- macOS:
- 查询:lsof -nP -i
- 终止:kill / kill -9
注意:某些命令可能需要管理员/提升权限;缺少权限时会返回相应错误信息。
安全提示
- 终止进程可能导致业务中断。建议先仅查询,确认后再加 kill=true(必要时再 force=true)。
- 生产环境操作需谨慎,建议在变更窗口进行,并有回滚预案。
开发
- TypeScript 构建至 dist/index.js
- 仅依赖 @modelcontextprotocol/sdk(最小依赖)