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
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器