article
README
🚀 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 过滤,防止访问恶意网站。
- 脚本沙盒:所有用户提供的脚本都在隔离环境中执行,确保核心系统安全。
- 资源限制:每个浏览器实例都有独立的资源配额,防止资源滥用。
故障排除
问题排查步骤
- 检查浏览器日志,获取详细错误信息。
- 确保所有依赖项已正确安装并处于最新版本。
- 查看系统防火墙和安全软件是否阻止了必要的端口。
常见问题解答
- 问题:无法启动浏览器实例。
- 解决方法:检查是否有足够的权限,确保相关服务进程没有被杀掉。
扩展开发
创建插件
- 创建一个新的 Python 包。
- 在包中实现
IBrowserPlugin接口。 - 将插件注册到浏览器管理器。
示例插件代码
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
提交代码规范
- 为每个功能分支创建独立的开发分支。
- 在提交前确保通过所有单元测试和集成测试。
- 提供详细的变更日志,说明修改的内容和原因。
📄 许可证
本项目遵循 MIT 许可证。更多详细信息请参考 LICENSE 文件。
🔗 相关链接
🆘 支持与帮助
如遇到问题,请通过以下方式寻求支持:
- 提交 GitHub 问题:GitHub Issues
微信扫一扫