airbrowser-mcp
Health Warn
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This tool provides an undetectable Chrome browser API designed for AI agents, web scraping, and automation. It functions as a REST API and MCP server, featuring anti-detection capabilities to bypass web security tools like Cloudflare.
Security Assessment
The tool acts as a web automation agent, inherently requiring significant network access to fetch and interact with external websites. Running the provided Docker containers exposes local ports, including a dashboard and VNC debugging interface, which could be vulnerable if improperly secured on a public network. The automated rule-based code scan reviewed 12 files and found no dangerous code patterns, no hardcoded secrets, and no system permissions flagged as dangerous. However, the tool does pass device and GPU access directly to the Docker container. Overall risk is rated as Medium due to the inherent security implications of operating an automated, anti-detection browser environment.
Quality Assessment
The project is very new and actively maintained, with its last code push occurring today. It features continuous integration and offers cross-platform packages. However, it suffers from very low community visibility, currently backed by only 7 GitHub stars. The license is marked as "Fair Source" (NOASSERTION), meaning it is not a standard open-source license, so developers should review the exact terms before integrating it into commercial projects.
Verdict
Use with caution — the code appears clean and actively maintained, but the non-standard license, low community adoption, and inherent risks of automated anti-detection browsers warrant careful review before deployment.
Undetectable Chrome for AI agents, web scraping, and automation. REST API + MCP server + VNC debugging.
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:
Claude Codeclaude mcp add airbrowser --transport http http://localhost:18080/mcp
Cursor
Go to Cursor Settings → MCP → Add new MCP Server:
{
"mcpServers": {
"airbrowser": {
"url": "http://localhost:18080/mcp",
"transport": "http"
}
}
}
VS Code / Copilot
Add to your MCP settings:
{
"mcpServers": {
"airbrowser": {
"url": "http://localhost:18080/mcp",
"transport": "http"
}
}
}
Cline
Follow Cline MCP guide with:
{
"mcpServers": {
"airbrowser": {
"url": "http://localhost:18080/mcp",
"transport": "http"
}
}
}
Windsurf
Follow the Windsurf MCP guide with the config above.
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.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found