关于 Browser JavaScript Evaluator
Browser JavaScript Evaluator 是一个通过浏览器执行 JavaScript 的 Python MCP 服务,适用于需要让 MCP 客户端调用浏览器代码的场景。它以 SSE 连接浏览器,并通过 REST API 在服务器与页面间传递代码和结果。
主要功能
- 01在浏览器中执行任意 JavaScript
- 02通过 SSE 连接浏览器
- 03通过 REST API 传递执行请求
- 04提供浏览器端加法工具
适用场景
- 01从 MCP 客户端运行浏览器 JavaScript
- 02获取页面中脚本执行的返回结果
MCP 相关
MCP 服务提供 JavaScript 执行工具,并通过 REST API 将代码交给已通过 SSE 连接的浏览器执行。该服务可执行任意 JavaScript,存在安全风险。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
浏览器 JavaScript 求值器
此项目提供了一种通过 MCP(模型上下文协议),从 Python 在浏览器中执行 JavaScript 代码的方法。
⚠️ 警告 ⚠️
此 MCP 服务可以在浏览器中执行任意 JavaScript。这可能会带来危险。使用此插件前,请了解其影响。风险自负。
架构
此项目分为两个主要组件:
-
Web 服务器(
web_server.py):- 通过服务器发送事件(SSE)处理浏览器连接
- 提供用于执行 JavaScript 的 REST API 端点
- 同步返回结果
-
MCP 服务(
mcp_server.py):- 管理 Web 服务器的生命周期
- 提供用于执行 JavaScript 的 MCP 工具
- 通过 REST API 调用与 Web 服务器通信
工作原理
- MCP 服务在生命周期初始化期间启动 Web 服务器
- 浏览器通过 SSE 连接到 Web 服务器
- 调用 MCP 工具时,它会向 Web 服务器发起 REST API 调用
- Web 服务器通过 SSE 将 JavaScript 代码发送到浏览器
- 浏览器执行代码,并将结果发送回 Web 服务器
- Web 服务器将结果返回给 MCP 服务
- 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,以连接到 Web 服务器。
使用 MCP 工具
MCP 服务提供两个工具:
execute_javascript:在浏览器中执行任意 JavaScript 代码add_numbers:在浏览器中使用 JavaScript 将两个数字相加
这些工具可通过任何 MCP 客户端调用。
开发
若要独立运行 Web 服务器(用于测试):
python web_server.py
这将只启动 Web 服务器,不启用 MCP 集成。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。