# Cremote MCP Tools - Comprehensive Workflow Examples This document provides practical workflow examples demonstrating how to use the enhanced cremote MCP tools for common automation tasks. ## 🎯 Form Automation Workflows ### 1. Efficient Registration Form Completion **Traditional Approach (10+ API calls):** ```yaml # Multiple individual interactions web_interact_cremotemcp: action: "fill" selector: "#firstName" value: "John" web_interact_cremotemcp: action: "fill" selector: "#lastName" value: "Doe" # ... 8 more individual calls ``` **Enhanced Approach (2-3 API calls):** ```yaml # 1. Check if form exists and analyze structure web_form_analyze_cremotemcp: selector: "#registration-form" # 2. Fill entire form in one call (10x efficiency) web_form_fill_bulk_cremotemcp: form_selector: "#registration-form" fields: firstName: "John" lastName: "Doe" email: "john.doe@example.com" password: "SecurePass123" confirmPassword: "SecurePass123" phone: "+1-555-0123" country: "United States" agreeToTerms: true # 3. Submit and verify web_interact_cremotemcp: action: "click" selector: "button[type='submit']" ``` ### 2. Multi-Step Form with Validation ```yaml # 1. Navigate and check page state web_navigate_cremotemcp: url: "https://example.com/multi-step-form" screenshot: true # 2. Check if first step is loaded web_element_check_cremotemcp: selector: "#step-1" check_type: "visible" # 3. Fill first step web_form_fill_bulk_cremotemcp: form_selector: "#step-1" fields: personalInfo: "John Doe" birthDate: "1990-01-01" # 4. Check if next button is enabled web_element_check_cremotemcp: selector: "#next-step-1" check_type: "enabled" # 5. Proceed to next step web_interact_cremotemcp: action: "click" selector: "#next-step-1" # 6. Wait for step 2 and continue web_element_check_cremotemcp: selector: "#step-2" check_type: "visible" ``` ## 📊 Data Extraction Workflows ### 3. E-commerce Product Analysis ```yaml # 1. Navigate to product listing web_navigate_cremotemcp: url: "https://shop.example.com/products" screenshot: true # 2. Get page performance metrics web_performance_metrics_cremotemcp: {} # 3. Extract all product data in one call web_extract_multiple_cremotemcp: selectors: product_titles: ".product-card h3" prices: ".product-card .price" ratings: ".product-card .rating" availability: ".product-card .stock-status" images: ".product-card img" # 4. Extract all product links with filtering web_extract_links_cremotemcp: container_selector: ".product-grid" href_pattern: ".*/product/.*" text_pattern: ".*" # 5. Extract pricing table if available web_extract_table_cremotemcp: selector: "#pricing-comparison" include_headers: true # 6. Check if more products are loading (infinite scroll) web_content_check_cremotemcp: type: "scripts" # 7. Take enhanced screenshot with metadata web_screenshot_enhanced_cremotemcp: output: "/tmp/product-analysis.png" full_page: true ``` ### 4. Contact Information Extraction ```yaml # 1. Navigate to contact page web_navigate_cremotemcp: url: "https://company.example.com/contact" # 2. Extract contact information with patterns web_extract_text_cremotemcp: selector: ".contact-info" pattern: "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b" extract_type: "textContent" # 3. Extract phone numbers web_extract_text_cremotemcp: selector: ".contact-info" pattern: "\\+?1?-?\\(?\\d{3}\\)?-?\\d{3}-?\\d{4}" extract_type: "textContent" # 4. Extract all contact-related links web_extract_links_cremotemcp: container_selector: ".contact-section" href_pattern: "(mailto:|tel:).*" # 5. Extract office locations from table web_extract_table_cremotemcp: selector: "#office-locations" include_headers: true ``` ## 🔍 Page Analysis Workflows ### 5. Comprehensive Site Health Check ```yaml # 1. Navigate and get initial state web_navigate_cremotemcp: url: "https://example.com" screenshot: true # 2. Get comprehensive page information web_page_info_cremotemcp: {} # 3. Get viewport and scroll information web_viewport_info_cremotemcp: {} # 4. Get performance metrics web_performance_metrics_cremotemcp: {} # 5. Check if all images are loaded web_content_check_cremotemcp: type: "images" # 6. Check if all scripts are loaded web_content_check_cremotemcp: type: "scripts" # 7. Check for JavaScript errors console_logs_cremotemcp: clear: false # 8. Take element-specific screenshots of key areas web_screenshot_element_cremotemcp: selector: "header" output: "/tmp/header-screenshot.png" web_screenshot_element_cremotemcp: selector: "main" output: "/tmp/main-content-screenshot.png" # 9. Take enhanced full-page screenshot web_screenshot_enhanced_cremotemcp: output: "/tmp/full-page-analysis.png" full_page: true ``` ### 6. Form Validation Testing ```yaml # 1. Navigate to form page web_navigate_cremotemcp: url: "https://example.com/contact-form" # 2. Analyze form structure web_form_analyze_cremotemcp: selector: "#contact-form" # 3. Test empty form submission web_interact_cremotemcp: action: "click" selector: "button[type='submit']" # 4. Check for validation errors web_element_check_cremotemcp: selector: ".error-message" check_type: "visible" # 5. Get error message attributes web_element_attributes_cremotemcp: selector: ".error-message" attributes: "textContent,class,style_display" # 6. Fill form with invalid data web_form_fill_bulk_cremotemcp: form_selector: "#contact-form" fields: email: "invalid-email" phone: "123" # 7. Submit and check validation web_interact_cremotemcp: action: "click" selector: "button[type='submit']" # 8. Screenshot validation state web_screenshot_element_cremotemcp: selector: "#contact-form" output: "/tmp/form-validation-errors.png" ``` ## 📁 File Management Workflows ### 7. Bulk File Operations ```yaml # 1. Upload multiple files for form submission file_operations_bulk_cremotemcp: operation: "upload" files: - local_path: "/local/documents/resume.pdf" container_path: "/tmp/resume.pdf" - local_path: "/local/documents/cover-letter.pdf" container_path: "/tmp/cover-letter.pdf" - local_path: "/local/images/profile.jpg" container_path: "/tmp/profile.jpg" # 2. Fill file upload form web_form_fill_bulk_cremotemcp: form_selector: "#application-form" fields: resume: "/tmp/resume.pdf" coverLetter: "/tmp/cover-letter.pdf" photo: "/tmp/profile.jpg" # 3. Submit application web_interact_cremotemcp: action: "click" selector: "#submit-application" # 4. Download confirmation documents file_operations_bulk_cremotemcp: operation: "download" files: - container_path: "/tmp/application-confirmation.pdf" local_path: "/local/downloads/confirmation.pdf" - container_path: "/tmp/receipt.pdf" local_path: "/local/downloads/receipt.pdf" # 5. Clean up temporary files file_management_cremotemcp: operation: "cleanup" pattern: "/tmp/application-*" max_age: "1" ``` ## 🎯 Advanced Automation Patterns ### 8. Conditional Workflow with Error Handling ```yaml # 1. Navigate with error checking web_navigate_cremotemcp: url: "https://example.com/dynamic-form" screenshot: true # 2. Check if login is required web_element_check_cremotemcp: selector: "#login-form" check_type: "exists" # 3. Conditional login (if login form exists) # This would be handled by LLM logic based on the check result web_form_fill_bulk_cremotemcp: form_selector: "#login-form" fields: username: "testuser" password: "testpass" # 4. Wait for page to load after login web_element_check_cremotemcp: selector: "#main-content" check_type: "visible" # 5. Check if target form is now available web_element_check_cremotemcp: selector: "#target-form" check_type: "all" # 6. Proceed with main workflow if form is ready web_form_analyze_cremotemcp: selector: "#target-form" ``` ### 9. Performance-Optimized Data Collection ```yaml # 1. Navigate and immediately start performance monitoring web_navigate_cremotemcp: url: "https://data-heavy-site.com" # 2. Get initial performance baseline web_performance_metrics_cremotemcp: {} # 3. Extract all data in parallel (single call) web_extract_multiple_cremotemcp: selectors: headlines: "h1, h2, h3" content: ".article-content" metadata: ".article-meta" tags: ".tag" authors: ".author" dates: ".publish-date" comments: ".comment-count" shares: ".share-count" # 4. Extract all navigation and content links web_extract_links_cremotemcp: container_selector: "main" href_pattern: ".*" # 5. Check final performance impact web_performance_metrics_cremotemcp: {} # 6. Take comprehensive documentation screenshot web_screenshot_enhanced_cremotemcp: output: "/tmp/data-collection-complete.png" full_page: true ``` ## 🚀 Best Practices Summary ### Efficiency Guidelines 1. **Use Batch Operations**: Prefer bulk tools over individual operations 2. **Check Before Acting**: Always verify element state before interaction 3. **Monitor Performance**: Use performance metrics for optimization 4. **Document with Screenshots**: Use enhanced screenshots for debugging ### Error Prevention 1. **Element Checking**: Use `web_element_check_cremotemcp` before interactions 2. **Form Analysis**: Use `web_form_analyze_cremotemcp` before filling forms 3. **Content Verification**: Use `web_content_check_cremotemcp` for loading states 4. **Console Monitoring**: Check `console_logs_cremotemcp` for JavaScript errors ### Performance Optimization 1. **Batch Data Extraction**: Use `web_extract_multiple_cremotemcp` for multiple selectors 2. **Bulk Form Filling**: Use `web_form_fill_bulk_cremotemcp` for complete forms 3. **Efficient File Operations**: Use `file_operations_bulk_cremotemcp` for multiple files 4. **Smart Screenshots**: Use `web_screenshot_element_cremotemcp` for targeted debugging --- **🎉 Production Ready**: These workflows demonstrate the 10x efficiency gains possible with the enhanced cremote MCP tools, optimized for LLM agents and production automation tasks.