本项目是一个基于 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 进行交互。
安装步骤:
- 克隆仓库: '''bash git clone https://github.com/StudentOfJS/mcp-frontend-testing.git '''
- 进入项目目录: '''bash cd mcp-frontend-testing '''
- 安装依赖: '''bash npm install '''
- 构建项目: '''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 模板等信息。
信息
分类
开发者工具