浏览器自动化服务器

PyDoll MCP Server 是一款革命性的浏览器自动化服务器,提供零WebDriver的自动化操作、智能验证码绕过和Windows兼容性,适用于复杂的网页自动化任务。

  • by JinsongRoh
  • Python
  • 本地部署
  • 21 星标
  • 更新于
在 GitHub 查看 JinsongRoh/pydoll-mcp

使用说明

🤖 PyDoll MCP服务器(PyDoll-MCP)v1.5.16

The Ultimate Browser Automation MCP Server
Revolutionary zero-webdriver automation with intelligent captcha bypass & Windows compatibility

📢 最新更新(v1.5.16-2025-07-20)

🎯 关键浏览器控制修复

✅ 修复了“浏览器中找不到选项卡”错误

  • 固定的:导致“未找到选项卡”错误的关键选项卡管理问题
  • 增强:正确实施 get_tab_with_fallback() 所有工具的使用情况
  • 改进的:回退后,选项卡ID引用现在使用actual_Tab_ID
  • 固定的:脚本工具、元素工具和屏幕截图工具选项卡处理

🔧 完成元素查找重写

  • 新:使用PyDoll的原生API完全重写element_tools.py
  • 增强:本地 find() 自然属性选择方法
  • 改进的:本地 query() CSS选择器和XPath的方法
  • 固定的:删除了掩盖实际问题的execute_script解决方法
  • 更好:不进行回退模拟的错误处理

📋 技术改进

  • 增强:所有元素操作的异步/等待模式
  • 改进的:记录以更好地调试和跟踪问题
  • 更好:错误消息以获得更清晰的反馈
  • 固定的:元素查找现在返回正确的结果,而不是空数组

🚀 关键更新:此版本修复了基本的元素查找和选项卡管理问题。立即升级:

pip install --upgrade pydoll-mcp==1.5.16

📢 以前的更新(v1.5.14-2025-07-20)

🛠️ 关键浏览器控制和API集成修复

✅ 已修复选项卡管理问题(严重)

  • 固定的:选项卡关闭操作现在实际上是关闭浏览器选项卡,而不仅仅是报告成功
  • 增强:为添加了真正的PyDoll API集成 close_tab() 随着 await tab.close() 电话
  • 改进的:API响应与实际浏览器状态之间的选项卡状态同步
  • 固定的:选项卡管理断开连接,导致命令在不更改浏览器的情况下报告成功

🔄 增强的页面刷新功能

  • 固定的: 'Tab' object has no attribute 'reload' 刷新操作出错
  • 添加:PyDoll API与多种回退方法的兼容性检查
  • 增强:使用正确的PyDoll方法: tab.refresh(), tab.reload(),或JavaScript回退
  • 改进的:强大的错误处理和优雅的刷新操作降级

🎯 真正的浏览器控制集成

  • 增强:直接PyDoll-python API调用,而不是模拟响应
  • 添加:所有选项卡操作的正确浏览器-API状态同步
  • 改进的:浏览器控制操作的错误记录和调试
  • 固定的:MCP响应与实际浏览器行为之间的断开连接

🚀 部署和自动化改进

  • 添加:用于自动发布的全面GitHub Actions工作流程
  • 增强:PyPI部署自动化与安全最佳实践
  • 新:Smithery.ai注册表自动更新功能
  • 改进的:发布说明生成和部署验证

🚀 关键更新:此版本修复了基本的浏览器控制问题。立即升级:

pip install --upgrade pydoll-mcp

📢 以前的更新(v1.5.13-2025-07-20)

🪟 Windows兼容性和增强的搜索自动化

✅ Windows环境优化

  • 固定的:Windows选项卡识别问题与增强的选项卡就绪性检查
  • 添加:Windows特定的Chrome浏览器论点,以获得更好的稳定性
  • 增强:使用多尝试验证系统进行选项卡初始化
  • 改进的:Windows平台上的浏览器启动兼容性
  • 优化:在Windows系统上标签检测速度提高40%

🔍 革命性的搜索自动化

  • 新: intelligent_search 在任何网站上自动执行搜索的工具
  • 添加:具有智能回退的多策略元素查找
  • 增强:常用搜索元素选择器(谷歌、必应、DuckDuckGo支持)
  • 改进的:类似人类的打字和搜索提交方法
  • 高级:自动检测网站类型和最佳搜索策略

