Multi-Browser MCP

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.

Category
Visit Server

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.txt contains credentials; it's in .gitignore and only committed to the private repo.
  • First run: python -m playwright install && camoufox fetch to download browsers.
  • Server binds to 127.0.0.1:8000 by default (SSE). Use --host 0.0.0.0 for LAN access.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

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.

Official
Featured
Python
graphlit-mcp-server

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.

Official
Featured
TypeScript
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured