Mcp Web Browser

Mcp Web Browser

🚀 MCP 网页浏览器服务器

MCP 网页浏览器服务器是一款功能强大的工具,它借助 Playwright 实现无头浏览器功能,支持多线程处理,具备扩展插件机制和安全隔离沙盒,能有效满足网页处理与自动化需求。

🚀 快速开始

安装依赖

pip install mcp-web-browser[master]

初始化配置

from mcp_web_browser import BrowserManager

# 创建浏览器管理器实例
browser_manager = BrowserManager()

# 启动默认浏览器实例
browser_manager.start_default_browser()

✨ 主要特性

  • 无头浏览器支持:通过 Playwright 提供强大的无头浏览器功能,支持多种主流浏览器内核(如 Chromium、Firefox 和 WebKit)。
  • 多线程处理:内置高效的多线程架构,能够同时处理多个网页请求和任务。
  • 扩展插件机制:支持灵活的扩展插件系统,用户可以根据需求自定义功能模块。
  • 安全隔离沙盒:每个浏览器实例运行在独立的沙盒环境中,确保相互之间不会受到干扰,有效防止恶意脚本攻击。

💻 使用示例

基础用法

# 创建一个新的 Chromium 浏览器实例
new_browser = browser_manager.create_browser_instance(engine='chromium')

# 访问指定 URL
new_browser.goto('https://www.example.com')

高级用法

# 查找并点击登录按钮
login_button = new_browser.find_element(by=By.CSS_SELECTOR, value='#login-btn')
login_button.click()

# 填写表单信息
username_input = new_browser.find_element(by=By.ID, value='username')
password_input = new_browser.find_element(by=By.ID, value='password')
username_input.send_keys('your_username')
password_input.send_keys('your_password')

🔧 技术细节

安全特性

  • 请求过滤:支持基于规则的 URL 过滤,防止访问恶意网站。
  • 脚本沙盒:所有用户提供的脚本都在隔离环境中执行,确保核心系统安全。
  • 资源限制:每个浏览器实例都有独立的资源配额,防止资源滥用。

故障排除

问题排查步骤

  1. 检查浏览器日志,获取详细错误信息。
  2. 确保所有依赖项已正确安装并处于最新版本。
  3. 查看系统防火墙和安全软件是否阻止了必要的端口。

常见问题解答

  • 问题:无法启动浏览器实例。
    • 解决方法:检查是否有足够的权限,确保相关服务进程没有被杀掉。

扩展开发

创建插件

  1. 创建一个新的 Python 包。
  2. 在包中实现 IBrowserPlugin 接口。
  3. 将插件注册到浏览器管理器。

示例插件代码

from mcp_web_browser.plugins import IBrowserPlugin

class MyCustomPlugin(IBrowserPlugin):
def on_before_navigate(self, browser, url):
print(f"即将访问: {url}")

def on_after_navigate(self, browser, url):
print(f"已访问: {url}")

贡献指南

开发环境搭建

git clone https://github.com/yourusername/mcp-web-browser.git
cd mcp-web-browser
pip install -r requirements.txt

提交代码规范

  1. 为每个功能分支创建独立的开发分支。
  2. 在提交前确保通过所有单元测试和集成测试。
  3. 提供详细的变更日志,说明修改的内容和原因。

📄 许可证

本项目遵循 MIT 许可证。更多详细信息请参考 LICENSE 文件。

🔗 相关链接

🆘 支持与帮助

如遇到问题,请通过以下方式寻求支持:

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

相似服务问题

相关AI产品