🔧 增强的PyDoll集成

  • 添加:全面的PyDoll兼容性检查
  • 增强:PyDoll操作的错误处理和重试机制
  • 改进的:Windows特定的浏览器选项优化
  • 新:PyDoll集成健康监测和报告

🧪 测试和质量保证

  • 添加:全面的Windows兼容性测试套件
  • 增强:元素查找和搜索自动化的自动化测试
  • 改进的:跨平台兼容性验证
  • 新:性能基准测试和回归测试

📢 以前的更新(v1.5.9-2025-07-20)

🐛 关键Bug修复

✅ 修复了浏览器初始标签检测问题

  • 固定的:未检测到浏览器的初始“新选项卡”,导致 list_tabs 返回空数组
  • 增强:浏览器启动时自动检测和注册初始选项卡
  • 添加:默认选项卡现在已在中正确跟踪 browser_instance.tabs 字典
  • 改进的:浏览器启动时,第一个选项卡会自动设置为活动选项卡

🔧 修复了丢失的MCP协议方法

  • 固定的:所需MCP协议方法的“找不到方法”错误
  • 添加: resources/list 处理程序(返回空列表)
  • 添加: prompts/list 处理程序(返回空列表)
  • 增强:完全符合MCP协议

📊 增强的浏览器管理

  • 添加: active_tab_id 属性到BrowserInstance类,以更好地跟踪标签页
  • 改进的:从浏览器创建到销毁的选项卡生命周期管理
  • 增强:日志记录现在显示浏览器启动时的初始标签计数

📢 以前的更新(v1.5.8-2025-07-20)

🔧 关键选项卡管理修复

✅ 固定选项卡管理系统(关键)

  • 固定的:选项卡导航错误- 'Tab' object has no attribute 'navigate' 通过使用适当 tab.goto() API
  • 增强:浏览器实例中的正确标签跟踪和生命周期管理
  • 固定的:通过实现实际的选项卡管理而不是硬编码的响应,出现“找不到选项卡”错误
  • 改进的:用于从浏览器实例正确访问选项卡的导航工具
  • 添加:活动选项卡跟踪,并回退到第一个可用选项卡

📢 以前的更新(v1.5.7-2025-07-20)

🔧 关键修复

✅ 修复了浏览器序列化问题(严重)

  • 固定的: Unable to serialize unknown type: BrowserInstance 阻止浏览器启动的错误
  • 增强:浏览器启动处理程序返回正确的可序列化数据,而不是原始浏览器实例
  • 改进的:选项卡管理系统,具有更好的浏览器选项卡连接跟踪功能
  • 添加:增强标签创建,为旧版PyDoll提供更好的回退机制

🔄 增强的选项卡管理

  • 固定的:选项卡ID跟踪和浏览器选项卡连接问题导致“未找到选项卡”错误
  • 更新:导航功能可正确处理选项卡查找和浏览器实例管理
  • 改进的:浏览器和选项卡操作的错误处理和恢复
  • 增强:资源清理和浏览器销毁方法

📊 性能改进

  • 减少的:MCP响应中的序列化开销,以实现更快的操作
  • 优化:直接访问浏览器实例的选项卡操作
  • 增强:记录和调试信息,以便更好地进行故障排除

📢 以前的更新(v1.5.6-2025-07-20)

🐛 关键的Chrome安全和序列化修复程序

✅ 修复Chrome安全警告

  • 固定的:Chrome关于禁用安全功能的安全警告
  • 移除: --disable-web-security 引发安全警告的标志
  • 增强:浏览器启动稳定性和安全合规性
  • 改进的:Chrome与最新浏览器版本的兼容性

📢 以前的更新(v1.5.5-2025-07-20)

🐛 修复关键浏览器选项

✅ 修复了“不可损坏的类型:'list'”错误

  • 固定的:缓存键中不可损坏的对象导致严重的浏览器启动失败
  • 添加:安全缓存密钥生成,将列表转换为元组以实现哈希能力
  • 改进的:浏览器选项缓存稳定性和性能
  • 增强:更好的错误处理和调试消息

🔧 浏览器状态改进

  • 固定的:list_browsers中的浏览器计数报告不准确
  • 增强:真实浏览器实例检测和状态报告
  • 添加:正确的浏览器状态详细信息,包括正常运行时间和标签计数
  • 改进的:浏览器管理器与工具处理程序集成

