本项目是一个基于 Model Context Protocol (MCP) 实现的服务器,专门为 LLM 客户端提供前端代码(JavaScript/TypeScript/React)测试相关的上下文信息和功能。它通过标准化接口,让 LLM 能够分析代码、生成测试用例并执行测试,从而辅助开发者提高前端代码质量和测试效率。

主要功能点:

  • 代码分析: 分析 JS/TS/JSX/TSX 代码,给出测试策略建议。
  • 测试生成: 根据提供的源代码、测试框架(Jest/Cypress)和测试类型(单元/组件/E2E)生成相应的测试代码。
  • 测试运行: 在临时环境中运行 Jest 或 Cypress 测试,并返回测试结果。
  • 组件测试: 特化的工具,用于接收 React 组件代码,可选自动生成或使用提供的测试代码,然后在 Jest 或 Cypress 环境中运行组件测试。
  • 测试模板资源: 提供常用的 Jest 和 Cypress 测试代码模板,可通过指定 URI 访问。
  • 文档资源: 提供 Jest、Cypress、React Testing Library 等测试相关文档,可通过指定 URI 访问。
  • Prompt 模板: 提供用于生成测试、修复测试等任务的 Prompt 模板,引导 LLM 进行交互。

安装步骤:

  1. 克隆仓库: '''bash git clone https://github.com/StudentOfJS/mcp-frontend-testing.git '''
  2. 进入项目目录: '''bash cd mcp-frontend-testing '''
  3. 安装依赖: '''bash npm install '''
  4. 构建项目: '''bash npm run build '''

服务器配置(供 MCP 客户端使用):

MCP 客户端需要配置如何启动并连接到此 MCP 服务器。服务器可以以两种传输模式运行:Stdio 或 HTTP。客户端需要根据需要选择模式并配置相应的启动命令和参数。

  • 服务器名称 (Server Name): Frontend Testing Server
  • Stdio 模式启动命令及参数:
    • 'command': 'npm'
    • 'args': '["run", "start:stdio"]'
    • 'description': 通过标准输入输出与服务器通信。
  • HTTP 模式启动命令及参数:
    • 'command': 'npm'
    • 'args': '["run", "start:http", "--", "-p", "<端口号>"]' (请将 '<端口号>' 替换为实际希望服务器监听的端口,例如 3000)
    • 'description': 通过 HTTP (SSE) 与服务器通信,需要指定监听端口。

基本使用方法:

配置好 MCP 客户端后,LLM 可以通过标准 MCP JSON-RPC 请求与服务器交互。

  • 调用工具(Tool Call):发送请求调用如 'analyzeCode'、'generateTest'、'runTest'、'testReactComponent' 工具,并提供相应的参数(如代码字符串、框架类型等)。
  • 访问资源(Resource Read):发送请求访问如 'templates://jest/unit' 或 'docs://cypress' 等 URI 获取资源内容。
  • 获取能力(Capability):客户端可以请求服务器的能力声明,了解所有可用的工具、资源、Prompt 模板等信息。

信息

分类

开发者工具