AI-powered browser automation for Claude Code. Control real web browsers directly from Claude -- navigate websites, fill forms, extract data, inspect accessibility trees, and automate multi-step workflows. - Chrome or Chromium installed on your system - Python 3.12+ with uv package manager - Claude Code CLI This installs the MCP server, 5 skills, and auto-enables the plugin. Restart Claude Code to
Add this skill
npx mdskills install billy-enrizky/openbrowser-aiPowerful browser automation with token-efficient architecture and comprehensive functions
AI-powered browser automation for Claude Code. Control real web browsers directly from Claude -- navigate websites, fill forms, extract data, inspect accessibility trees, and automate multi-step workflows.
# Add the OpenBrowser marketplace (one-time)
claude plugin marketplace add billy-enrizky/openbrowser-ai
# Install the plugin
claude plugin install openbrowser@openbrowser-ai
This installs the MCP server, 5 skills, and auto-enables the plugin. Restart Claude Code to activate.
# Test from a local clone without installing
claude --plugin-dir /path/to/openbrowser-ai/plugin
OpenClaw does not natively support MCP servers, but the community openclaw-mcp-adapter plugin bridges MCP servers to OpenClaw agents.
Install the MCP adapter plugin (see its README for setup).
Add OpenBrowser as an MCP server in ~/.openclaw/openclaw.json:
{
"plugins": {
"entries": {
"mcp-adapter": {
"enabled": true,
"config": {
"servers": [
{
"name": "openbrowser",
"transport": "stdio",
"command": "uvx",
"args": ["openbrowser-ai[mcp]", "--mcp"]
}
]
}
}
}
}
}
The execute_code tool will be registered as a native OpenClaw agent tool.
For OpenClaw plugin documentation, see docs.openclaw.ai/tools/plugin.
Add to your project's .mcp.json:
{
"mcpServers": {
"openbrowser": {
"command": "uvx",
"args": ["openbrowser-ai[mcp]", "--mcp"]
}
}
}
The MCP server exposes a single execute_code tool that runs Python code in a persistent namespace with browser automation functions. The LLM writes Python code to navigate, interact, and extract data.
Functions (all async, use await):
| Category | Functions |
|---|---|
| Navigation | navigate(url, new_tab), go_back(), wait(seconds) |
| Interaction | click(index), input_text(index, text, clear), scroll(down, pages, index), send_keys(keys), upload_file(index, path) |
| Dropdowns | select_dropdown(index, text), dropdown_options(index) |
| Tabs | switch(tab_id), close(tab_id) |
| JavaScript | evaluate(code) -- run JS in page context, returns Python objects |
| State | browser.get_browser_state_summary() -- page metadata and interactive elements |
| CSS | get_selector_from_index(index) -- CSS selector for an element |
| Completion | done(text, success) -- signal task completion |
Pre-imported libraries: json, csv, re, datetime, asyncio, Path, requests, numpy, pandas, matplotlib, BeautifulSoup
origin/main
Playwright completes tasks in fewer tool calls (1-2 per task) because it dumps the full a11y snapshot on every navigation. OpenBrowser takes more round-trips but each response is compact -- the code extracts only what's needed.
Full comparison with methodology
Optional environment variables:
| Variable | Description |
|---|---|
OPENBROWSER_HEADLESS | Set to true to run browser without GUI |
OPENBROWSER_ALLOWED_DOMAINS | Comma-separated domain whitelist |
Set these in your .mcp.json:
{
"mcpServers": {
"openbrowser": {
"command": "uvx",
"args": ["openbrowser-ai[mcp]", "--mcp"],
"env": {
"OPENBROWSER_HEADLESS": "true"
}
}
}
}
The plugin includes 5 built-in skills that provide guided workflows for common browser automation tasks. Each skill is triggered automatically when the user's request matches its description.
| Skill | Directory | Description |
|---|---|---|
web-scraping | skills/web-scraping/ | Extract structured data from websites, handle pagination, and multi-tab scraping |
form-filling | skills/form-filling/ | Fill out web forms, handle login/registration flows, and multi-step wizards |
e2e-testing | skills/e2e-testing/ | Test web applications end-to-end by simulating user interactions and verifying outcomes |
page-analysis | skills/page-analysis/ | Analyze page content, structure, metadata, and interactive elements |
accessibility-audit | skills/accessibility-audit/ | Audit pages for WCAG compliance, heading structure, labels, alt text, ARIA, and landmarks |
Each skill file (SKILL.md) contains YAML frontmatter with trigger conditions and a step-by-step workflow using the execute_code tool.
# E2E test the MCP server against the published PyPI package
uv run python benchmarks/e2e_published_test.py
# Run MCP benchmarks (5-step Wikipedia workflow)
uv run python benchmarks/openbrowser_benchmark.py
uv run python benchmarks/playwright_benchmark.py
uv run python benchmarks/cdp_benchmark.py
Browser does not launch: Ensure Chrome or Chromium is installed and accessible from PATH.
MCP server not found: Verify uvx is installed (pip install uv) and the MCP server starts (uvx openbrowser-ai[mcp] --mcp).
Session timeout: Browser sessions auto-close after 10 minutes of inactivity. Use any tool to keep the session alive.
MIT
Best experience: Claude Code
/plugin marketplace add billy-enrizky/openbrowser-aiThen /plugin menu → select skill → restart. Use /skill-name:init for first-time setup.
Other platforms
Install via CLI
npx mdskills install billy-enrizky/openbrowser-aiOpenBrowser - Claude Code Plugin is a free, open-source AI agent skill. AI-powered browser automation for Claude Code. Control real web browsers directly from Claude -- navigate websites, fill forms, extract data, inspect accessibility trees, and automate multi-step workflows. - Chrome or Chromium installed on your system - Python 3.12+ with uv package manager - Claude Code CLI This installs the MCP server, 5 skills, and auto-enables the plugin. Restart Claude Code to
Install OpenBrowser - Claude Code Plugin with a single command:
npx mdskills install billy-enrizky/openbrowser-aiThis downloads the skill files into your project and your AI agent picks them up automatically.
OpenBrowser - Claude Code Plugin works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Codex, Gemini Cli, Amp, Roo Code, Goose, Opencode, Trae, Qodo, Command Code. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.