camoufox-mcp
Enables browser automation with anti-detection features, including navigation, interaction, form filling, and session management.
README
Camoufox MCP Server
Deprecated: moved to camoufox-browser
This repository is deprecated. The project has moved to:
- Repository: https://github.com/rlgrpe/camoufox-browser-cli
- PyPI: https://pypi.org/project/camoufox-browser/
A Python MCP (Model Context Protocol) server providing full browser automation with Camoufox anti-detection capabilities.
Features
- 21 browser automation tools for complete browser control
- Anti-detection: Automatic fingerprint randomization to avoid bot detection
- Lazy initialization: Browser only launches on first tool call
- Persistent sessions: Browser persists between tool calls
- Tab management: Support for multiple tabs/pages
- Form automation: Fill forms, upload files, handle dialogs
Installation
Quick Start (uvx - recommended)
uvx camoufox-mcp
Using pipx
pipx run camoufox-mcp
Using pip
pip install camoufox-mcp
camoufox-mcp
From source
# Clone the repository
git clone https://github.com/rlgrpe/camoufox-mcp-python.git
cd camoufox-mcp-python
# Install with uv
uv sync
Install Camoufox browser
After installing the package, you need to download the Camoufox browser binary. The command depends on how you installed the package:
If installed via uvx (recommended)
uvx camoufox fetch
If installed via pipx
pipx run camoufox fetch
If installed via pip
# macOS
python3 -m camoufox fetch
# Linux
python -m camoufox fetch
# Windows
camoufox fetch
If installed from source (uv)
uv run python -m camoufox fetch
Linux system dependencies
On Linux, you also need to install system dependencies:
# Ubuntu/Debian
sudo apt install -y libgtk-3-0 libx11-xcb1 libasound2
# Arch
sudo pacman -S gtk3 libx11 libxcb cairo libasound alsa-lib
To uninstall the browser binary
# Use the same method as installation:
uvx camoufox remove # if using uvx
pipx run camoufox remove # if using pipx
camoufox remove # if using pip
uv run python -m camoufox remove # if using uv from source
Usage
Start the server
# Using uvx (recommended)
uvx camoufox-mcp
# Using uv (from source)
uv run camoufox-mcp
# Or as a module
python -m camoufox_mcp
Add to Claude Code
claude mcp add camoufox-mcp -- uvx camoufox-mcp
Claude Desktop Configuration
Add to your Claude Desktop config file:
{
"mcpServers": {
"camoufox-mcp": {
"command": "uvx",
"args": ["camoufox-mcp"]
}
}
}
Or if running from source:
{
"mcpServers": {
"camoufox-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/camoufox-mcp-python",
"camoufox-mcp"
]
}
}
}
Tools Reference
Navigation (4 tools)
| Tool | Description |
|---|---|
browser_navigate |
Navigate to a URL |
browser_navigate_back |
Go back to the previous page |
browser_snapshot |
Capture accessibility snapshot of the current page |
browser_wait_for |
Wait for text to appear/disappear or a specified time |
Interaction (6 tools)
| Tool | Description |
|---|---|
browser_click |
Click on an element |
browser_type |
Type text into an element |
browser_hover |
Hover over an element |
browser_drag |
Drag and drop between two elements |
browser_press_key |
Press a key on the keyboard |
browser_select_option |
Select an option in a dropdown |
Page (4 tools)
| Tool | Description |
|---|---|
browser_evaluate |
Evaluate JavaScript on the page or element |
browser_console_messages |
Get console messages |
browser_network_requests |
Get network requests |
browser_take_screenshot |
Take a screenshot |
Forms (3 tools)
| Tool | Description |
|---|---|
browser_fill_form |
Fill multiple form fields |
browser_file_upload |
Upload files |
browser_handle_dialog |
Handle dialogs (alert, confirm, prompt) |
Session (4 tools)
| Tool | Description |
|---|---|
browser_tabs |
List, create, close, or select tabs |
browser_resize |
Resize the browser window |
browser_close |
Close the browser |
browser_install |
Install Camoufox browser |
Configuration
The browser can be configured via the BrowserConfig class in camoufox_mcp/config.py. Available options:
| Parameter | Type | Default | Description |
|---|---|---|---|
os |
str | None | OS to spoof (windows/macos/linux) |
headless |
bool/str | False | Headless mode (or 'virtual') |
humanize |
bool/float | True | Human-like cursor movements |
geoip |
bool | True | Auto-detect geolocation from IP |
proxy |
str/dict | None | Proxy configuration |
block_webrtc |
bool | True | Block WebRTC leaks |
block_webgl |
bool | False | Block WebGL fingerprinting |
block_images |
bool | False | Block image loading |
locale |
str | None | Browser locale |
viewport |
dict | None | Viewport dimensions |
enable_cache |
bool | True | Enable caching |
timeout |
int | 30000 | Page load timeout (ms) |
wait_strategy |
str | "domcontentloaded" | Wait strategy |
ublock |
bool | False | Enable uBlock Origin |
Proxy Configuration Example
proxy = {
'server': 'http://proxy.example.com:8080',
'username': 'user',
'password': 'pass'
}
Development
# Install dev dependencies
uv sync --dev
# Run tests
uv run pytest
# Format code
uv run ruff format
# Lint
uv run ruff check
License
MIT License - see LICENSE for details.
Related Projects
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.
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.
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.
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.