mcpbeat Sign in

Aipex Browser Agent Skill

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.

1.8k tokens
context cost
SKILL.md, read when the skill is used
2
files
plus reference files
0
copies elsewhere
how many repositories repackaged it
1 230
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/AIPexStudio/AIPex --skill aipex-browser

The instruction itself

23 sections, as written by the author

AIPex Browser Control

AIPex 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.

Architecture:

Agent (MCP client) ──stdio──▶ aipex-mcp-bridge ──WebSocket──▶ AIPex Chrome Extension ──▶ Browser APIs

When to Use This Skill

Use this skill when the user wants to:

  • Navigate to URLs, click links, fill forms, or interact with any web page
  • Automate multi-step browser workflows
  • Extract or download data from web pages
  • Capture screenshots of browser tabs
  • Manage multiple tabs across browser windows
  • Perform browser-assisted testing (accessibility, UX, regression)

Prerequisites

  • AIPex Chrome extension installed (available on the Chrome Web Store or via developer build)
  • Node.js >= 18 installed on the local machine

The user is assumed to have AIPex installed. The agent only needs to complete the two connection steps below.


Step 1: Register the MCP Server

Add the following to the agent's MCP configuration. No manual installation is needed — npx downloads and runs aipex-mcp-bridge automatically.

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "aipex-browser": {
      "command": "npx",
      "args": ["-y", "aipex-mcp-bridge"]
    }
  }
}

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "aipex-browser": {
      "command": "npx",
      "args": ["-y", "aipex-mcp-bridge"]
    }
  }
}

Claude Code (CLI)

claude mcp add aipex-browser -- npx -y aipex-mcp-bridge

VS Code Copilot (.vscode/mcp.json)

{
  "servers": {
    "aipex-browser": {
      "command": "npx",
      "args": ["-y", "aipex-mcp-bridge"]
    }
  }
}

Windsurf (mcp_config.json)

{
  "mcpServers": {
    "aipex-browser": {
      "command": "npx",
      "args": ["-y", "aipex-mcp-bridge"]
    }
  }
}

Custom port (optional)

The bridge listens on localhost:9223 by default. To use a different port:

{
  "mcpServers": {
    "aipex-browser": {
      "command": "npx",
      "args": ["-y", "aipex-mcp-bridge", "--port", "9224"]
    }
  }
}

Then use ws://localhost:9224 in Step 2.


Step 2: Connect the AIPex Extension to the Bridge

After the MCP server is registered and running:

  • Open Chrome and click the AIPex extension icon
  • Go to Options (or right-click the icon → "Extension options")
  • Find the WebSocket Connection section
  • Enter: ws://localhost:9223
  • Click Connect

The bridge and extension will handshake, and all browser tools will become available to the agent.

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.


Tool Usage Strategy (IMPORTANT)

Always follow this priority order to minimize token cost and latency:

Priority 1 — search_elements (always try first)

Query the page's accessibility tree to find elements and get their UIDs. Fast, cheap, requires no screenshot.

search_elements(tabId, "{button,input,textarea,select,a}*")

Priority 2 — UID-based interaction (preferred)

Use UIDs returned by search_elements to interact directly:

  • click(tabId, uid) — click any element
  • fill_element_by_uid(tabId, uid, value) — type into inputs
  • hover_element_by_uid(tabId, uid) — reveal menus or tooltips

Priority 3 — capture_screenshot + computer (high-cost fallback only)

Use only when search_elements fails after two different query attempts, or when pixel-level interaction is required (canvas, drag-and-drop, sliders).

  • capture_screenshot(sendToLLM=true) — see the page
  • computer(action, coordinate) — click/type at pixel coordinates

Standard Workflow

get_all_tabs()
  → search_elements(tabId, "<pattern>")
  → click(tabId, uid)  OR  fill_element_by_uid(tabId, uid, value)
  → [capture_screenshot(sendToLLM=true) to verify if needed]

Available Tool Categories

| Category | Tools | Description |

|---|---|---|

| Tab Management | 8 tools | Open, close, switch, pin, group tabs |

| UI Interaction | 7 tools | Click, fill, hover, keyboard, coordinate-based |

| Page Content | 4 tools | Metadata, scroll, highlight elements/text |

| Screenshots | 2 tools | Capture visible tab or specific tab |

| Downloads | 3 tools | Save text as markdown, download images |

| Human Intervention | 4 tools | Request user input mid-automation |

Key tools by category:

| Category | Key Tools |

|---|---|

| Tab | get_all_tabs, switch_to_tab, create_new_tab, close_tab |

| UI | search_elements, click, fill_element_by_uid, computer |

| Page | get_page_metadata, scroll_to_element, highlight_element |

| Screenshot | capture_screenshot, capture_tab_screenshot |

| Download | download_text_as_markdown, download_image |

| Intervention | request_intervention, list_interventions |

To load complete parameter schemas and examples for every tool:

read_skill_reference("aipex-browser", "references/tools-reference.md")

Common Patterns

create_new_tab("https://example.com")
→ search_elements(tabId, "*[Ss]ubmit*")
→ click(tabId, uid)

Fill a login form

get_all_tabs()
→ search_elements(tabId, "{input,textbox}*")
→ fill_element_by_uid(tabId, emailUid, "[email protected]")
→ fill_element_by_uid(tabId, passwordUid, "secret")
→ search_elements(tabId, "*[Ll]ogin*")
→ click(tabId, uid)

Extract page content to markdown

get_page_metadata()
→ download_text_as_markdown(content, "page-extract")

Visual verification

capture_screenshot(sendToLLM=true)

Troubleshooting

| Symptom | Likely Cause | Fix |

|---|---|---|

| Only check_aipex_connection visible | Extension not connected to bridge | Open AIPex Options → set WebSocket URL → Connect |

| Port 9223 already in use | Port conflict on machine | Use --port 9224 in MCP config and ws://localhost:9224 in extension |

| search_elements returns 0 results | Page uses canvas or non-semantic HTML | Fall back to capture_screenshot(sendToLLM=true) + computer tool |

| Connection drops frequently | Service worker sleep cycle | AIPex uses keepalive pings; reconnect extension from Options if needed |

| Tools appear but calls time out | Bridge not receiving WebSocket messages | Restart bridge: reload MCP server in agent settings |

Other skills for the same job

different authors, same section of the catalogue
Webapp Testing
by anthropics
vendor ×15

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

978 tokens scripts
Notebooklm
by ZhanlinCui
×8

Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.

2.4k tokens scripts
Playwright Skill
by lackeyjb
×4

Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.

3.5k tokens scripts
Electron
by vercel-labs
vendor ×2

Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.

1.7k tokens
Playwright
by openai
vendor ×2

Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.

942 tokens scripts
Screenshot
by openai
vendor ×2

Use when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed.

1.9k tokens scripts
Agent Browser
by majiayu000
×2

A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.

2.6k tokens
Web Access
by ZhanlinCui
×2

| 所有联网操作必须通过此 skill 处理,包括:搜索、网页抓取、登录后操作、动态页面交互等。 触发场景:用户要求搜索信息、查看网页内容、访问需要登录的网站、操作网页界面、抓取社交媒体内容(小红书、微博、推特等)、读取动态渲染页面、以及任何需要真实浏览器环境的网络任务。

2.7k tokens scripts zh

How to use it

Copy the folder

Take aipexstudio/aipex-browser from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npx. Without those the skill loads but fails at the first command.