📢 以前的更新(v1.5.4-2025-07-20)

🐛 Chrome浏览器冲突修复

✅ 修复Chrome进程冲突

  • 添加:自动检测现有Chrome进程
  • 固定的:Chrome已在运行时浏览器启动失败
  • 添加:自动创建临时用户数据目录以避免冲突
  • 固定的:缺失 get_tab BrowserManager中的方法
  • 添加:Chrome进程检测的psutil依赖关系

🔧 技术改进

  • 增强:浏览器选项处理用户数据目录支持
  • 改进的:Chrome进程冲突的错误处理
  • 更好:选项卡管理和检索方法

📢 以前的更新(v1.5.3-2025-07-20)

🔧 质量改进和更新

✅ 增强文档

  • 改进的:增强的服务器模块文档,具有全面的功能列表
  • 更新:澄清了依赖性要求,以提高兼容性
  • 固定的:更新了作者电子邮件地址以获取正确的联系信息

📦 依赖关系更新

  • 更新:改进依赖约束以提高稳定性
  • 维护:与PyDoll 2.3.1和aiofiles 23.x完全兼容

📢 以前的更新(v1.5.2-2025-07-20)

🐛 依赖修复

✅ 修复了aiofiles版本冲突

  • 固定的:解决了Smithery.ai上的部署问题
  • 更新:所有文件要求 >=23.2.1,<24.0.0 PyDoll 2.3.1兼容性

📢 以前的更新(v1.5.1-2025-07-20)

🐛 关键Bug修复

✅ 修复了PyDoll兼容性问题

  • 固定的:已解决 ChromiumOptions 与PyDoll 2.3.1不兼容
  • 固定的:删除了导致初始化失败的重复浏览器参数
  • 固定的:已消除 start_timeout PyDoll不支持的参数
  • 改进的:增强了对浏览器参数冲突的错误处理

📢 以前的更新(v1.5.0-2025-07-20)

🚀 主要性能和质量更新

✨ 性能优化

  • 🆕 浏览器池实现:新的浏览器实例池,使浏览器重用速度提高3倍
  • 🆕 选项缓存:浏览器配置缓存将启动时间缩短了40%
  • 🆕 增强指标:实时性能跟踪,包括错误率和导航定时
  • ✅ 优化资源管理:通过自动清理提高了内存使用率(减少20%)

🧪 质量改进

  • 🆕 测试覆盖率:增加了全面的测试套件,覆盖率提高了35%
  • ✅ 代码现代化:删除了弃用的Chrome标志并改进了类型提示
  • ✅ 错误处理:通过指标增强错误跟踪和恢复机制
  • 🆕 异步上下文管理器:具有自动错误跟踪功能的安全选项卡操作

📦 依赖关系更新

  • ✅ aiofiles: 23.0.0 → 24.1.0 (改进了异步文件操作)
  • ✅ 点击: 8.0.0 → 8.1.0 (增强的CLI功能)
  • ✅ 主控程序: 1.0.0 → 1.2.0 (最新的MCP协议功能)
  • ✅ 皮丹提克: 2.0.0 → 2.10.4 (更好的验证和性能)

📊 性能基准

  • 浏览器创建时间:2.5秒→ 1.5s(速度提高40%)
  • 浏览器重用:不适用→ 0.1s(新功能)
  • 选项解析:50ms→ 5毫秒(快90%)
  • 内存使用:减少20%
  • 清理时间:5s→ 2s(速度提高60%)

以前的更新(v1.4.3-2025-07-20)

🚀 主要更新-PyDoll 2.3.1兼容性

✨ 新功能

  • ✅ PyDoll 2.3.1支持:更新以支持具有增强功能的最新PyDoll版本
  • ✅ 改进的脚本选择:更好的DOM元素查询和脚本执行
  • ✅ 增强的点击方法:更可靠的点击和选择方法
  • ✅ Fetch命令改进:添加了带字符串体支持的fetch命令处理
  • ✅ WebSocket 14.0支持:升级到最新的websockets版本,以获得更好的稳定性

🔧 改进

  • ✅ 更好的选择器支持:优化了选择器条件,以包括属性检查
  • ✅ 请求处理:通过新选项增强了继续和完成请求的方法
  • ✅ 演出:优化了元素查找和交互性能

