端口清理服务

Node.js实现的MCP协议端口清理服务,用于扫描和终止占用指定端口的进程,解决开发环境中的端口冲突问题。

  • by BrightLin
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 brightlin/mcp-server-port-cleaner

使用说明

MCP端口清理服务器

Node.js服务器实现了模型上下文协议(MCP),用于开发环境中的端口清理操作。

特性

  • 查找并终止占用指定端口的进程
  • 扫描并列出占用指定端口的所有进程(跨平台支持)
  • 使用Zod模式进行安全输入参数验证
  • 详细的错误处理和响应格式
  • 工具注册和请求处理的标准MCP协议合规性

工具

port_scan

描述:扫描并列出占用指定端口的所有进程(跨平台支持)。

输入参数:

{
  "port": {
    "type": "integer",
    "description": "scan process by specify port",
    "minimum": 1,
    "maximum": 65535
  }
}

响应:

  • 成功:返回包含详细信息(PID、名称、用户、协议)的进程列表
  • 失败:返回错误信息
  • 端口未占用:返回相应通知

port_clean

描述:查找并终止占用指定端口的进程,以解决开发环境端口冲突。

输入参数:

{
  "port": {
    "type": "integer",
    "description": "clean process by specify port",
    "minimum": 1,
    "maximum": 65535
  }
}

响应:

  • 成功:返回已终止进程ID的列表
  • 失败:返回错误信息
  • 端口未占用:返回相应通知

使用示例

使用克劳德桌面或Trae.cn

Docker配置

全部

NPX配置

{
  "mcpServers": {
    "port-cleaner": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-port-cleaner"
      ]
    }
  }
}

或全局安装:

npm install -g mcp-server-port-cleaner

然后:

{
  "mcpServers": {
    "port-cleaner": {
      "command": "mcp-server-port-cleaner"
    }
  }
}

实现细节

服务器实现了以下组件:

  1. 端口清理服务:端口清理操作的核心业务逻辑
  2. 端口扫描服务:跨平台端口扫描功能
  3. MCP服务器集成:标准MCP协议实施,包括:
    • 工具注册(port_clean, port_scan)
    • 请求处理
    • 输入验证
  4. 错误处理:在服务和服务器级别进行全面的错误处理

错误处理

服务器在所有故障情况下提供详细的错误响应:

  • 输入参数无效
  • 进程终止失败
  • 意外的运行时错误

开发说明

  • 该服务使用特定于平台的命令:
    • Linux/Unix: lsof, kill, netstat
    • 窗户: netstat, tasklist, taskkill
  • 通过进程检测实现跨平台兼容性
  • 清理实现使用SIGKILL(-9)终止进程

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。