{"skill":{"slug":"skill-6","displayName":"Aipex Browser","summary":"AI-powered browser automation using the AIPex Chrome Extension via MCP bridge. Use this skill when the agent needs to control a Chrome browser — navigating p...","description":"---\nname: aipex-browser\ndescription: AI-powered browser automation using the AIPex Chrome Extension via MCP bridge. Use this skill when the agent needs to control a Chrome browser — navigating pages, clicking elements, filling forms, capturing screenshots, managing tabs, or downloading content — by connecting to the AIPex MCP bridge.\nversion: 1.0.0\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - npx\n    emoji: \"🌐\"\n    homepage: https://aipex.ai\n    os: [macos, linux, windows]\n---\n\n# AIPex Browser Control\n\nAIPex is a Chrome extension that exposes 30+ browser automation tools over the Model Context Protocol (MCP). Once connected, the agent can control any Chrome tab using natural language — clicking, typing, navigating, capturing screenshots, downloading content, and more.\n\n**Architecture:**\n```\nAgent (MCP client) ──stdio──▶ aipex-mcp-bridge ──WebSocket──▶ AIPex Chrome Extension ──▶ Browser APIs\n```\n\n---\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n\n- Navigate to URLs, click links, fill forms, or interact with any web page\n- Automate multi-step browser workflows\n- Extract or download data from web pages\n- Capture screenshots of browser tabs\n- Manage multiple tabs across browser windows\n- Perform browser-assisted testing (accessibility, UX, regression)\n\n---\n\n## Prerequisites\n\n- **AIPex Chrome extension** installed (available on the Chrome Web Store or via developer build)\n- **Node.js >= 18** installed on the local machine\n\nThe user is assumed to have AIPex installed. The agent only needs to complete the two connection steps below.\n\n---\n\n## Step 1: Register the MCP Server\n\nAdd the following to the agent's MCP configuration. No manual installation is needed — `npx` downloads and runs `aipex-mcp-bridge` automatically.\n\n### Cursor (`.cursor/mcp.json`)\n\n```json\n{\n  \"mcpServers\": {\n    \"aipex-browser\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"aipex-mcp-bridge\"]\n    }\n  }\n}\n```\n\n### Claude Desktop (`claude_desktop_config.json`)\n\n```json\n{\n  \"mcpServers\": {\n    \"aipex-browser\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"aipex-mcp-bridge\"]\n    }\n  }\n}\n```\n\n### Claude Code (CLI)\n\n```bash\nclaude mcp add aipex-browser -- npx -y aipex-mcp-bridge\n```\n\n### VS Code Copilot (`.vscode/mcp.json`)\n\n```json\n{\n  \"servers\": {\n    \"aipex-browser\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"aipex-mcp-bridge\"]\n    }\n  }\n}\n```\n\n### Windsurf (`mcp_config.json`)\n\n```json\n{\n  \"mcpServers\": {\n    \"aipex-browser\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"aipex-mcp-bridge\"]\n    }\n  }\n}\n```\n\n### Custom port (optional)\n\nThe bridge listens on `localhost:9223` by default. To use a different port:\n\n```json\n{\n  \"mcpServers\": {\n    \"aipex-browser\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"aipex-mcp-bridge\", \"--port\", \"9224\"]\n    }\n  }\n}\n```\n\nThen use `ws://localhost:9224` in Step 2.\n\n---\n\n## Step 2: Connect the AIPex Extension to the Bridge\n\nAfter the MCP server is registered and running:\n\n1. Open Chrome and click the **AIPex** extension icon\n2. Go to **Options** (or right-click the icon → \"Extension options\")\n3. Find the **WebSocket Connection** section\n4. Enter: `ws://localhost:9223`\n5. Click **Connect**\n\nThe bridge and extension will handshake, and all browser tools will become available to the agent.\n\n**Verifying the connection:** If only a single tool called `check_aipex_connection` is visible, the extension has not yet connected. Follow Step 2 again, then reload the MCP server in agent settings.\n\n---\n\n## Tool Usage Strategy (IMPORTANT)\n\nAlways follow this priority order to minimize token cost and latency:\n\n### Priority 1 — `search_elements` (always try first)\n\nQuery the page's accessibility tree to find elements and get their UIDs. Fast, cheap, requires no screenshot.\n\n```\nsearch_elements(tabId, \"{button,input,textarea,select,a}*\")\n```\n\n### Priority 2 — UID-based interaction (preferred)\n\nUse UIDs returned by `search_elements` to interact directly:\n\n- `click(tabId, uid)` — click any element\n- `fill_element_by_uid(tabId, uid, value)` — type into inputs\n- `hover_element_by_uid(tabId, uid)` — reveal menus or tooltips\n\n### Priority 3 — `capture_screenshot` + `computer` (high-cost fallback only)\n\nUse only when `search_elements` fails after two different query attempts, or when pixel-level interaction is required (canvas, drag-and-drop, sliders).\n\n1. `capture_screenshot(sendToLLM=true)` — see the page\n2. `computer(action, coordinate)` — click/type at pixel coordinates\n\n### Standard Workflow\n\n```\nget_all_tabs()\n  → search_elements(tabId, \"<pattern>\")\n  → click(tabId, uid)  OR  fill_element_by_uid(tabId, uid, value)\n  → [capture_screenshot(sendToLLM=true) to verify if needed]\n```\n\n---\n\n## Available Tool Categories\n\n| Category | Tools | Description |\n|---|---|---|\n| Tab Management | 8 tools | Open, close, switch, pin, group tabs |\n| UI Interaction | 7 tools | Click, fill, hover, keyboard, coordinate-based |\n| Page Content | 4 tools | Metadata, scroll, highlight elements/text |\n| Screenshots | 2 tools | Capture visible tab or specific tab |\n| Downloads | 3 tools | Save text as markdown, download images |\n| Human Intervention | 4 tools | Request user input mid-automation |\n\n**Key tools by category:**\n\n| Category | Key Tools |\n|---|---|\n| Tab | `get_all_tabs`, `switch_to_tab`, `create_new_tab`, `close_tab` |\n| UI | `search_elements`, `click`, `fill_element_by_uid`, `computer` |\n| Page | `get_page_metadata`, `scroll_to_element`, `highlight_element` |\n| Screenshot | `capture_screenshot`, `capture_tab_screenshot` |\n| Download | `download_text_as_markdown`, `download_image` |\n| Intervention | `request_intervention`, `list_interventions` |\n\nTo load complete parameter schemas and examples for every tool:\n\n```\nread_skill_reference(\"aipex-browser\", \"references/tools-reference.md\")\n```\n\n---\n\n## Common Patterns\n\n### Navigate to a URL and click a button\n\n```\ncreate_new_tab(\"https://example.com\")\n→ search_elements(tabId, \"*[Ss]ubmit*\")\n→ click(tabId, uid)\n```\n\n### Fill a login form\n\n```\nget_all_tabs()\n→ search_elements(tabId, \"{input,textbox}*\")\n→ fill_element_by_uid(tabId, emailUid, \"user@example.com\")\n→ fill_element_by_uid(tabId, passwordUid, \"secret\")\n→ search_elements(tabId, \"*[Ll]ogin*\")\n→ click(tabId, uid)\n```\n\n### Extract page content to markdown\n\n```\nget_page_metadata()\n→ download_text_as_markdown(content, \"page-extract\")\n```\n\n### Visual verification\n\n```\ncapture_screenshot(sendToLLM=true)\n```\n\n---\n\n## Troubleshooting\n\n| Symptom | Likely Cause | Fix |\n|---|---|---|\n| Only `check_aipex_connection` visible | Extension not connected to bridge | Open AIPex Options → set WebSocket URL → Connect |\n| Port 9223 already in use | Port conflict on machine | Use `--port 9224` in MCP config and `ws://localhost:9224` in extension |\n| `search_elements` returns 0 results | Page uses canvas or non-semantic HTML | Fall back to `capture_screenshot(sendToLLM=true)` + `computer` tool |\n| Connection drops frequently | Service worker sleep cycle | AIPex uses keepalive pings; reconnect extension from Options if needed |\n| Tools appear but calls time out | Bridge not receiving WebSocket messages | Restart bridge: reload MCP server in agent settings |\n","tags":{"latest":"0.1.0"},"stats":{"comments":0,"downloads":777,"installsAllTime":0,"installsCurrent":0,"stars":2,"versions":1},"createdAt":1772414077390,"updatedAt":1779077547965},"latestVersion":{"version":"0.1.0","createdAt":1772414077390,"changelog":"Initial release: AI-powered browser automation skill via AIPex Chrome Extension.\n\n- Enables agents to control Chrome (navigation, clicks, form filling, screenshots, tab management, downloads) through the AIPex MCP bridge.\n- Provides detailed setup instructions for various agent environments and config files.\n- Describes tool usage strategy to optimize reliability and minimize token usage.\n- Lists 30+ available browser automation tools grouped by category.\n- Includes troubleshooting guidance for common connectivity issues.","license":null},"metadata":{"setup":[],"os":["macos","linux","windows"],"systems":null},"owner":{"handle":"buttercannfly","userId":"s17d6z1garjsf9qtz4h4a5844983tvsz","displayName":"ropzislaw","image":"https://avatars.githubusercontent.com/u/36593447?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780089733995}}