使用说明内容(Markdown格式)
1) 项目概述
本仓库实现了一个基于 MCP 的服务器端组件,核心职责是向 LLM 客户端提供以下能力:
- 资源管理(Resources):托管与访问用于数据、模板、文档等资源的能力。
- 工具注册与执行(Tools):注册外部功能工具,LLM 客户端可通过 JSON-RPC 调用执行。
- 提示模板(Prompts):定义和渲染用于 LLM 交互的模板,便于统一对话风格和输出格式。
- JSON-RPC 通信:服务器通过标准的 JSON-RPC 协议与客户端交互请求与响应。
- 会话与能力声明:服务器端维护会话信息、能力宣告,并支持通过不同传输协议(如 STDIO)进行通信。
此外,服务器内部实现了用于代码生成和框架分析的工具,能够从 JIRA 任务或 AI 引导生成 Page Object、Feature 文件、Step Definitions 等组件。
2) 主要功能点
- MCP 核心能力
- 注册并提供 Tools、Resources、以及 Read/List Resource 接口。
- 处理对 Tool 的调用请求,返回生成的代码或文本。
- 支持对框架结构的分析与自适应代码生成。
- 资源与工具管理
- 提供框架信息、BasePage 模板等资源,便于客户端获取参考素材。
- 支持对工具的清单查询和具体调用。
- 脚本生成功能
- 通过 MCP 工具链自动生成 Page Object、Feature、Step Definitions 等代码文件。
- 支持从 JIRA 故事自动提取需求并生成测试用例。
- 通信与部署
- 采用 stdio 传输实现 JSON-RPC 通信,便于集成到本地管道或脚本环境。
- 具备服务器启动、资源读取、以及工具调用等完整的运行路径。
3) 安装与运行步骤
- 依赖与准备
- 需要 Node.js 环境用于 MCP 服务器组件的运行。
- 需要 Java 项目环境用于 Playwright 流程的构建与执行(示例中使用 Maven)。
- 安装步骤(概览)
- 将仓库克隆到本地。
- 在 mcp-server 目录中安装依赖并构建启动脚本(如 npm install)。
- 运行 MCP 服务器(通常通过 npm start,或直接执行 dist/index.js 对应入口)。
- 服务器启动后即可通过 MCP 客户端对资源、工具、以及提示模板发起请求。
- 服务器配置(供 MCP 客户端使用的配置示例,客户端无需本地运行以下内容)
- server name: "playwright-automation-mcp-server"
- command: "node"
- args: ["mcp-server/dist/index.js"] 注:此配置用于 MCP 客户端在外部进程中连接并调用该 MCP 服务器的入口。配置信息仅供客户端连接服务器时参考,服务器端实现会自行暴露相应的 JSON-RPC 接口。
- 基本使用路径(高层次描述)
- 客户端通过 JSON-RPC 向服务器提交请求,读取框架资源、调用工具(如生成代码、分析框架等)、获取 Prompts。
- 服务器依据请求在本地资源、工具实现中执行操作并返回结构化的 JSON-RPC 响应,或发送通知。
4) 使用要点与注意
- MCP 的核心通信机制为 JSON-RPC,请确保客户端正确构造请求并解析响应。
- 资源、工具、以及读取资源的实现路径都在服务器端清晰定义,确保测试用例可重复使用。
- 服务器在 STDIO 传输下运行时,需确保外部依赖和工作目录正确配置,以避免路径与权限问题。
- 如需扩展工具或资源,请在服务器端工具注册区和资源读取区进行相应实现。
5) 配置示例说明
- 服务器名称:playwright-automation-mcp-server
- 启动命令:node
- 参数:mcp-server/dist/index.js
- 作用:通过该配置,MCP 客户端在启动时能够连接到服务器入口,发起对 Tool、Resource 的请求以及对系统能力的探知与利用。
6) 运行与集成建议
- 将 MCP 客户端与此服务器对接时,确保网络与权限允许 JSON-RPC 请求通过(本示例使用 STDIO 传输,若切换到 WebSocket/网络传输则需相应端口与中间件配置)。
- 使用服务器提供的工具进行框架分析与代码生成时,请确保目标工作目录具备 Playwright/Cucumber/TestNG 的相关环境与依赖,以便生成的代码能够被正确编译执行。
7) 相关功能与扩展
- 现有实现提供从 JIRA 任务自动生成测试代码的能力,结合 AI 自动化能力,可对需求进行智能化推演与实现。
- 未来可扩展更多资源类型、工具集合,以及更丰富的 Prompt 模板,以支持多场景的上下文服务。
信息
分类
开发者工具