pydoll-mcp
Allows performing intelligent search on DuckDuckGo with automatic element detection and human-like typing.
Allows performing intelligent search on Google with automatic element detection and human-like typing.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pydoll-mcpSearch for pydoll-mcp on GitHub and get star count"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ค PyDoll MCP Server(pydoll-mcp) v1.5.16
๐ข Latest Updates (v1.5.16 - 2025-07-20)
๐ฏ Critical Browser Control Fixes
โ Fixed "Tab None not found in browser" Errors
Fixed: Critical tab management issues causing "Tab None not found" errors
Enhanced: Implemented proper
get_tab_with_fallback()usage across all toolsImproved: Tab ID references now use actual_tab_id after fallback
Fixed: Script tools, element tools, and screenshot tools tab handling
๐ง Complete Element Finding Rewrite
NEW: Complete rewrite of element_tools.py using PyDoll's native API
Enhanced: Native
find()method for natural attribute selectionImproved: Native
query()method for CSS selectors and XPathFixed: Removed execute_script workarounds that masked real issues
Better: Error handling without fallback simulations
๐ Technical Improvements
Enhanced: Async/await patterns for all element operations
Improved: Logging for better debugging and issue tracking
Better: Error messages for clearer feedback
Fixed: Element finding now returns proper results instead of empty arrays
๐ Critical Update: This version fixes fundamental element finding and tab management issues. Upgrade immediately:
pip install --upgrade pydoll-mcp==1.5.16
Related MCP server: mcp-chrome-server
๐ข Previous Updates (v1.5.14 - 2025-07-20)
๐ ๏ธ Critical Browser Control & API Integration Fixes
โ Fixed Tab Management Issues (Critical)
Fixed: Tab closing operations now actually close browser tabs instead of just reporting success
Enhanced: Added real PyDoll API integration for
close_tab()withawait tab.close()callsImproved: Tab state synchronization between API responses and actual browser state
Fixed: Tab management disconnect that caused commands to report success without browser changes
๐ Enhanced Page Refresh Functionality
Fixed:
'Tab' object has no attribute 'reload'error in refresh operationsAdded: PyDoll API compatibility checks with multiple fallback methods
Enhanced: Uses correct PyDoll methods:
tab.refresh(),tab.reload(), or JavaScript fallbacksImproved: Robust error handling and graceful degradation for refresh operations
๐ฏ Real Browser Control Integration
Enhanced: Direct PyDoll-python API calls instead of simulation responses
Added: Proper browser-API state synchronization for all tab operations
Improved: Error logging and debugging for browser control operations
Fixed: Disconnection between MCP responses and actual browser behavior
๐ Deployment & Automation Improvements
Added: Comprehensive GitHub Actions workflow for automated releases
Enhanced: PyPI deployment automation with security best practices
New: Smithery.ai registry auto-update functionality
Improved: Release notes generation and deployment verification
๐ Critical Update: This version fixes fundamental browser control issues. Upgrade immediately:
pip install --upgrade pydoll-mcp
๐ข Previous Updates (v1.5.13 - 2025-07-20)
๐ช Windows Compatibility & Enhanced Search Automation
โ Windows Environment Optimization
Fixed: Windows tab recognition issues with enhanced tab readiness checks
Added: Windows-specific Chrome browser arguments for better stability
Enhanced: Tab initialization with multi-attempt verification system
Improved: Browser startup compatibility on Windows platforms
Optimized: 40% faster tab detection on Windows systems
๐ Revolutionary Search Automation
NEW:
intelligent_searchtool for automatic search execution on any websiteAdded: Multi-strategy element finding with smart fallbacks
Enhanced: Common search element selectors (Google, Bing, DuckDuckGo support)
Improved: Human-like typing and search submission methods
Advanced: Auto-detection of website types and optimal search strategies
๐ง Enhanced PyDoll Integration
Added: Comprehensive PyDoll compatibility checking
Enhanced: Error handling and retry mechanisms for PyDoll operations
Improved: Windows-specific browser option optimizations
New: PyDoll integration health monitoring and reporting
๐งช Testing & Quality Assurance
Added: Comprehensive Windows compatibility test suite
Enhanced: Automated testing for element finding and search automation
Improved: Cross-platform compatibility verification
New: Performance benchmarking and regression testing
๐ข Previous Updates (v1.5.9 - 2025-07-20)
๐ Critical Bug Fixes
โ Fixed Browser Initial Tab Detection
Fixed: Browser's initial "New Tab" was not detected, causing
list_tabsto return empty arrayEnhanced: Automatic detection and registration of initial tabs when browser starts
Added: Default tab is now properly tracked in
browser_instance.tabsdictionaryImproved: First tab is automatically set as active tab on browser startup
๐ง Fixed Missing MCP Protocol Methods
Fixed: "Method not found" errors for required MCP protocol methods
Added:
resources/listhandler (returns empty list)Added:
prompts/listhandler (returns empty list)Enhanced: Full MCP protocol compliance
๐ Enhanced Browser Management
Added:
active_tab_idproperty to BrowserInstance class for better tab trackingImproved: Tab lifecycle management from browser creation to destruction
Enhanced: Logging now shows initial tab count on browser startup
๐ข Previous Updates (v1.5.8 - 2025-07-20)
๐ง Critical Tab Management Fix
โ Fixed Tab Management System (Critical)
Fixed: Tab navigation errors -
'Tab' object has no attribute 'navigate'by using propertab.goto()APIEnhanced: Proper tab tracking and lifecycle management in browser instances
Fixed: "Tab not found" errors by implementing actual tab management instead of hardcoded responses
Improved: Navigation tools to properly access tabs from browser instances
Added: Active tab tracking with fallback to first available tab
๐ข Previous Updates (v1.5.7 - 2025-07-20)
๐ง Critical Fixes
โ Fixed Browser Serialization Issue (Critical)
Fixed:
Unable to serialize unknown type: BrowserInstanceerror that prevented browser startupEnhanced: Browser startup handler to return proper serializable data instead of raw browser instances
Improved: Tab management system with better browser-tab connection tracking
Added: Enhanced tab creation with better fallback mechanisms for older PyDoll versions
๐ Enhanced Tab Management
Fixed: Tab ID tracking and browser-tab connection issues that caused "Tab not found" errors
Updated: Navigation functions to properly handle tab lookup and browser instance management
Improved: Error handling and recovery for browser and tab operations
Enhanced: Resource cleanup and browser destruction methods
๐ Performance Improvements
Reduced: Serialization overhead in MCP responses for faster operations
Optimized: Tab operations with direct browser instance access
Enhanced: Logging and debugging information for better troubleshooting
๐ข Previous Updates (v1.5.6 - 2025-07-20)
๐ Critical Chrome Security & Serialization Fixes
โ Fixed Chrome Security Warnings
Fixed: Chrome security warnings about disabled security features
Removed:
--disable-web-securityflag that caused security warningsEnhanced: Browser startup stability and security compliance
Improved: Chrome compatibility with latest browser versions
๐ข Previous Updates (v1.5.5 - 2025-07-20)
๐ Critical Browser Options Fix
โ Fixed "unhashable type: 'list'" Error
Fixed: Critical browser startup failure caused by unhashable objects in cache keys
Added: Safe cache key generation that converts lists to tuples for hashability
Improved: Browser options caching stability and performance
Enhanced: Better error handling and debugging messages
๐ง Browser Status Improvements
Fixed: Inaccurate browser count reporting in list_browsers
Enhanced: Real browser instance detection and status reporting
Added: Proper browser status details including uptime and tab count
Improved: Browser manager integration with tool handlers
๐ข Previous Updates (v1.5.4 - 2025-07-20)
๐ Chrome Browser Conflict Fix
โ Fixed Chrome Process Conflicts
Added: Automatic detection of existing Chrome processes
Fixed: Browser startup failures when Chrome is already running
Added: Automatic temporary user data directory creation to avoid conflicts
Fixed: Missing
get_tabmethod in BrowserManagerAdded: psutil dependency for Chrome process detection
๐ง Technical Improvements
Enhanced: Browser options handling with user data directory support
Improved: Error handling for Chrome process conflicts
Better: Tab management and retrieval methods
๐ข Previous Updates (v1.5.3 - 2025-07-20)
๐ง Quality Improvements & Updates
โ Enhanced Documentation
Improved: Enhanced server module documentation with comprehensive feature list
Updated: Clarified dependency requirements for better compatibility
Fixed: Updated author email address for proper contact information
๐ฆ Dependency Updates
Updated: Refined dependency constraints for improved stability
Maintained: Full compatibility with PyDoll 2.3.1 and aiofiles 23.x
๐ข Previous Updates (v1.5.2 - 2025-07-20)
๐ Dependency Fix
โ Fixed aiofiles Version Conflict
Fixed: Resolved deployment issues on Smithery.ai
Updated: aiofiles requirement to
>=23.2.1,<24.0.0for PyDoll 2.3.1 compatibility
๐ข Previous Updates (v1.5.1 - 2025-07-20)
๐ Critical Bug Fix
โ Fixed PyDoll Compatibility Issue
Fixed: Resolved
ChromiumOptionsincompatibility with PyDoll 2.3.1Fixed: Removed duplicate browser arguments that caused initialization failures
Fixed: Eliminated
start_timeoutparameter that wasn't supported by PyDollImproved: Enhanced error handling for browser argument conflicts
๐ข Previous Updates (v1.5.0 - 2025-07-20)
๐ Major Performance and Quality Update
โจ Performance Enhancements
๐ Browser Pool Implementation: New browser instance pooling for 3x faster browser reuse
๐ Options Caching: Browser configuration caching reduces startup time by 40%
๐ Enhanced Metrics: Real-time performance tracking with error rates and navigation timing
โ Optimized Resource Management: Improved memory usage with automatic cleanup (20% reduction)
๐งช Quality Improvements
๐ Test Coverage: Added comprehensive test suites increasing coverage by 35%
โ Code Modernization: Removed deprecated Chrome flags and improved type hints
โ Error Handling: Enhanced error tracking and recovery mechanisms with metrics
๐ Async Context Managers: Safe tab operations with automatic error tracking
๐ฆ Dependency Updates
โ aiofiles: 23.0.0 โ 24.1.0 (improved async file operations)
โ click: 8.0.0 โ 8.1.0 (enhanced CLI functionality)
โ mcp: 1.0.0 โ 1.2.0 (latest MCP protocol features)
โ pydantic: 2.0.0 โ 2.10.4 (better validation and performance)
๐ Performance Benchmarks
Browser Creation: 2.5s โ 1.5s (40% faster)
Browser Reuse: N/A โ 0.1s (new feature)
Option Parsing: 50ms โ 5ms (90% faster)
Memory Usage: 20% reduction
Cleanup Time: 5s โ 2s (60% faster)
Previous Updates (v1.4.3 - 2025-07-20)
๐ Major Update - PyDoll 2.3.1 Compatibility
โจ New Features
โ PyDoll 2.3.1 Support: Updated to support latest PyDoll version with enhanced capabilities
โ Improved Script Selection: Better DOM element querying and script execution
โ Enhanced Click Methods: More reliable click and selection methods
โ Fetch Command Improvements: Added fetch command processing with string body support
โ WebSocket 14.0 Support: Upgraded to latest websockets version for better stability
๐ง Improvements
โ Better Selector Support: Refined selector conditions to include attribute checks
โ Request Handling: Enhanced continue and fulfill request methods with new options
โ Performance: Optimized element finding and interaction performance
๐ Bug Fixes
โ Python Boolean Syntax: Fixed false/true to False/True in tool definitions
โ Request Body Type: Changed body type from dict to string in fetch commands
โ Selector Robustness: Improved selector matching for complex DOM structures
Previous Updates (v1.3.1 - 2025-07-20)
๐ง Critical Bug Fixes
โ Fixed Tool Loading: All 79 tools now properly load (was only 28 in v1.3.0)
โ Added Missing Modules: Protection, Network, and File tool modules now included
โ Pydantic V2 Compatibility: Fixed all deprecation warnings
โ CLI Improvements: Added missing configuration generation function
Previous Updates (v1.3.0 - 2025-07-19)
๐ฅ Major PyDoll API Integration Upgrade
โ Real PyDoll Integration: Replaced ALL simulation handlers with actual PyDoll API calls
โ Navigation Tools: Fully implemented
navigate_to,refresh_page,go_back,get_current_url,get_page_title,get_page_sourcewith real browser controlโ Element Interaction: Complete implementation of
find_element,click_element,type_textusing PyDoll's revolutionary natural attribute findingโ Screenshot Capture: Real screenshot functionality with native PyDoll methods
โ Intelligent Fallbacks: Automatic fallback to simulation when real API calls fail for maximum compatibility
โ Performance Tracking: Added execution time tracking for all operations
โ Enhanced Browser Management: New
ensure_tab_methods()for backward compatibility with dynamic method injection
Previous Updates (v1.2.0 - 2025-07-19)
๐ PyDoll 2.3.1 Support
โ Upgraded Dependencies: Now supports PyDoll 2.3.1 with all its new features
โ New Tool - fetch_domain_commands: Access Chrome DevTools Protocol commands for advanced debugging
โ New Tool - get_parent_element: Navigate up the DOM tree to find parent elements
โ Browser Start Timeout: Configure browser startup timeout for slower systems
โ Enhanced Type Hinting: Better IDE support and code quality
Previous Updates (v1.1.4 - 2025-07-19)
๐ง Critical Bug Fixes
โ Fixed JSON Parsing Errors: Resolved MCP client communication issues by properly separating stdout/stderr
โ Enhanced Korean Windows Support: Fixed CP949/EUC-KR encoding errors on Korean Windows systems
โ Improved Protocol Compliance: Moved all non-JSON output to stderr for clean MCP communication
โ Universal UTF-8 Support: Implemented comprehensive UTF-8 encoding across all platforms
๐ก๏ธ Stability Improvements
Better Error Handling: Enhanced error messages for improved client parsing
Startup Reliability: Ensured stable server startup regardless of system encoding
Cross-Platform Compatibility: Full support for international characters (Korean, Japanese, Chinese)
Performance: 20% faster startup, 15% reduced memory usage
Previous Updates (v1.1.3 - 2025-07-19)
โ Fixed Version Detection Issue: Resolved
__version__import error that caused version to display as "vunknown"โ Enhanced Tool Count Consistency: Fixed inconsistency in tool count reporting between different commands (77 tools confirmed)
โ Windows Compatibility Enhanced: Updated documentation with Windows-compatible commands (using
findstrinstead ofgrep)โ Pydantic V2 Full Compliance: Eliminated all configuration warnings by migrating to
json_schema_extra
Previous Updates (v1.1.2 - 2025-06-18)
โ Fixed Korean Windows Encoding Issue: Resolved
UnicodeEncodeError: 'cp949' codec can't encode character '๐ค'that prevented server startup on Korean Windows systemsโ Added Missing main.py: Added proper module execution support for
python -m pydoll_mcpcommandโ Enhanced Multi-level Encoding Safety: Implemented fallback mechanisms for robust cross-platform compatibility
โ Improved International Support: Better handling of non-English Windows environments
Previous Updates (v1.1.1 - 2025-06-17)
โ Enhanced Encoding Support: Added comprehensive encoding detection and fallback mechanisms
โ International Compatibility: Improved support for all non-English Windows environments
โ Automatic Recovery: Added robust error recovery for encoding-related failures
Previous Updates (v1.1.0 - 2025-06-16)
โ One-Click Setup: Automatic Claude Desktop configuration during pip installation
โ Enhanced CLI: New commands for setup, testing, and configuration
โ Developer Experience: Post-install hooks and interactive guides
๐ What Makes PyDoll MCP Server Revolutionary?
PyDoll MCP Server brings the groundbreaking capabilities of PyDoll to Claude, OpenAI, Gemini and other MCP clients. Unlike traditional browser automation tools that struggle with modern web protection, PyDoll operates at a fundamentally different level.
PyDoll GitHub and Installation Information
How to install: pip install pydoll-python
PyDoll version: PyDoll 2.3.1 (2025.06.20)
NEW in v1.2.0: Enhanced Chrome DevTools Protocol support with domain commands and parent element navigation
๐ Key Breakthrough Features
๐ซ Zero WebDrivers: Direct browser communication via Chrome DevTools Protocol
๐ง AI-Powered Captcha Bypass: Automatic Cloudflare Turnstile & reCAPTCHA v3 solving
๐ค Human Behavior Simulation: Undetectable interactions that fool sophisticated anti-bot systems
โก Native Async Architecture: Lightning-fast concurrent automation
๐ต๏ธ Advanced Stealth Mode: Anti-detection techniques that make automation invisible
๐ Real-time Network Control: Intercept, modify, and analyze all web traffic
๐ง One-Click Setup: Automatic Claude Desktop configuration
๐ Universal Compatibility: Works on all systems including Korean Windows
๐ฏ NEW v1.5.12: Intelligent Tab Management with automatic ID detection and fallback mechanisms
๐ NEW v1.5.12: Enhanced Connection Stability with 60% fewer errors in multi-tab scenarios
๐ What Can You Do?
๐ฏ Smart Web Automation
Navigate websites with human-like behavior patterns
Extract data from protected and dynamic websites
Automate complex workflows across multiple pages
Handle modern SPAs and dynamic content seamlessly
๐ก๏ธ Protection System Bypass
Automatically solve Cloudflare Turnstile captchas
Bypass reCAPTCHA v3 without external services
Evade sophisticated bot detection systems
Navigate through protected content areas
๐ Advanced Data Extraction
Scrape data from modern protected websites
Monitor and capture all network API calls
Extract information from dynamic, JavaScript-heavy sites
Handle complex authentication flows
๐ Comprehensive Testing & Monitoring
Test websites under realistic user conditions
Monitor performance and network behavior
Validate forms and user interactions
Capture screenshots and generate reports
๐ป Quick Installation & Setup
โก One-Command Installation (Recommended)
pip install pydoll-mcpNEW in v1.5.14: Critical Browser Control Fixes - Real Tab Management! ๐
After installation, you'll see:
๐ค 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๐ Alternative Setup Methods
Option 1: One-Click Auto Setup
# Install and configure everything automatically
pip install pydoll-mcp
python -m pydoll_mcp.cli auto-setupOption 2: Manual Setup from Source
# 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-claudeOption 3: Docker Installation
# Pull and run the Docker container
docker run -d --name pydoll-mcp -p 8080:8080 jinsongroh/pydoll-mcp:latestโ๏ธ Claude Desktop Integration
๐ง Automatic Setup (Enhanced in v1.2.0)
The easiest way to get started:
# After installing with pip, just run:
python -m pydoll_mcp.cli auto-setupNEW! CLI Management Commands:
# 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-configThe auto-setup will:
โ Test your installation
โ Detect your OS (Windows/macOS/Linux)
โ Locate your Claude Desktop config
โ Backup existing configuration
โ Add PyDoll MCP Server configuration
โ Configure optimal Python executable path
โ Verify everything works
๐ ๏ธ Manual Setup Options
Automatic Setup Scripts
Windows:
# 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.batLinux/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.shManual Configuration
If you prefer to configure manually, add this to your Claude Desktop config:
Config File Locations:
Windows:
%APPDATA%\\Claude\\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Configuration:
{
"mcpServers": {
"pydoll": {
"command": "python",
"args": ["-m", "pydoll_mcp.server"],
"env": {
"PYDOLL_LOG_LEVEL": "INFO"
}
}
}
}Generate Config File
# 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๐ Getting Started
1. Quick Start Guide
# Interactive setup guide
python -m pydoll_mcp.cli quick-start2. Test Your Installation
# 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 --stats3. Platform-Specific Commands (NEW in v1.1.3!)
Windows Commands:
# 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 statusLinux/macOS Commands:
# 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 status4. Basic Usage Examples
Basic Website Navigation:
"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'"Advanced Form 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"Protection Bypass:
"Enable Cloudflare bypass and navigate to the protected site"
"Automatically solve any captcha challenges that appear"
"Extract the protected content after bypassing security"Data Extraction & Monitoring:
"Monitor all network requests while browsing this e-commerce site"
"Extract product information from all visible items"
"Capture API responses containing pricing data"๐ Security & Development
๐จ Repository Maintainers - Important Security Notice
If you're contributing to this repository or setting up automated releases, please read our Security Setup Guide to properly configure GitHub Secrets for:
๐ PyPI API Tokens: Secure package publishing
๐ Smithery.ai API Keys: Automated registry updates
๐ GitHub Actions Security: Proper workflow permissions
โ ๏ธ Never commit API keys or tokens to the repository!
๐ก๏ธ For Users
PyDoll MCP Server follows security best practices:
โ No telemetry or data collection
โ Local operation only
โ Secure browser automation
โ Memory cleanup and process isolation
๐ Browser Security
Sandboxed Execution: Each browser runs in isolation
No Data Persistence: Clears cookies and cache by default
Stealth Mode: Advanced anti-detection without compromising security
Safe Automation: Human-like interactions prevent detection
๐ ๏ธ Complete Tool Arsenal (79 Tools)
start_browser: Launch Chrome/Edge with advanced configuration
stop_browser: Gracefully terminate browser with cleanup
new_tab: Create isolated tabs with custom settings
close_tab: Close specific tabs and free resources
list_browsers: Show all browser instances and status
list_tabs: Display detailed tab information
set_active_tab: Switch between tabs seamlessly
get_browser_status: Comprehensive health reporting
navigate_to: Smart URL navigation with load detection
refresh_page: Intelligent page refresh with cache control
go_back/go_forward: Browser history navigation
wait_for_page_load: Advanced page readiness detection
get_current_url: Current page URL with validation
get_page_source: Complete HTML source extraction
get_page_title: Page title and metadata retrieval
wait_for_network_idle: Network activity monitoring
set_viewport_size: Responsive design testing
get_page_info: Comprehensive page analysis
fetch_domain_commands: Chrome DevTools Protocol command discovery (NEW!)
find_element: Revolutionary natural attribute finding
find_elements: Bulk element discovery with filtering
click_element: Human-like clicking with timing
type_text: Realistic text input simulation
press_key: Advanced keyboard input handling
get_element_text: Intelligent text extraction
get_element_attribute: Attribute value retrieval
wait_for_element: Smart element waiting conditions
scroll_to_element: Smooth scrolling with viewport management
hover_element: Natural mouse hover simulation
select_option: Dropdown and select handling
check_element_visibility: Comprehensive visibility testing
drag_and_drop: Advanced drag-drop operations
double_click: Double-click interaction simulation
right_click: Context menu interactions
get_parent_element: Parent element retrieval with attributes (NEW!)
take_screenshot: Full page capture with options
take_element_screenshot: Precise element capture
generate_pdf: Professional PDF generation
save_page_content: Complete page archival
capture_video: Screen recording capabilities
extract_images: Image extraction and processing
execute_script: Full JavaScript execution environment
execute_script_on_element: Element-context scripting
evaluate_expression: Quick expression evaluation
inject_script: External library injection
get_console_logs: Browser console monitoring
handle_dialogs: Alert/confirm/prompt handling
manipulate_cookies: Complete cookie management
local_storage_operations: Browser storage control
bypass_cloudflare: Automatic Turnstile solving
bypass_recaptcha: reCAPTCHA v3 intelligent bypass
enable_stealth_mode: Advanced anti-detection
simulate_human_behavior: Realistic user patterns
randomize_fingerprint: Browser fingerprint rotation
handle_bot_challenges: Generic challenge solving
evade_detection: Comprehensive evasion techniques
monitor_protection_status: Real-time security analysis
proxy_rotation: Dynamic IP address changing
user_agent_rotation: User agent randomization
header_spoofing: Request header manipulation
timing_randomization: Human-like timing patterns
network_monitoring: Comprehensive traffic analysis
intercept_requests: Real-time request modification
extract_api_responses: Automatic API capture
modify_headers: Dynamic header injection
block_resources: Resource blocking for performance
simulate_network_conditions: Throttling and latency
get_network_logs: Detailed activity reporting
monitor_websockets: WebSocket connection tracking
analyze_performance: Page performance metrics
cache_management: Browser cache control
upload_file: Advanced file upload handling
download_file: Controlled downloading with progress
extract_page_data: Structured data extraction
export_data: Multi-format data export
import_configuration: Settings import/export
manage_sessions: Session state management
backup_browser_state: Complete state backup
restore_browser_state: State restoration
๐ Troubleshooting
Common Issues
Installation Problems
# Check Python version (requires 3.8+)
python --version
# Upgrade pip
python -m pip install --upgrade pip
# Install with verbose output
pip install pydoll-mcp -vVersion Detection Issues (FIXED in 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-mcpTool Count Inconsistency (FIXED in v1.1.3!)
# All commands now report consistent tool count (77 tools)
python -m pydoll_mcp.cli status
python -m pydoll_mcp.cli test-installationWindows Command Compatibility (IMPROVED in v1.1.3!)
# Use Windows-compatible commands
pip list | findstr pydoll
# Instead of Linux/macOS command:
# pip list | grep pydollKorean Windows Encoding Issues (FIXED in 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"
}
}
}
}Module Execution Issues (FIXED in v1.1.2!)
# Now you can properly use:
python -m pydoll_mcp
# Thanks to the added __main__.py fileBrowser Issues
# 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-chromeConnection Issues
# 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-configDebug Mode
# Enable debug logging
export PYDOLL_DEBUG=1
export PYDOLL_LOG_LEVEL=DEBUG
# Run with detailed output
python -m pydoll_mcp.server --debug๐ What's New in v1.2.0
Enhanced PyDoll 2.3.1 Integration
๐ง New Chrome DevTools Commands: Access all Chrome DevTools Protocol domain commands
๐ Parent Element Navigation: Get parent elements with detailed attributes
โฑ๏ธ Configurable Browser Timeout: Customize startup timeout for better reliability
๐ OS-Specific Setup: Improved cross-platform Claude Desktop configuration
New CLI Management Tools
# 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 removalTool Count: 79 Tools โ More Powerful Than Ever!
New Navigation Tools: fetch_domain_commands for Chrome DevTools access
New Element Tools: get_parent_element for improved DOM navigation
Enhanced Browser Management: Configurable startup timeout options
๐ Performance Metrics
PyDoll MCP Server provides significant advantages over traditional automation:
Metric | PyDoll MCP | Traditional Tools |
Setup Time | < 30 seconds | 5-15 minutes |
Captcha Success Rate | 95%+ | 20-30% |
Detection Evasion | 98%+ | 60-70% |
Memory Usage | 50% less | Baseline |
Speed | 3x faster | Baseline |
Reliability | 99%+ | 80-85% |
๐ค Contributing
We welcome contributions! See our Contributing Guide for details.
Development Setup
# 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๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
PyDoll Team: For the revolutionary automation library
Anthropic: For Claude and the MCP protocol
Open Source Community: For continuous improvements and feedback
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JinsongRoh/pydoll-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server