浏览器JavaScript执行器

通过Python使用MCP协议在浏览器中执行JavaScript代码的工具,适用于自动化测试和浏览器控制场景。

  • by matdmiller
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 matdmiller/mcp_py_sse_browser_control

使用说明

浏览器JavaScript计算器

该项目提供了一种使用MCP(模型控制协议)从Python在浏览器中执行JavaScript代码的方法。

⚠️ 警告⚠️

此MCP服务器可以在您的浏览器中执行任意JavaScript。这可能很危险。在使用此插件之前,请注意其含义。使用风险自负。

建筑

该项目分为两个主要部分:

  1. Web服务器(web_server.py):

    • 通过服务器发送事件(SSE)处理浏览器连接
    • 提供用于执行JavaScript的REST API端点
    • 同步返回结果
  2. MCP服务器(mcp_server.py):

    • 管理web服务器的生命周期
    • 提供用于执行JavaScript的MCP工具
    • 通过REST API调用与web服务器通信

运作原理

  1. MCP服务器在其生命周期初始化期间启动web服务器
  2. 浏览器通过SSE连接到web服务器
  3. 当调用MCP工具时,它会对web服务器进行REST API调用
  4. web服务器通过SSE将JavaScript代码发送到浏览器
  5. 浏览器执行代码并将结果发送回web服务器
  6. web服务器将结果返回给MCP服务器
  7. MCP服务器将结果返回给调用者

用法

将MCP服务器添加到您的Claude配置中

  ...
  "browser-js-evaluator": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/this/repo/mcp_py_sse_browser_control",
        "run",
        "browser_server.py"
      ]
    }
  }
  ...

当您启动Claude Desktop时,这将启动MCP服务器和web服务器。然后打开浏览器并导航到http://127.0.0.1:8000连接到网络服务器。

使用MCP工具

MCP服务器提供两个工具:

  1. execute_javascript:在浏览器中执行任意JavaScript代码
  2. add_numbers:在浏览器中使用JavaScript将两个数字相加

这些工具可以从任何MCP客户端调用。

发展

要独立运行web服务器(用于测试):

python web_server.py

这将仅启动没有MCP集成的web服务器。