项目简介
AMI-WEB Browser Module 是一个功能强大的浏览器自动化模块,它以 FastMCP 服务器的形式运行,为大型语言模型 (LLM) 客户端提供与真实网页互动的能力。它支持 Chromium 自动化,可以执行网页导航、表单填写、元素点击、文本提取、截图以及网络搜索等操作,确保合规性和可审计性。
主要功能点
- 浏览器生命周期管理: 启动、列出、获取当前活跃及终止浏览器实例。
- 网页导航: 访问 URL、前进、后退、刷新页面及获取当前页面 URL。
- 网页交互: 点击元素、输入文本、选择下拉选项、悬停、滚动页面及模拟键盘按键。
- 内容提取: 获取元素文本、获取元素属性、检查元素是否存在、等待元素出现及获取浏览器 Cookie。支持大文本分块提取。
- JavaScript 执行与评估: 在页面上下文中执行任意 JavaScript 代码并获取结果,支持大字符串结果分块传输。
- 页面截图: 捕获整个页面或特定元素的屏幕截图。
- 网页搜索: 通过配置的搜索引擎(默认本地 SearXNG)执行网络搜索,并返回结构化结果。
安装步骤
在启动 MCP 服务器之前,你需要确保 Chromium 和 ChromeDriver 已经安装在你的系统上。AMI-WEB 提供了一个便捷的安装脚本:
- 克隆仓库:
git clone https://github.com/Independent-AI-Labs/AMI-WEB.git cd AMI-WEB - 设置 Python 环境(如果需要): 请确保你的 'uv' 或 'pip' 工具已正确配置,并使用 Python 3.12 版本。
- 安装 Chromium/ChromeDriver:
此命令会根据你的操作系统安装兼容的 Chromium 和 ChromeDriver 二进制文件,并更新配置文件。# 假设你已经安装了 uv (https://astral.sh/uv) uv run --python 3.12 --project browser python scripts/setup_chrome.py
服务器配置
MCP 客户端需要通过 JSON-RPC 协议与此服务器通信。以下是 MCP 客户端连接此服务器所需配置的 JSON 格式示例:
{ "server_name": "AMI-WEB Browser MCP Server", "command": "uv", "args": [ "run", "--python", "3.12", "--project", "browser", "python", "backend/mcp/chrome/run_chrome.py", "--transport", "stdio" // 或者使用 WebSocket 传输协议: // "--transport", "websocket", // "--port", "9000" ], "description": "连接到 AMI-WEB 浏览器 MCP 服务器,以实现网页自动化和搜索功能。" }
- 'server_name': (字符串) 服务器的友好名称。
- 'command': (字符串) 启动 MCP 服务器进程的可执行命令(例如 'uv')。
- 'args': (字符串数组) 传递给 'command' 的参数列表。
- '--transport stdio': (参数) 使用标准输入/输出作为通信通道。
- '--transport websocket --port 9000': (参数) 或者使用 WebSocket 作为通信通道,指定端口(例如 '9000')。
- 'description': (字符串) 对此 MCP 服务器用途的简要描述。
基本使用方法
启动服务器后,你的 MCP 客户端即可通过 JSON-RPC 协议调用以下工具来与浏览器交互:
- 启动浏览器: 调用 'browser_launch' 工具。
- 导航到 URL: 调用 'browser_navigate' 工具并提供 'url' 参数。
- 获取页面文本: 调用 'browser_get_text' 工具并提供 CSS 'selector'。
- 执行网页搜索: 调用 'web_search' 工具并提供 'query' 参数。
例如,MCP 客户端可能会向服务器发送一个 JSON-RPC 请求,调用 'browser_launch' 工具,然后是 'browser_navigate',最后是 'browser_get_text'。
信息
分类
网页与API