浏览器自动化工具

MCP server 封装了 Vercel 的 agent-browser CLI,通过 stdio JSON-RPC 实现浏览器自动化,支持会话隔离和 CDP 端口连接。

  • by tgeorge06
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 tgeorge06/mcp-agent-browser

使用说明

mcp代理浏览器

包装Vercel的MCP服务器 agent-browser CLI用于通过stdio JSON-RPC实现浏览器自动化。

主要特点:

  • 暴露 agent-browser 命令作为MCP工具(例如, browser.connect, browser.snapshot).
  • 支持独立浏览器实例的会话。
  • 使用CDP端口连接到现有浏览器(包括Electron)。

先决条件

安装Vercel agent-browser CLI: https://github.com/vercel-labs/agent-browser

确保安装了Playwright浏览器二进制文件:

agent-browser install

安装

来源:

pnpm install
pnpm build

来自npm:

npm install -g mcp-agent-browser
# Or run directly
npx mcp-agent-browser

与Codex等工具集成:

codex mcp add agent-browser -- npx mcp-agent-browser

配置

  • AGENT_BROWSER_BIN:覆盖 agent-browser CLI路径。
  • AGENT_BROWSER_MCP_LOG:为所有工具调用编写JSONL日志。
  • AGENT_BROWSER_MCP_TIMEOUT_MS:每个命令超时(毫秒)(默认值:30000)。

烟雾测试(标准)

npm run build
npm run smoke

烟雾测试发送正确的MCP initialize 请求(包括 protocolVersion)然后列出工具。

跑

node dist/mcp.js

使用npx运行

npx mcp-agent-browser

电子/CDP使用

# Start Electron with a remote debugging port (example)
./YourElectronApp --remote-debugging-port=9222

# Connect once, then run commands
agent-browser connect 9222

# Or pass --cdp on each command
agent-browser --cdp 9222 snapshot

MCP与Electron/CDP的使用:

{ "name": "browser.connect", "arguments": { "port": 9222, "session": "agent1" } }
{ "name": "browser.snapshot", "arguments": { "session": "agent1", "cdpPort": 9222 } }

MCP JSON-RPC示例(stdio):

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": { "name": "browser.connect", "arguments": { "port": 9222, "session": "agent1" } }
}
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": { "name": "browser.snapshot", "arguments": { "session": "agent1", "cdpPort": 9222 } }
}

MCP工具有效载荷(解码自 content.text):

{ "ok": true, "port": 9222 }
{
  "ok": true,
  "elements": [
    { "ref": "e1", "role": "button", "name": "Submit", "selectorHint": "@e1" }
  ],
  "raw": {
    "snapshot": "...",
    "refs": { "e1": { "role": "button", "name": "Submit" } }
  }
}

看 docs/mcp-agent-browser.md 用于工具定义、错误处理和配置。

许可证

MIT。看 LICENSE.