Mcp_py_sse_browser_control

Mcp_py_sse_browser_control

🚀 浏览器 JavaScript 执行器

此项目提供了一种在 Python 中借助 MCP(模型控制协议)从浏览器执行 JavaScript 代码的方法,为开发者提供了便捷的跨语言执行方案。

🚀 快速开始

将 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 服务器提供以下两个工具:

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

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

✨ 主要特性

  • 实现了在 Python 环境中利用 MCP 协议从浏览器执行 JavaScript 代码。
  • 项目架构清晰,分为 Web Server 和 MCP 服务器两个主要组件,便于管理和维护。
  • 提供了实用的 MCP 工具,可方便地在浏览器中执行 JavaScript 操作。

🔧 技术细节

架构

项目分为两个主要组件:

  1. Web Server (web_server.py)
    • 处理浏览器通过 Server-Sent 事件 (SSE) 的连接,实现服务器与浏览器之间的实时通信。
    • 提供一个 REST API 端点用于执行 JavaScript,方便外部调用。
    • 同步返回结果,保证操作的实时性和准确性。
  2. MCP 服务器 (mcp_server.py)
    • 管理 Web 服务器的生命周期,确保 Web 服务器的稳定运行。
    • 提供 MCP 工具以在浏览器中执行 JavaScript,为开发者提供便捷的操作接口。
    • 通过 REST API 调用与 Web 服务器通信,实现组件之间的高效协作。

工作原理

  1. MCP 服务器在初始化生命周期时启动 Web 服务器。
  2. 浏览器通过 SSE 连接到 Web 服务器,建立实时通信通道。
  3. 当调用 MCP 工具时,它会向 Web 服务器发出 REST API 调用。
  4. Web 服务器通过 SSE 将 JavaScript 代码发送到浏览器。
  5. 浏览器执行代码并将结果通过 SSE 返回给 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"
]
}
...

启动 Web 服务器(用于测试)

python web_server.py

高级用法

使用 execute_javascript 工具执行 JavaScript 代码

通过 MCP 客户端调用 execute_javascript 工具,在浏览器中执行任意 JavaScript 代码。例如,在浏览器中弹出一个提示框:

# 假设存在一个 MCP 客户端对象 mcp_client
mcp_client.execute_javascript("alert('Hello, World!');")

使用 add_numbers 工具相加两个数字

# 假设存在一个 MCP 客户端对象 mcp_client
result = mcp_client.add_numbers(3, 5)
print(result)  # 输出相加结果

⚠️ 重要提示

⚠️ 重要提示

此 MCP 服务器可以在您的浏览器中执行任意的 JavaScript。这可能会很危险。请在了解其潜在影响后再使用此插件。自行承担风险。

🔧 开发

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

python web_server.py

这将启动仅包含 Web 服务器而不带 MCP 集成的服务,方便开发者进行测试和调试。

  • 0 关注
  • 0 收藏,20 浏览
  • system 提出于 2025-10-04 20:51

相似服务问题

相关AI产品