UNPKG

aios-core

Version:

Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework

104 lines (90 loc) 3.71 kB
tool: schema_version: 1.0 id: browser type: mcp name: Browser Automation version: 1.0.0 description: Puppeteer-based browser automation for web scraping, testing, and interaction with web applications knowledge_strategy: declarative capabilities: - Navigate to URLs and take screenshots - Execute JavaScript in browser context - Click elements and fill forms - Extract content from web pages - Handle dynamic content and SPAs - Capture network requests - Manage cookies and local storage - Perform automated testing use_cases: - web_scraping: "Extract data from dynamic websites" - automated_testing: "Test web applications end-to-end" - screenshot_capture: "Capture visual representations of pages" - form_automation: "Automate form filling and submissions" - spa_interaction: "Interact with single-page applications" - performance_monitoring: "Capture network timing and metrics" mcp_specific: server_command: "npx -y @modelcontextprotocol/server-puppeteer" transport: stdio environment_variables: - name: PUPPETEER_EXECUTABLE_PATH required: false description: "Optional path to Chrome/Chromium executable" health_check: method: tool_call command: puppeteer_navigate expected_response: "Navigation success" timeout_ms: 30000 tools: - id: puppeteer_navigate description: "Navigate browser to a URL" parameters: - url: "URL to navigate to" - waitUntil: "Navigation event to wait for (load, domcontentloaded, networkidle0, networkidle2)" - id: puppeteer_screenshot description: "Capture screenshot of current page" parameters: - name: "Filename for screenshot" - fullPage: "Capture full scrollable page (default: false)" - type: "Image format (png, jpeg, webp)" - id: puppeteer_click description: "Click an element on the page" parameters: - selector: "CSS selector for element to click" - waitForNavigation: "Wait for navigation after click" - id: puppeteer_fill description: "Fill an input field" parameters: - selector: "CSS selector for input element" - value: "Value to type into input" - id: puppeteer_evaluate description: "Execute JavaScript in browser context" parameters: - script: "JavaScript code to execute" - args: "Optional arguments to pass to script" - id: puppeteer_content description: "Get HTML content of current page" parameters: [] - id: puppeteer_pdf description: "Generate PDF of current page" parameters: - path: "Filename for PDF" - format: "Paper format (A4, Letter, etc.)" - landscape: "Landscape orientation (default: false)" best_practices: - "Always navigate to page before interacting with elements" - "Use appropriate waitUntil strategies for different page types" - "Handle navigation timeouts gracefully" - "Close browser instances when done to free resources" - "Use headless mode for better performance unless debugging" - "Respect robots.txt and rate limits when scraping" security_considerations: - "Be cautious when executing user-provided JavaScript" - "Validate URLs before navigation" - "Be aware of XSS risks in evaluated scripts" - "Don't expose sensitive data in screenshots" limitations: - "Requires Chrome/Chromium installation" - "Resource intensive for multiple concurrent browsers" - "Some sites may block or detect automation" - "Navigation can be slow for heavy pages" - "May not work with all authentication flows"