返回市场
派 doll-MCP

派 doll-MCP

作者:JinsongRoh12 星标更新:2025-07-20

项目介绍

技术文档摘要

🤖 PyDoll MCP Server(pydoll-mcp) v1.5.16

<p align="center"> <img src="https://gips1.baidu.com/it/u=3269915531,3364147975&fm=3081&app=3081&f=PNG?w=512&h=171" alt="PyDoll Logo" width="200"/> </p> <p align="center"> <strong>终极浏览器自动化MCP服务器</strong><br> 革命性的零WebDriver自动化,智能验证码绕过及Windows兼容性 </p> <p align="center"> <a href="https://github.com/JinsongRoh/pydoll-mcp"> <img src="https://img.shields.io/github/stars/JinsongRoh/pydoll-mcp?style=flat-square&logo=github" alt="GitHub Stars"/> </a> <a href="https://pypi.org/project/pydoll-mcp/"> <img src="https://img.shields.io/pypi/dm/pydoll-mcp?style=flat-square&logo=pypi" alt="PyPI Downloads"/> </a> <a href="https://pypi.org/project/pydoll-mcp/"> <img src="https://img.shields.io/badge/PyPI-v1.5.16-blue?style=flat-square&logo=pypi" alt="PyPI"/> </a> <a href="https://github.com/autoscrape-labs/pydoll"> <img src="https://img.shields.io/badge/Powered%20by-PyDoll-green?style=flat-square" alt="Powered by PyDoll"/> </a> <a href="https://modelcontextprotocol.io/"> <img src="https://img.shields.io/badge/Protocol-MCP-orange?style=flat-square" alt="MCP Protocol"/> </a> <a href="https://smithery.ai/server/@JinsongRoh/pydoll-mcp"> <img src="https://img.shields.io/badge/Smithery-AI%20Directory-purple?style=flat-square" alt="Smithery AI"/> </a> </p>

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

🎯 关键浏览器控制修复

✅ 修复“未找到浏览器中的Tab None”错误

  • 修复了:导致“未找到Tab None”的关键标签管理问题
  • 增强:在所有工具中正确使用get_tab_with_fallback()
  • 改进:标签ID引用现在在回退后使用实际的标签ID
  • 修复了:脚本工具、元素工具和截图工具的标签处理

🔧 完整的元素查找重写

  • 新增:使用PyDoll原生API对element_tools.py进行完全重写
  • 增强:用于自然属性选择的原生find()方法
  • 改进:用于CSS选择器和XPath的原生query()方法
  • 修复了:移除了掩盖真实问题的execute_script工作绕行
  • 更好:没有模拟回退的错误处理

📋 技术改进

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

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

pip install --upgrade pydoll-mcp==1.5.16

📢 上一个更新 (v1.5.14 - 2025-07-20)

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

✅ 修复标签管理问题(关键)

  • 修复了:标签关闭操作现在真正关闭浏览器标签,而不仅仅是报告成功
  • 增强:为close_tab()添加了真实的PyDoll API集成,调用await tab.close()
  • 改进:API响应和实际浏览器状态之间的标签状态同步
  • 修复了:导致命令报告成功但浏览器无变化的标签管理断开

🔄 增强页面刷新功能

  • 修复了:刷新操作中的'Tab'对象没有'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标签识别问题
  • 添加了:针对Chrome浏览器的Windows特定参数以提高稳定性
  • 增强:具有多尝试验证系统的标签初始化
  • 改进:Windows平台上的浏览器启动兼容性
  • 优化:Windows系统上标签检测速度提高了40%

🔍 革命性的搜索自动化

  • 新增intelligent_search工具,可在任何网站上自动执行搜索
  • 添加了:具有智能回退的多策略元素查找
  • 增强:支持Google、Bing和DuckDuckGo的常见搜索元素选择器
  • 改进:类似人类的打字和提交搜索方法
  • 高级:自动检测网站类型并采用最优搜索策略

🔧 增强PyDoll集成

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

🧪 测试与质量保证

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

📢 上一个更新 (v1.5.9 - 2025-07-20)

🐛 关键错误修复

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

  • 修复了:浏览器的初始“新标签”未被检测到,导致list_tabs返回空数组
  • 增强:当浏览器启动时自动检测和注册初始标签
  • 添加了:默认标签现在在browser_instance.tabs字典中正确跟踪
  • 改进:浏览器启动时第一个标签自动设置为主动标签