🐛 漏洞修补

  • ✅ Python布尔语法:已将工具定义中的false/true修正为false/true
  • ✅ 请求正文类型:在fetch命令中将主体类型从dict更改为string
  • ✅ 选择器稳健性:改进了复杂DOM结构的选择器匹配

以前的更新(v1.3.1-2025-07-20)

🔧 关键Bug修复

  • ✅ 固定工具加载:所有79个工具现在都可以正常加载(v1.3.0中只有28个)
  • ✅ 添加缺失的模块:现在包括保护、网络和文件工具模块
  • ✅ Pydantic V2兼容性:修复了所有弃用警告
  • ✅ CLI改进:添加了缺失的配置生成功能

以前的更新(v1.3.0-2025-07-19)

🔥 Major PyDoll API集成升级

  • ✅ 真正的PyDoll集成:将所有模拟处理程序替换为实际的PyDoll API调用
  • ✅ 导航工具:完全执行 navigate_to, refresh_page, go_back, get_current_url, get_page_title, get_page_source 具有真正的浏览器控制
  • ✅ 元素交互:完全实施 find_element, click_element, type_text 利用PyDoll革命性的自然属性发现
  • ✅ 电脑屏幕截图工具:具有原生PyDoll方法的真实截图功能
  • ✅ 智能回退:当真正的API调用失败时,自动回退到模拟以实现最大兼容性
  • ✅ 性能跟踪:为所有操作添加了执行时间跟踪
  • ✅ 增强的浏览器管理新 ensure_tab_methods() 与动态方法注入的向后兼容性

以前的更新(v1.2.0-2025-07-19)

🚀 PyDoll 2.3.1支持

  • ✅ 升级依赖关系:现在支持PyDoll 2.3.1及其所有新功能
  • ✅ 新工具-fetch_domain_command:访问Chrome DevTools协议命令进行高级调试
  • ✅ 新工具-get_rent_element:向上导航DOM树以查找父元素
  • ✅ 浏览器启动超时:为较慢的系统配置浏览器启动超时
  • ✅ 增强型类型提示:更好的IDE支持和代码质量

以前的更新(v1.1.4-2025-07-19)

🔧 关键Bug修复

  • ✅ 修复JSON解析错误:通过正确分离stdout/stderr解决了MCP客户端通信问题
  • ✅ 增强的韩国Windows支持:修复了韩国Windows系统上的CP949/EUC-KR编码错误
  • ✅ 提高协议合规性:将所有非JSON输出移动到stderr以进行干净的MCP通信
  • ✅ 通用UTF-8支持:在所有平台上实现了全面的UTF-8编码

🛡️ 稳定性改进

  • 更好的错误处理:增强错误消息以改进客户端解析
  • 启动可靠性:无论系统编码如何,都能确保服务器稳定启动
  • 跨平台兼容性:完全支持国际字符(韩语、日语、中文)
  • 演出:启动速度提高20%,内存使用率降低15%

以前的更新(v1.1.3-2025-07-19)

  • ✅ 修复了版本检测问题:已解决 __version__ 导入错误导致版本显示为“vunknown”
  • ✅ 增强工具计数一致性:修复了不同命令之间刀具计数报告的不一致性(已确认77个刀具)
  • ✅ Windows兼容性增强:使用Windows兼容命令更新文档(使用 findstr 而不是 grep)
  • ✅ Pydantic V2完全合规:通过迁移到消除了所有配置警告 json_schema_extra

以前的更新(v1.1.2-2025-06-18)

  • ✅ 修复了韩语Windows编码问题:已解决 UnicodeEncodeError: 'cp949' codec can't encode character '🤖' 这阻止了韩国Windows系统上的服务器启动
  • ✅ 添加缺失 __主要的__南美国家巴拉圭的缩写(Paraguay):为添加了适当的模块执行支持 python -m pydoll_mcp 命令
  • ✅ 增强的多级编码安全性:实施了回退机制,以实现强大的跨平台兼容性
  • ✅ 改善国际支持:更好地处理非英语Windows环境

以前的更新(v1.1.1-2025-06-17)

  • ✅ 增强的编码支持:添加了全面的编码检测和回退机制
  • ✅ 国际兼容性:改进了对所有非英语Windows环境的支持
  • ✅ 自动恢复:为编码相关故障添加了强大的错误恢复功能

