mcp服务器代理浏览器
状态:测试 --功能正常,但仍在验证中。预计会有粗糙的边缘。
让LLM驱动真正的浏览器。此MCP服务器包装 代理浏览器 (由Vercel Labs提供),因此任何兼容MCP的客户端——Claude Desktop、Claude Code或其他客户端——都可以浏览页面、填写表单、点击按钮、截图等。
Claude Code navigating Hacker News and taking a screenshot
先决条件
安装 agent-browser CLI:
cargo install agent-browser
agent-browser install构建
cargo build --release二元的: target/release/mcp-server-agent-browser
配置
添加到您的MCP客户端配置中(克劳德桌面/Claude代码示例):
{
"mcpServers": {
"agent-browser": {
"command": "/path/to/mcp-server-agent-browser"
}
}
}服务器使用JSON-RPC 2.0通过stdio进行通信,它可以与任何MCP客户端配合使用。
| 环境变量 | 描述 | 默认值 |
|---|---|---|
AGENT_BROWSER_PATH | 通往 agent-browser 二进制 | agent-browser (通过 $PATH) |
它能做什么
服务器公开了35多种工具,包括:
- 导航 --打开URL,返回/前进,重新加载
- 交互 --单击、键入、填写、按键、悬停、滚动、拖动、选择、选中/取消选中、上传、下载
- 阅读 --获取页面文本、HTML、属性、URL、标题
- 无障碍 —
browser_snapshot返回一个可访问性树@ref在后续调用中可用作选择器的标识符 - 状态 --检查元素是否可见、已启用或已选中
- 捕捉 --屏幕截图(视觉模型可选注释)和PDF导出
- 会话 --使用独立的Cookie/存储/视口创建隔离的浏览器会话
- Cookie --获取、设置、清除
- JavaScript --在页面上下文中评估任意JS
- 开发者工具 --读取控制台日志,检查网络请求,通过CDP连接
每个工具都有参数模式的自我记录——您的MCP客户端会自动发现它们。
运作原理
典型的AI驱动交互遵循以下模式:
browser_navigate--打开页面browser_snapshot--获取可访问性树以了解页面结构browser_click/browser_fill--使用交互@ref快照中的选择器browser_screenshot--目视验证结果
代理决定调用哪些工具以及调用顺序。你只需要描述你想做什么。
会话
所有工具都接受可选 session_id.与创建隔离会话 browser_new_session 并将返回的ID传递给后续呼叫。每个会话都有自己的Cookie、存储和视口。如果没有会话ID,命令将使用默认会话。
超时
命令超时后 60秒 默认情况下。这 browser_wait 该工具会根据您指定的等待时间自动调整其超时时间。
局限性
- 需要Rust工具链来构建,需要Node.js来构建
agent-browser守护进程 - 仅铬--
agent-browser幕后使用剧作家 - 默认情况下无头——没有可见的浏览器窗口
- 对于慢速页面或复杂的交互,60秒的默认超时可能不够
- 没有内置的身份验证持久性——除非通过cookie工具进行管理,否则在服务器重启之间重置cookie
- 文件上传/下载路径经过验证,但仅限于系统目录
许可证
麻省理工学院
