Multi-Browser MCP
MCP server for multi-engine browser automation with proxy rotation, enabling AI-driven web interaction and task execution across Camoufox, DrissionPage, and Browser Use.
README
Multi-Browser Automation MCP Server
A FastMCP 3.x server providing multi-engine browser automation via the MCP protocol. Supports Camoufox (Playwright-based), DrissionPage, and Browser Use (AI agent) with datacenter proxy rotation.
Features
- Three engines: Camoufox (anti-detect), DrissionPage (lightweight), Browser Use (AI agent)
- Proxy support: 25-datacenter proxy pool (off by default), per-engine application
- FastMCP 3.x: Modern SSE/HTTP/stdio transports, Prefect Horizon cloud-ready
- Browser Use agent: LLM-driven automation via OpenAI-compatible API (9Router or direct)
Quick Start
# Install dependencies
pip install -r requirements.txt
# Install browsers (first time only)
python -m playwright install
camoufox fetch
# Run server (SSE on 127.0.0.1:8000)
fastmcp run server.py
# Or with custom transport/port
fastmcp run server.py --transport http --port 8080
fastmcp run server.py --transport stdio
# Also works directly
python server.py
python server.py --transport http --port 8080
Tools
| Tool | Description |
|---|---|
set_active_engine(engine) |
Switch active engine: camoufox or drissionpage |
enable_drissionpage(enable) |
Enable/disable DrissionPage (off by default) |
set_proxy(enable, proxy?) |
Toggle proxy; optional proxy URL overrides random pick |
get_proxy_status() |
View current proxy state and pool size |
navigate(url) |
Open URL with active engine |
get_page_source() |
Get truncated HTML of current page |
click_element(selector) |
Click element by CSS/XPath |
run_browser_use(task, max_steps?, headless?) |
Run AI agent task (requires LLM) |
close_browser() |
Close all browser instances |
Proxy
proxies.txt contains 25 datacenter proxies (user:pass@host:port). Proxy is disabled by default.
# Enable with random proxy from pool
await set_proxy(True)
# Enable with specific proxy
await set_proxy(True, "http://user:pass@host:port")
# Disable
await set_proxy(False)
When toggling proxy, any running browser restarts automatically to apply the change.
Browser Use (AI Agent)
Requires an OpenAI-compatible LLM endpoint:
| Env var | Purpose |
|---|---|
OPENAI_API_KEY |
Direct OpenAI key |
OPENAI_BASE_URL |
Custom OpenAI base URL |
NINEROUTER_URL |
9Router gateway URL |
NINEROUTER_KEY |
9Router API key |
BROWSER_USE_MODEL |
Model name (default: gpt-4o) |
Example task:
await run_browser_use(
task="Go to github.com, search for 'fastmcp', click first result, return repo stars",
max_steps=20,
headless=True
)
Engines
Camoufox (default)
Playwright-based with anti-detection. Best for sites with bot protection.
DrissionPage
Lightweight, fast, no Playwright dependency. Enable first:
await enable_drissionpage(True)
await set_active_engine("drissionpage")
Browser Use
AI agent that plans and executes multi-step tasks. Runs isolated Chromium session.
Project Structure
.
├── server.py # FastMCP server with all tools
├── requirements.txt # Pinned dependencies
├── proxies.txt # Proxy pool (gitignored in public, committed to private)
└── LICENSE
Development
# Check dependencies
pip check
# Lint/type-check (if configured)
ruff check .
mypy .
# Run with auto-reload (FastMCP dev mode)
fastmcp dev server.py
Notes
proxies.txtcontains credentials; it's in.gitignoreand only committed to the private repo.- First run:
python -m playwright install && camoufox fetchto download browsers. - Server binds to
127.0.0.1:8000by default (SSE). Use--host 0.0.0.0for LAN access.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.