camoufox-mcp
# Camoufox MCP
MCP server for browser automation using [Camoufox](https://camoufox.com/) anti-detect browser.
## Features
- Anti-detect browser with BrowserForge fingerprinting
- Automatic geolocation/timezone spoofing from proxy IP
- Human-like cursor movement
- DOM snapshot-based element targeting
## Installation
Requires [uv](https://docs.astral.sh/uv/) (handles Python 3.14+ automatically).
## Cursor Setup
Add to `.cursor/mcp.json`:
```json
{
"mcpServers": {
"camoufox": {
"command": "uvx",
"args": ["camoufox-mcp"]
}
}
}
```
### With Proxy
```json
{
"mcpServers": {
"camoufox": {
"command": "uvx",
"args": [
"camoufox-mcp",
"--proxy", "http://user:pass@proxy.example.com:8080"
]
}
}
}
```
Camoufox automatically spoofs geolocation and timezone based on the proxy IP.
### With Options
```json
{
"mcpServers": {
"camoufox": {
"command": "uvx",
"args": ["camoufox-mcp", "--headed", "--humanize", "1.5"]
}
}
}
```
## CLI Options
| Option | Description |
| ------------------ | -------------------------------- |
| `--headed` | Show browser window |
| `--proxy URL` | Proxy server (http/socks5) |
| `--no-geoip` | Disable geolocation spoofing |
| `--locale LOCALE` | Browser locale (e.g., en-US) |
| `--humanize FLOAT` | Cursor movement intensity (0-2) |
| `--block-images` | Block image loading |
## Available Tools
| Tool | Description |
| ---------------------- | ------------------------------------ |
| `browser_navigate` | Navigate to URL |
| `browser_navigate_back`| Go back in history |
| `browser_snapshot` | Get page structure with element refs |
| `browser_click` | Click element by ref |
| `browser_type` | Type text into element |
| `browser_fill` | Fill text (clears first) |
| `browser_hover` | Hover over element |
| `browser_select_option`| Select dropdown option |
| `browser_press_key` | Press keyboard key |
| `browser_screenshot` | Take screenshot |
| `browser_tabs` | Manage tabs |
| `browser_wait_for` | Wait for text/time |
| `browser_evaluate` | Run JavaScript |
| `browser_close` | Close browser |
## License
MIT
TDQS
Scored across 14 tools
Each tool has a clearly distinct action: navigate, snapshot, click, type, fill, hover, select, key press, wait, evaluate, screenshot, tabs, back, close. The only potential overlap is type vs. fill, but descriptions clarify that fill clears first, making them distinct.
All tools use the 'browser_' prefix followed by a verb_noun pattern (e.g., browser_navigate, browser_click, browser_screenshot). The naming is predictable and uniform, with only minor deviations like browser_wait_for (verb_preposition) and browser_tabs (verb_noun but plural) that are still clear.
14 tools is an ideal size for a browser automation server. It covers all essential interactions without being bloated. Each tool serves a specific purpose and there are no redundant or unnecessary tools.
The tool set covers the core browser automation lifecycle: navigation, interaction, tab management, screenshots, and JavaScript evaluation. Minor gaps exist, such as the absence of navigate_forward (only back) and a dedicated wait-for-element function (only wait for text or time). These are small but notable omissions.