这是一个基于Model Context Protocol (MCP) 的服务器实现,利用WebdriverIO库让AI模型能够通过标准协议控制和自动化网页浏览器。
项目简介
本项目实现了一个MCP服务器,作为AI模型(如大型语言模型)与网页浏览器交互的桥梁。它将WebdriverIO强大的浏览器自动化能力封装成MCP标准的工具和服务,允许AI通过发送结构化的请求来执行网页操作。
主要功能点
- 浏览器会话管理: 启动、配置(如无头模式、浏览器类型)和关闭浏览器实例。
- 网页导航: 控制浏览器访问指定的URL。
- 元素查找: 通过多种策略(ID、CSS选择器、XPath等)定位页面上的元素。
- 元素交互: 对找到的元素执行点击、输入文本、清空文本、获取属性、获取文本等操作。
- 鼠标与键盘操作: 支持元素悬停、拖放、双击、右击以及模拟按键。
- 文件上传: 通过文件输入框上传本地文件。
- 屏幕截图: 捕获当前网页的截图(可保存为文件或返回Base64数据)。
- 元素状态检查: 判断元素是否可见或是否可用。
- 等待机制: 支持等待特定元素加载或满足条件。
- 网络拦截: 拦截并可选地模拟浏览器的网络请求。
- 会话关闭: 结束当前的浏览器会话。
- 状态查询: 提供当前浏览器会话的状态信息。
安装步骤
- 确保您的系统已安装 Node.js (版本 18 或更高) 以及 Chrome 或 Firefox 浏览器。
- 克隆或下载本项目的代码到本地。
- 打开命令行终端,进入项目根目录。
- 运行以下命令安装项目依赖:
npm install
服务器配置
您的MCP客户端需要知道如何启动并连接到此服务器。这通常涉及配置服务器的启动命令及其参数。以下是您的MCP客户端配置所需的核心信息:
- 服务器名称 (server name): "MCP WebdriverIO Server"
- 启动命令 (command): 通常是运行Node.js解释器的命令,例如 'node'
- 命令参数 (args): 传递给Node.js解释器以运行服务器脚本的参数,例如 'dist/lib/server.js' 大多数MCP客户端会要求您在配置中指定类似 'command: "node"' 和 'args: ["dist/lib/server.js"]' 的信息,以便在需要时能够启动并连接到本服务器。
基本使用方法
- 按照安装步骤,使用以下命令之一启动MCP WebdriverIO服务器:
或者先构建项目再运行:npm run dev
服务器启动后会在终端显示信息。npm run build node dist/lib/server.js - 配置并启动您的MCP客户端,使其通过标准输入/输出(Stdio)连接到已运行的MCP WebdriverIO服务器进程。
- 通过您的MCP客户端,向服务器发送JSON-RPC请求,调用其暴露的各种浏览器自动化功能。例如,发送请求调用 'start_browser' 启动浏览器,调用 'navigate' 访问网页,调用 'click_element' 点击按钮,调用 'type_text' 在输入框输入文字等。
- 服务器将执行相应的浏览器操作,并将操作结果、成功或失败信息通过MCP协议返回给您的客户端。
信息
分类
开发者工具