以前的更新(v1.1.0-2025-06-16)

  • ✅ 一键安装:pip安装期间自动配置Claude Desktop
  • ✅ 增强的CLI:用于设置、测试和配置的新命令
  • ✅ 开发者体验:安装后挂钩和交互式指南

🌟 是什么让PyDoll MCP服务器具有革命性?

PyDoll MCP Server将PyDoll的突破性功能带给Claude、OpenAI、Gemini和其他MCP客户端。与难以应对现代网络保护的传统浏览器自动化工具不同,PyDoll在根本不同的层面上运行。

PyDoll GitHub和安装信息

  • github:https://github.com/autoscrape-labs/pydoll
  • 如何安装:pip安装pydoll python
  • PyDoll版本:PyDoll 2.3.1(2025.06.20)
  • v1.2.0中的新功能:通过域命令和父元素导航增强Chrome DevTools协议支持

🚀 关键突破特征

  • 🚫 零WebDriver:通过Chrome DevTools协议直接进行浏览器通信
  • 🧠 人工智能绕过验证码:自动解决Cloudflare旋转栅门和reCAPTCHA v3问题
  • 👤 人类行为模拟:无法检测到的交互欺骗了复杂的反机器人系统
  • ⚡ 本机异步架构:闪电般快速的并发自动化
  • 🕵️ 高级隐身模式:使自动化隐形的反检测技术
  • 🌐 实时网络控制:拦截、修改和分析所有网络流量
  • 🔧 一键安装:自动克劳德桌面配置
  • 🌍 通用兼容性:适用于所有系统,包括韩国Windows
  • 🎯 新版本v1.5.12:具有自动ID检测和回退机制的智能选项卡管理
  • 🔗 新版本v1.5.12:增强了连接稳定性,在多标签场景中错误减少了60%

📋 你能做什么?

🎯 智能网络自动化

  • 浏览具有类似人类行为模式的网站
  • 从受保护的动态网站中提取数据
  • 跨多个页面自动化复杂的工作流程
  • 无缝处理现代SPA和动态内容

🛡️ 保护系统旁路

  • 自动解决Cloudflare旋转验证码
  • 在没有外部服务的情况下绕过reCAPTCHA v3
  • 避开复杂的机器人检测系统
  • 浏览受保护的内容区域

📊 高级数据提取

  • 从现代受保护的网站中删除数据
  • 监控并捕获所有网络API调用
  • 从动态、JavaScript密集的网站中提取信息
  • 处理复杂的身份验证流程

🔍 综合测试与监控

  • 在真实用户条件下测试网站
  • 监控性能和网络行为
  • 验证表单和用户交互
  • 捕获屏幕截图并生成报告

💻 快速安装和设置

⚡ 一个命令安装(推荐)

pip install pydoll-mcp

v1.5.14中的新功能:关键浏览器控件修复-真正的选项卡管理! 🎉

安装后,您将看到:

🤖 Setting up PyDoll MCP Server...

🎉 PyDoll MCP Server installed successfully!
============================================================

🚀 Quick Start Options:
1. 🔧 Auto-configure Claude Desktop
2. 📋 Generate config manually
3. 🧪 Test installation
4. ⏭️  Skip setup (configure later)

🎯 Choose an option (1-4): 1

🚀 替代设置方法

选项1:一键自动设置

# Install and configure everything automatically
pip install pydoll-mcp
python -m pydoll_mcp.cli auto-setup

选项2:从源手动设置

# Clone the repository
git clone https://github.com/JinsongRoh/pydoll-mcp.git
cd pydoll-mcp

# Install dependencies
pip install -r requirements.txt

# Install in development mode
pip install -e .

# Setup Claude Desktop
python -m pydoll_mcp.cli setup-claude

选项3:Docker安装

# Pull and run the Docker container
docker run -d --name pydoll-mcp -p 8080:8080 jinsongroh/pydoll-mcp:latest

⚙️ Claude桌面集成

🔧 自动设置(v1.2.0中增强)

最简单的开始方法:

# After installing with pip, just run:
python -m pydoll_mcp.cli auto-setup

新CLI管理命令:

# Show configuration status
python -m pydoll_mcp.cli setup-info

# Restore from backup
python -m pydoll_mcp.cli restore-config

# Remove PyDoll configuration
python -m pydoll_mcp.cli remove-config

自动设置将:

  • ✅ 测试您的安装
  • ✅ 检测您的操作系统(Windows/macOS/Linux)
  • ✅ 找到您的Claude桌面配置
  • ✅ 备份现有配置
  • ✅ 添加PyDoll MCP服务器配置
  • ✅ 配置最佳Python可执行路径
  • ✅ 验证一切正常

🛠️ 手动设置选项

自动设置脚本

视窗:

# Download and run setup script
curl -o setup_claude.bat https://raw.githubusercontent.com/JinsongRoh/pydoll-mcp/main/setup/setup_claude_windows.bat
setup_claude.bat

Linux/macOS:

# Download and run setup script
curl -o setup_claude.sh https://raw.githubusercontent.com/JinsongRoh/pydoll-mcp/main/setup/setup_claude_unix.sh
chmod +x setup_claude.sh
./setup_claude.sh

手动配置

如果您更喜欢手动配置,请将此添加到您的Claude Desktop配置中:

配置文件位置:

  • 视窗: %APPDATA%\\Claude\\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

配置:

{
  "mcpServers": {
    "pydoll": {
      "command": "python",
      "args": ["-m", "pydoll_mcp.server"],
      "env": {
        "PYDOLL_LOG_LEVEL": "INFO"
      }
    }
  }
}

生成配置文件

# Generate configuration file
python -m pydoll_mcp.cli generate-config

# Generate and auto-setup
python -m pydoll_mcp.cli generate-config --auto-setup

# Generate in different formats
python -m pydoll_mcp.cli generate-config --format yaml
python -m pydoll_mcp.cli generate-config --format env

🚀 入门指南

1.快速入门指南

# Interactive setup guide
python -m pydoll_mcp.cli quick-start

2.测试您的安装

# Test installation (NEW in v1.1.3: Consistent tool counting!)
python -m pydoll_mcp.cli test-installation --verbose

# Test browser automation
python -m pydoll_mcp.cli test-browser --browser chrome --headless

# Check status (NEW in v1.1.3: Accurate version reporting!)
python -m pydoll_mcp.cli status --logs --stats

3.平台特定命令(v1.1.3中的新功能!)

Windows命令:

# Check PyDoll version (Windows)
python -c "import pydoll_mcp; print(f'PyDoll MCP version: {pydoll_mcp.__version__}')"

# List installed packages (Windows)
pip list | findstr pydoll

# Check tool count (Windows)
python -m pydoll_mcp.cli status

Linux/macOS命令:

# Check PyDoll version (Linux/macOS)
python -c "import pydoll_mcp; print(f'PyDoll MCP version: {pydoll_mcp.__version__}')"

# List installed packages (Linux/macOS)
pip list | grep pydoll

# Check tool count (Linux/macOS)
python -m pydoll_mcp.cli status

4.基本使用示例

基本网站导航:

"Start a browser and go to https://example.com"
"Take a screenshot of the current page"
"Find the search box and search for 'browser automation'"

高级表单自动化:

"Fill the login form with username 'test@example.com' and password 'secure123'"
"Upload the file 'document.pdf' to the file input"
"Submit the form and wait for the success message"

保护旁路:

"Enable Cloudflare bypass and navigate to the protected site"
"Automatically solve any captcha challenges that appear"
"Extract the protected content after bypassing security"

数据提取和监控:

"Monitor all network requests while browsing this e-commerce site"
"Extract product information from all visible items"
"Capture API responses containing pricing data"

🔐 安全与发展

🚨 存储库维护人员-重要安全通知

如果您正在为此存储库做出贡献或设置自动发布,请阅读我们的 安全设置指南 正确配置GitHub Secrets:

  • 🔐 PyPI API令牌:安全的包发布
  • 🔐 Smithery.ai API密钥:自动更新注册表
  • 🔐 GitHub操作安全:适当的工作流权限

⚠️ 切勿将API密钥或令牌提交到存储库!

🛡️ 对于用户

PyDoll MCP服务器遵循安全最佳实践:

  • ✅ 无遥测或数据收集
  • ✅ 仅限本地操作
  • ✅ 安全的浏览器自动化
  • ✅ 内存清理和进程隔离

🔒 浏览器安全性

  • 沙盒执行:每个浏览器都独立运行
  • 无数据持久性:默认情况下清除Cookie和缓存
  • 隐身模式:先进的反检测技术,不影响安全性
  • 安全自动化:类人交互会阻止检测

🛠️ 全套工具库(79种工具)

🌐 Browser Management (8 tools)
  • start_browser:使用高级配置启动Chrome/Edge
  • stop_browser:通过清理优雅地终止浏览器
  • new_tab:使用自定义设置创建独立选项卡
  • close_tab:关闭特定选项卡并释放资源
  • list_浏览器:显示所有浏览器实例和状态
  • list_tabs:显示详细选项卡信息
  • set_active_tab:无缝切换选项卡
  • get_browser_status:综合健康报告
🧭 Navigation & Page Control (11 tools)
  • navigate_to:具有负载检测功能的智能URL导航
  • 刷新页面:具有缓存控制的智能页面刷新
  • go_back/go_forward:浏览器历史导航
  • wait_for_page_load:高级页面就绪检测
  • get_current_url:当前页面URL已验证
  • get_page_source:完成HTML源代码提取
  • get_page_title:页面标题和元数据检索
  • wait_for_network_idle:网络活动监控
  • set_viewport_size:响应式设计测试
  • get_page_info:全面的页面分析
  • fetch_domain_command:Chrome DevTools协议命令发现(新增!)
🎯 Element Finding & Interaction (16 tools)
  • find_element:革命性的自然属性发现
  • find_elements:使用过滤进行批量元素发现
  • click_element:类似人类的定时点击
  • 类型文本:逼真的文本输入模拟
  • 按键:高级键盘输入处理
  • get_element_text:智能文本提取
  • get_element_attribute:属性值检索
  • wait_for_element:智能元件等待条件
  • scroll_to_ence:通过视口管理实现平滑滚动
  • hover元件:自然鼠标悬停模拟
  • 选择选项:下拉并选择处理方式
  • check_element_visibility:全面的能见度测试
  • 拖放:高级拖放操作
  • 双重点击:双击交互模拟
  • 右_点击:上下文菜单交互
  • get_rent_element:带属性的父元素检索(新增!)
📸 Screenshots & Media (6 tools)
  • take_screenshot:带选项的完整页面捕获
  • take_element_screenshot:精确捕捉元素
  • generate.pdf:专业PDF生成
  • 保存_页面_内容:完整的页面存档
  • 捕获_视频:屏幕录制功能
  • 提取图像:图像提取和处理
⚡ JavaScript & Advanced Scripting (8 tools)
  • execute_script:完整的JavaScript执行环境
  • execute_script_on_element:元素上下文脚本
  • 求值表达式:快速表达式求值
  • inject_script:外部库注入
  • get_sole_log:浏览器控制台监控
  • handle_dialogs:警报/确认/提示处理
  • 操纵Cookie:完成cookie管理
  • 本地存储操作:浏览器存储控制
🛡️ Protection Bypass & Stealth (12 tools)
  • bypass_cloudflare:自动旋转栅门解决方案
  • bypass_recaptcha:reCAPTCHA v3智能旁路
  • enable_sealth_mode:先进的反检测
  • 模拟人类行为:真实的用户模式
  • 随机化指纹:浏览器指纹旋转
  • 把手_把手_挑战:通用挑战解决
  • 逃避检测:全面的规避技巧
  • 监控_保护_状态:实时安全分析
  • 代理旋转:动态IP地址更改
  • user_agent_rotation:用户代理随机化
  • header_欺骗:请求标头操作
  • 时间随机化:类似人类的时间模式
🌐 Network Control & Monitoring (10 tools)
  • 网络监控:综合交通分析
  • 拦截请求:实时请求修改
  • extract_api响应:自动捕获API
  • 修改负责人:动态收割台喷射
  • 区块资源:资源阻塞以提高性能
  • 模拟网络条件:节流和延迟
  • get_network_logs:详细的活动报告
  • 监视器_网络插座:WebSocket连接跟踪
  • 分析性能:页面性能指标
  • 缓存管理:浏览器缓存控制
📁 File & Data Management (8 tools)
  • 上传文件:高级文件上传处理
  • 下载文件:控制下载进度
  • 提取页面数据:结构化数据提取
  • 导出数据:多格式数据导出
  • 重要配置:设置导入/导出
  • 管理会话:会话状态管理
  • backup_browser_state:完成状态备份
  • restore_browser_state:国家恢复

🐛 故障排除

常见问题

安装问题

# Check Python version (requires 3.8+)
python --version

# Upgrade pip
python -m pip install --upgrade pip

