Airbrowser
Open-source browser automation API with anti-detection for AI agents, web scraping, and automation, providing undetectable Chrome via MCP and REST API with Cloudflare bypass.
README
Airbrowser
Open-source browser automation API with anti-detection — Undetectable Chrome for AI agents, web scraping, and automation. REST API + MCP server + VNC debugging. Selenium/Playwright alternative that bypasses Cloudflare.
Quick Start
Cloud Hosted (no setup)
Use the managed cloud version - no installation required:
Docker (one-liner)
docker run -d -p 18080:18080 --name airbrowser ghcr.io/ifokeev/airbrowser-mcp:latest
# With NVIDIA GPU (recommended for anti-detection)
docker run -d -p 18080:18080 --gpus all --device /dev/dri:/dev/dri --name airbrowser ghcr.io/ifokeev/airbrowser-mcp:latest
Portable Downloads
Download and run - no Docker knowledge required:
| Platform | Download | Requirements |
|---|---|---|
| Linux | airbrowser-linux.tar.gz | uidmap package or Docker |
| macOS | airbrowser-mac.tar.gz | Colima, Docker Desktop, or Podman |
| Windows | airbrowser-windows.zip | Docker Desktop or Podman |
# Linux/macOS
tar -xzf airbrowser-*.tar.gz && cd airbrowser-* && ./airbrowser
# Windows: Extract zip and double-click airbrowser.bat
From Source
git clone https://github.com/ifokeev/airbrowser-mcp.git
cd airbrowser-mcp
docker compose up --build
# With NVIDIA GPU
docker compose -f compose.gpu.yml up --build
Local Mode (no Docker) — Linux only
Run natively without a container — zero container fingerprint for maximum anti-detection stealth. Tested on Ubuntu/Debian.
git clone https://github.com/ifokeev/airbrowser-mcp.git
cd airbrowser-mcp
uv run python run_local.py # auto-installs deps + system packages
uv run python run_local.py --vnc # with VNC viewer at http://localhost:6080/vnc.html
Requires Chrome installed on the host. See python run_local.py --help for options.
| Service | URL | Description |
|---|---|---|
| Dashboard | http://localhost:8000/dashboard |
Browser pool management UI |
| Swagger Docs | http://localhost:8000/docs/ |
Interactive API documentation |
| REST API | http://localhost:8000/api/v1/ |
Browser automation endpoints |
| MCP Server | http://localhost:3099/mcp |
Model Context Protocol for AI agents |
| VNC | vnc://localhost:5900 |
Remote desktop (with --vnc flag) |
| noVNC | http://localhost:6080/vnc.html |
Web-based VNC viewer (with --vnc flag) |
Open http://localhost:18080 - all services available:
| Service | Path |
|---|---|
| Dashboard | / |
| API Docs | /docs/ |
| REST API | /api/v1/ |
| MCP Server | /mcp |
| VNC Viewer | /vnc/ |
Features
- Undetected Chrome (SeleniumBase UC)
- 100+ concurrent browsers
- Persistent profiles & cookies
- Tab management
- Proxy per browser (DataImpulse recommended)
- MCP for AI agents
- AI vision tools (optional)
GPU Passthrough (Recommended)
GPU passthrough enables hardware-accelerated WebGL rendering via Vulkan, making the browser fingerprint match a real desktop machine. Without it, Chrome falls back to software rendering (SwiftShader) which is easily detected by anti-bot systems.
Requirements: NVIDIA GPU + NVIDIA Container Toolkit
# Docker Compose (recommended)
docker compose -f compose.gpu.yml up
# Docker run
docker run -d -p 18080:18080 \
--gpus all \
--device /dev/dri:/dev/dri \
-e NVIDIA_VISIBLE_DEVICES=all \
-e NVIDIA_DRIVER_CAPABILITIES=all \
ghcr.io/ifokeev/airbrowser-mcp:latest
# Portable launcher
./airbrowser --gpu
Without a GPU, Chrome uses --use-gl=swiftshader automatically. With GPU passthrough, it uses --use-gl=angle --use-angle=vulkan for real GPU rendering.
AI Vision (Optional)
Enable AI-powered vision tools (what_is_visible, detect_coordinates) with any OpenAI-compatible vision backend. Vision turns on only when VISION_API_BASE_URL, VISION_API_KEY, and VISION_MODEL are all set.
When smart targeting is enabled per request, detect_coordinates can validate a raw vision point, optionally snap to a nearby clickable target, and return both the original click_point and a resolved_click_point with an outcome_status that tells you whether the result was confirmed, corrected, or needs inspection before clicking. Pair that with gui_click or MCP-compatible gui_click_xy to re-check coordinate clicks and request post-click feedback.
# Docker run
docker run -d -p 18080:18080 \
-e VISION_API_BASE_URL=https://your-openai-compatible-endpoint/v1 \
-e VISION_API_KEY=your-api-key \
-e VISION_MODEL=your-vision-model \
ghcr.io/ifokeev/airbrowser-mcp:latest
# Docker compose
VISION_API_BASE_URL=https://your-openai-compatible-endpoint/v1 \
VISION_API_KEY=your-api-key \
VISION_MODEL=your-vision-model \
docker compose up
MCP Client Configuration
Add airbrowser to your AI coding assistant:
<details> <summary><b>Claude Code</b></summary>
claude mcp add airbrowser --transport http http://localhost:18080/mcp
</details>
<details> <summary><b>Cursor</b></summary>
Go to Cursor Settings → MCP → Add new MCP Server:
{
"mcpServers": {
"airbrowser": {
"url": "http://localhost:18080/mcp",
"transport": "http"
}
}
}
</details>
<details> <summary><b>VS Code / Copilot</b></summary>
Add to your MCP settings:
{
"mcpServers": {
"airbrowser": {
"url": "http://localhost:18080/mcp",
"transport": "http"
}
}
}
</details>
<details> <summary><b>Cline</b></summary>
Follow Cline MCP guide with:
{
"mcpServers": {
"airbrowser": {
"url": "http://localhost:18080/mcp",
"transport": "http"
}
}
}
</details>
<details> <summary><b>Windsurf</b></summary>
Follow the Windsurf MCP guide with the config above. </details>
Test your setup
Navigate to https://example.com and take a screenshot
Your AI assistant should create a browser, navigate to the URL, and return a screenshot.
Generated Clients
Auto-generated from OpenAPI spec:
# Python
pip install airbrowser-client
# TypeScript
npm install airbrowser-client
Community
Join our Discord server for support, feature requests, and discussion.
Docs
License
Fair Source - Free for up to 10 users. Cannot be offered as a hosted service. Commercial license required for larger deployments.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。