playwright
MCPDrives a real browser so the agent can open pages, click, fill forms and read what actually rendered.
Ships with openbrowser-ai: OpenBrowser is a framework for intelligent browser automation. It combines direct CDP communication with a CodeAgent architecture, where the LLM writes Python code executed in a…
Claude Code
> /plugin marketplace add billy-enrizky/openbrowser-ai> /plugin install openbrowser@openbrowser-ai
Codex
$ codex mcp add openbrowser -- uvx openbrowser-ai --mcp
Cursor
{ "mcpServers": { "openbrowser": { "command": "uvx", "args": [ "openbrowser-ai", "--mcp" ] } } }
Add it to mcp.json.
Gemini CLI
{ "mcpServers": { "openbrowser": { "command": "uvx", "args": [ "openbrowser-ai", "--mcp" ] } } }
Add it to settings.json.
GitHub Copilot
$ copilot mcp add openbrowser -- uvx openbrowser-ai --mcp
OpenCode
{ "mcp": { "openbrowser": { "type": "local", "command": [ "uvx", "openbrowser-ai", "--mcp" ] } } }
Add it to opencode.json.
Windsurf
{ "mcpServers": { "openbrowser": { "command": "uvx", "args": [ "openbrowser-ai", "--mcp" ] } } }
Add it to mcp_config.json.
From the README
CodeAgent Architecture
LLM writes Python code in a persistent Jupyter-like namespace for browser automation
Raw CDP Communication
Direct Chrome DevTools Protocol for maximum control and speed
Vision Support
Screenshot analysis for visual understanding of pages
15 LLM Providers
OpenAI, Anthropic, Google, Groq, AWS Bedrock, Azure, Ollama, DeepSeek, Cerebras, OpenRouter, OCI, and more
MCP Server
Model Context Protocol for Claude Desktop, Claude Code, Codex, OpenCode, and other AI assistants, with reusable saved login sessions
CLI Daemon
Persistent browser daemon with -c flag for direct code execution from Bash, saved login state, and 10-minute auto-shutdown
Workflow Recording
Record, replay, and export browser sessions to Jupyter notebooks or API crawler code
Video Recording
Record browser sessions as video files with ffmpeg
Security report
Low risk
Known flaws
None known
Signed build
Yes
Build provenance published
Maintained
Sep 28, 2026
Last push
Licence
MIT
Runs as
uvx
On your machine
Deprecated
No
Signals from public registries, not an audit. Checked Nov 11, 2026.
Cloud dashboard for saved cookies and scheduled tasks is available in the hosted version. Join the waitlist for early access: https://openbrowser.me :
https://github.com/user-attachments/assets/b17f97f3-f9f8-4707-8e39-abbbbe1a693b
Automating Walmart Product Scraping:
https://github.com/user-attachments/assets/c517c739-9199-47b0-bac7-c2c642a21094
OpenBrowserAI Automatic Flight Booking:
https://github.com/user-attachments/assets/632128f6-3d09-497f-9e7d-e29b9cb65e0f
OpenBrowserAI Automatic Form Filling:
https://github.com/user-attachments/assets/16f7ef1a-beb1-45e2-a733-9592536e0ef7
AI-powered browser automation using CodeAgent and CDP (Chrome DevTools Protocol)
OpenBrowser is a framework for intelligent browser automation. It combines direct CDP communication with a CodeAgent architecture, where the LLM writes Python code executed in a persistent namespace, to navigate, interact with, and extract information from web pages autonomously.
Full documentation: https://docs.openbrowser.me
-c flag for direct code execution from Bash, saved login state, and 10-minute auto-shutdowncurl -fsSL https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.sh | sh
irm https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.ps1 | iex
Detects uv, pipx, or pip and installs OpenBrowser automatically.
Install to ~/.local/bin without sudo:
curl -fsSL https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.sh | sh -s -- --local
brew tap billy-enrizky/openbrowser
brew install openbrowser-ai
pip install openbrowser-ai
uv pip install openbrowser-ai
Run directly without installing -- uvx downloads and caches the package automatically:
# MCP server mode
uvx openbrowser-ai --mcp
# CLI daemon mode
uvx openbrowser-ai -c "await navigate('https://example.com')"
pipx install openbrowser-ai
git clone https://github.com/billy-enrizky/openbrowser-ai.git
cd openbrowser-ai
uv pip install -e ".[agent]"
pip install openbrowser-ai[agent] # LLM agent support (langgraph, langchain, litellm)
pip install openbrowser-ai[all] # All LLM providers
pip install openbrowser-ai[anthropic] # Anthropic Claude
pip install openbrowser-ai[groq] # Groq
pip install openbrowser-ai[ollama] # Ollama (local models)
pip install openbrowser-ai[aws] # AWS Bedrock
pip install openbrowser-ai[azure] # Azure OpenAI
pip install openbrowser-ai[video] # Video recording support
No separate browser install needed. OpenBrowser auto-detects any installed Chromium-based browser (Chrome, Edge, Brave, Chromium) and uses it directly. If none is found and
uvxis available, Chromium is installed automatically on first run. To pre-install manually (requiresuvx):openbrowser-ai install
import asyncio
from openbrowser import CodeAgent, ChatGoogle
async def main():
agent = CodeAgent(
task="Go to google.com and search for 'Python tutorials'",
llm=ChatGoogle(model="gemini-3-flash"),
)
result = await agent.run()
print(f"Result: {result}")
asyncio.run(main())
from openbrowser import CodeAgent, ChatOpenAI, ChatAnthropic, ChatGoogle
# OpenAI
agent = CodeAgent(task="...", llm=ChatOpenAI(model="gpt-5.2"))
# Anthropic
agent = CodeAgent(task="...", llm=ChatAnthropic(model="claude-sonnet-4-6"))
# Google Gemini
agent = CodeAgent(task="...", llm=ChatGoogle(model="gemini-3-flash"))
import asyncio
from openbrowser import BrowserSession, BrowserProfile
async def main():
profile = BrowserProfile(
headless=True,
viewport_width=1920,
viewport_height=1080,
)
session = BrowserSession(browser_profile=profile)
await session.start()
await session.navigate_to("https://example.com")
screenshot = await session.screenshot()
await session.stop()
asyncio.run(main())
# Google (recommended)
export GOOGLE_API_KEY="..."
# OpenAI
export OPENAI_API_KEY="sk-..."
# Anthropic
export ANTHROPIC_API_KEY="sk-ant-..."
# Groq
export GROQ_API_KEY="gsk_..."
# AWS Bedrock
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_DEFAULT_REGION="us-west-2"
# Azure OpenAI
export AZURE_OPENAI_API_KEY="..."
export AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com/"
from openbrowser import BrowserProfile
profile = BrowserProfile(
headless=True,
viewport_width=1280,
viewport_height=720,
disable_security=False,
extra_chromium_args=["--disable-gpu"],
record_video_dir="./recordings",
proxy={
"server": "http://proxy.example.com:8080",
"username": "user",
"password": "pass",
},
)
| Provider | Class | Models |
|---|---|---|
ChatGoogle | gemini-3-flash, gemini-3-pro | |
| OpenAI | ChatOpenAI | gpt-5.2, o4-mini, o3 |
| Anthropic | ChatAnthropic | claude-sonnet-4-6, claude-opus-4-6 |
| Groq | ChatGroq | llama-4-scout, qwen3-32b |
| AWS Bedrock | ChatAWSBedrock | anthropic.claude-sonnet-4-6, amazon.nova-pro |
| AWS Bedrock (Anthropic) | ChatAnthropicBedrock | Claude models via Anthropic Bedrock SDK |
| Azure OpenAI | ChatAzureOpenAI | Any Azure-deployed model |
| OpenRouter | ChatOpenRouter | Any model on openrouter.ai |
| DeepSeek | ChatDeepSeek | deepseek-chat, deepseek-r1 |
| Cerebras | ChatCerebras | llama-4-scout, qwen-3-235b |
| Ollama | ChatOllama | llama-4-scout, deepseek-r1 (local) |
| OCI | ChatOCIRaw | Oracle Cloud GenAI models |
| Browser-Use | ChatBrowserUse | External LLM service |
Install OpenBrowser as a Claude Code plugin:
# Add the 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 and 7 built-in skills:
| Skill | Description |
|---|---|
deep-research | Conduct cited, multi-source web research and produce markdown and JSON reports |
web-scraping | Extract structured data, handle pagination |
form-filling | Fill forms, login flows, multi-step wizards |
e2e-testing | Test web apps by simulating user interactions |
page-analysis | Analyze page content, structure, metadata |
accessibility-audit | Audit pages for WCAG compliance |
file-download | Download files (PDFs, CSVs) using browser session |
See plugin/README.md for detailed tool parameter documentation.
OpenBrowser works with OpenAI Codex via native skill discovery.
Tell Codex:
Fetch and follow instructions from https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/refs/heads/main/.codex/INSTALL.md
# Clone the repository
git clone https://github.com/billy-enrizky/openbrowser-ai.git ~/.codex/openbrowser
# Symlink skills for native discovery
mkdir -p ~/.agents/skills
ln -s ~/.codex/openbrowser/plugin/skills ~/.agents/skills/openbrowser
# Restart Codex
Then configure the MCP server in your project (see MCP Server below).
Detailed docs: .codex/INSTALL.md
OpenBrowser works with OpenCode.ai via plugin and skill symlinks.
Tell OpenCode:
Fetch and follow instructions from https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/refs/heads/main/.opencode/INSTALL.md
# Clone the repository
git clone https://github.com/billy-enrizky/openbrowser-ai.git ~/.config/opencode/openbrowser
# Create directories
mkdir -p ~/.config/opencode/plugins ~/.config/opencode/skills
# Symlink plugin and skills
ln -s ~/.config/opencode/openbrowser/.opencode/plugins/openbrowser.js ~/.config/opencode/plugins/openbrowser.js
ln -s ~/.config/opencode/openbrowser/plugin/skills ~/.config/opencode/skills/openbrowser
# Restart OpenCode
Then configure the MCP server in your project (see MCP Server below).
Detailed docs: .opencode/INSTALL.md
OpenClaw supports OpenBrowser via the CLI daemon. Install OpenBrowser,
then use openbrowser-ai -c from the Bash tool:
Drives a real browser so the agent can open pages, click, fill forms and read what actually rendered.
Ships with open-computer-use: open-computer-use is an open-source Computer Use service wrapped as MCP. Any AI agent or MCP client…