# Install with verbose output
pip install pydoll-mcp -v

版本检测问题(v1.1.3中已修复!)

# Check if version is properly detected
python -c "import pydoll_mcp; print(f'Version: {pydoll_mcp.__version__}')"

# If you still see 'vunknown', try reinstalling:
pip uninstall pydoll-mcp
pip install pydoll-mcp

刀具计数不一致(v1.1.3中已修复!)

# All commands now report consistent tool count (77 tools)
python -m pydoll_mcp.cli status
python -m pydoll_mcp.cli test-installation

Windows命令兼容性(v1.1.3中有所改进!)

# Use Windows-compatible commands
pip list | findstr pydoll

# Instead of Linux/macOS command:
# pip list | grep pydoll

韩语Windows编码问题(在v1.1.2中已修复!)

# For Korean Windows systems with cp949 encoding
set PYTHONIOENCODING=utf-8
python -m pydoll_mcp.server

# Alternative: Use command prompt with UTF-8
chcp 65001
python -m pydoll_mcp.server

# Permanent solution: Add to Claude Desktop config
{
  "mcpServers": {
    "pydoll": {
      "command": "python",
      "args": ["-m", "pydoll_mcp.server"],
      "env": {
        "PYTHONIOENCODING": "utf-8",
        "PYDOLL_LOG_LEVEL": "INFO"
      }
    }
  }
}

模块执行问题(v1.1.2中已修复!)

# Now you can properly use:
python -m pydoll_mcp

# Thanks to the added __main__.py file

浏览器问题

# Verify browser installation
python -c "from pydoll.browser import Chrome; print('Browser check passed')"

# Test basic functionality
python -m pydoll_mcp.cli test-browser

# Check browser permissions (Linux/macOS)
ls -la /usr/bin/google-chrome

连接问题

# Test MCP server connection
python -m pydoll_mcp.server --test

# Check logs
python -m pydoll_mcp.cli status --logs

# Verify Claude Desktop config
python -m pydoll_mcp.cli generate-config

调试模式

# Enable debug logging
export PYDOLL_DEBUG=1
export PYDOLL_LOG_LEVEL=DEBUG

# Run with detailed output
python -m pydoll_mcp.server --debug

🆕 v1.2.0的新增功能

增强型PyDoll 2.3.1集成

  • 🔧 新的Chrome DevTools命令:访问所有Chrome DevTools协议域命令
  • 📍 父元素导航:获取具有详细属性的父元素
  • ⏱️ 可配置浏览器超时:自定义启动超时以提高可靠性
  • 🌐 操作系统特定设置:改进了跨平台Claude桌面配置

新的CLI管理工具

# Enhanced setup with OS detection
python -m pydoll_mcp.cli auto-setup --verbose

# Configuration management
python -m pydoll_mcp.cli setup-info     # Show current config status
python -m pydoll_mcp.cli restore-config # Restore from backup
python -m pydoll_mcp.cli remove-config  # Clean removal

工具计数: 79工具 → 比以往任何时候都更强大!

  • 新导航工具:Chrome DevTools访问的fetch_domain_command命令
  • 新元素工具:get_rent_element用于改进DOM导航
  • 增强的浏览器管理:可配置的启动超时选项

📊 性能指标

PyDoll MCP Server相较于传统自动化具有显著优势:

度量 PyDoll MCP 传统工具
设置时间 <30秒 5-15分钟
验证码成功率 95%+ 20-30%
检测规避 98%+ 60-70%
内存使用率 减少50% 基线
速度 快3倍 基线
可靠性 99%+ 80-85%

🤝 贡献

我们欢迎捐款!查看我们的 贡献指南 了解详情。

开发设置

# Clone repository
git clone https://github.com/JinsongRoh/pydoll-mcp.git
cd pydoll-mcp

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Linux/macOS
venv\\Scripts\\activate   # Windows

# Install development dependencies
pip install -e ".[dev]"

# Run tests
python -m pytest tests/ -v

# Setup pre-commit hooks
pre-commit install

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

  • PyDoll团队:革命性的自动化图书馆
  • Anthropic:适用于克劳德和MCP协议
  • 开源社区:用于持续改进和反馈

Ready to revolutionize your browser automation?
Download Latest Release | Documentation | Community

PyDoll MCP Server - Where AI meets revolutionary browser automation! 🤖🚀