🔧 修复缺失的MCP协议方法

  • 修复了:所需MCP协议方法的“未找到方法”错误
  • 添加了resources/list处理器(返回空列表)
  • 添加了prompts/list处理器(返回空列表)
  • 增强:完整的MCP协议合规性

📊 增强浏览器管理

  • 添加了active_tab_id属性以更好地跟踪标签
  • 改进:从浏览器创建到销毁的标签生命周期管理
  • 增强:浏览器启动时显示初始标签数的日志

📢 上一个更新 (v1.5.8 - 2025-07-20)

🔧 关键标签管理修复

✅ 修复标签管理系统(关键)

  • 修复了:标签导航错误 - 使用正确的tab.goto() API解决'Tab'对象没有'navigate'属性的问题
  • 增强:浏览器实例中的适当标签跟踪和生命周期管理
  • 修复了:通过实际标签管理而不是硬编码响应来解决“未找到标签”错误
  • 改进:导航工具可以正确访问浏览器实例中的标签
  • 添加了:主动标签跟踪,如果找不到标签则回退到第一个可用标签

📢 上一个更新 (v1.5.7 - 2025-07-20)

🔧 关键修复

✅ 修复浏览器序列化问题(关键)

  • 修复了:阻止浏览器启动的无法序列化未知类型: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中的缺失
  • 添加了:psutil依赖项以检测Chrome进程

🔧 技术改进

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

📢 上一个更新 (v1.5.3 - 2025-07-20)

🔧 质量改进与更新

✅ 文档增强

  • 改进:增强了包含全面功能列表的服务器模块文档
  • 更新:澄清了依赖要求以获得更好的兼容性
  • 修复了:更新了作者电子邮件地址以提供正确的联系方式

📦 依赖更新

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

📢 上一个更新 (v1.5.2 - 2025-07-20)

🐛 依赖修复

✅ 修复aiofiles版本冲突

  • 修复了:在Smithery.ai上的部署问题
  • 更新了:aiofiles要求为>=23.2.1,<24.0.0以兼容PyDoll 2.3.1

📢 上一个更新 (v1.5.1 - 2025-07-20)

🐛 关键错误修复

✅ 修复PyDoll兼容性问题

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

📢 上一个更新 (v1.5.0 - 2025-07-20)

🚀 重大性能和质量更新

✨ 性能增强

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

🧪 质量改进

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

📦 依赖更新

  • ✅ aiofiles:23.0.0 → 24.1.0(改进异步文件操作)
  • ✅ click:8.0.0 → 8.1.0(增强CLI功能)
  • ✅ mcp:1.0.0 → 1.2.0(最新的MCP协议特性)
  • ✅ pydantic:2.0.0 → 2.10.4(更好的验证和性能)

📊 性能基准

  • 浏览器创建:2.5秒 → 1.5秒(快40%)
  • 浏览器复用:N/A → 0.1秒(新功能)
  • 选项解析:50毫秒 → 5毫秒(快90%)
  • 内存使用:减少20%
  • 清理时间:5秒 → 2秒(快60%)

上一个更新 (v1.4.3 - 2025-07-20)

🚀 重大更新 - PyDoll 2.3.1兼容性

✨ 新功能

  • ✅ 支持PyDoll 2.3.1:更新以支持最新版本的PyDoll及其增强功能
  • ✅ 改进的脚本选择:更好的DOM元素查询和脚本执行
  • ✅ 增强的点击方法:更可靠的点击和选择方法
  • ✅ 获取命令改进:添加了支持字符串正文的获取命令处理
  • ✅ WebSocket 14.0支持:升级到最新的WebSocket版本以提高稳定性

🔧 改进

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

🐛 错误修复

  • ✅ Python布尔语法:修复了工具定义中的false/true到False/True
  • ✅ 请求正文类型:将获取命令中的正文类型从字典改为字符串
  • ✅ 选择器鲁棒性:改进了复杂DOM结构的选择器匹配

上一个更新 (v1.3.1 - 2025-07-20)

🔧 关键错误修复

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

上一个更新 (v1.3.0 - 2025-07-19)

🔥 重大PyDoll API集成升级

  • ✅ 实际PyDoll集成:用实际的PyDoll API调用替换了所有的模拟处理器
  • ✅ 导航工具:完全实现了navigate_torefresh_pagego_backget_current_urlget_page_titleget_page_source,使用真实的浏览器控制
  • **✅