DevServer MCP 服务端

使用说明(Markdown格式)

  • 项目简介

    • 该项目实现了一个服务器端的 MCP 服务,用于对开发服务器进行集中管理,提供统一的接口供 LLM 客户端查询状态、获取日志、启动/停止服务器,以及在实验模式下支持浏览器自动化工具(如 Playwright)的相关操作。
  • 主要功能点

    • 服务器管理:启动、停止、查看状态、获取日志等核心能力,适用于对接多台开发服务的场景。
    • 工具与工具集成:通过 MCP 提供的工具,将管理操作暴露给 LLM 客户端使用;包括获取状态、启动/停止、日志分页等工具。
    • 浏览器自动化(实验性):在配置开启 Playwright 实验特性后,支持浏览器导航、截图、控制台日志等操作的工具集合。
    • 日志与错误处理:日志记录、日志回调、错误日志持久化到文件,便于审计与排查。
    • Playwright 集成的自启动与错误处理:尝试自动启动浏览器并提供错误回传,确保 UI 与日志同步。
  • 安装步骤

    • 安装运行环境:需要 Python 3.x,并安装项目依赖(如 FastMCP、Pydantic 等)。
    • 获取源码并安装(如使用包管理器或直接从源码运行)。
    • 可选:若要使用浏览器自动化,请按项目说明安装 Playwright 及浏览器驱动。
  • 服务器配置(MCP 客户端需要的最小信息,JSON 格式,包含 server name、command、args 等) 说明:以下示例仅用于说明配置字段含义,实际客户端不需要包含该段落代码。请将配置提供给 MCP 服务器用于启动和管理对应的开发服务器。 { "servers": { "api": { "name": "api", "command": "python manage.py runserver", "working_dir": ".", "port": 8000, "autostart": true, "prefix_logs": true } // 可以添加更多服务器,例如 "frontend": { ... }, "worker": { ... } } }

  • 基本使用方法

    • 启动 MCP 服务器后,使用 MCP 客户端(如测试用例中的 FastMCP 客户端或其他兼容客户端)连接并调用工具:
      • 获取所有服务器状态
      • 启动/停止指定服务器
      • 获取指定服务器日志(支持分页、偏移、正序或倒序)
      • 如启用实验性浏览器自动化,调用浏览器相关工具(导航、截图、日志等)
    • 监控与日志:通过日志回调或 UI 实时查看服务器状态、日志输出和 Playwright 相关活动。
    • 故障处理:若 Playwright 未安装或初始化失败,系统会在日志中提示并返回错误信息。
  • 运行与测试

    • 按照项目提供的测试用例进行本地运行与验证,确保各工具在启动、停止、日志、状态查询等方面符合预期。

服务器信息