io.github.baixianger/camoufox-mcp
Anti-detection browser automation with Camoufox - stealth Firefox for web scraping
★ 7No licensedevtools
Install
Config snippet generator goes here (5 client tabs)
README
<div align="center">
# 🦊 Camoufox MCP
**Anti-detection browser automation for AI agents**
[](https://npmjs.org/package/camoufox-mcp)
[](https://npmjs.org/package/camoufox-mcp)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
MCP server for browser automation using [Camoufox](https://camoufox.com/) - an anti-detection Firefox browser.
</div>
## Installation
```bash
npx camoufox-mcp
```
## Claude Desktop Configuration
Add to `claude_desktop_config.json`:
**Basic:**
```json
{
"mcpServers": {
"camoufox": {
"command": "npx",
"args": ["camoufox-mcp"]
}
}
}
```
**With Proxy (via env vars):**
```json
{
"mcpServers": {
"camoufox": {
"command": "npx",
"args": ["camoufox-mcp"],
"env": {
"PROXY_SERVER": "http://1.2.3.4:8080",
"PROXY_USER": "username",
"PROXY_PASS": "password"
}
}
}
}
```
Then in `~/.config/camoufox-mcp/settings.json`:
```json
{
"proxy": {
"enabled": true,
"server": "${PROXY_SERVER}",
"username": "${PROXY_USER}",
"password": "${PROXY_PASS}",
"geoip": true
}
}
```
## Why Camoufox MCP?
| Feature | Camoufox MCP | Chrome DevTools MCP |
|---------|--------------|---------------------|
| **Anti-Detection** | | |
| Bot detection bypass | ✅ Built-in | ❌ Detected |
| Fingerprint randomization | ✅ | ❌ |
| WebRTC leak protection | ✅ | ❌ |
| Canvas fingerprint spoofing | ✅ | ❌ |
| **Automation** | | |
| Humanized cursor movement | ✅ Realistic paths | ❌ Instant jumps |
| Click with human-like delays | ✅ | ❌ |
| Proxy with GeoIP auto-config | ✅ Timezone/locale | ❌ Manual |
| **JavaScript Evaluation** | | |
| MainWorld eval (`__NUXT__`, `__NEXT_DATA__`) | ✅ | ✅ |
| Isolated eval (async/await) | ✅ | ✅ |
| **Session Management** | | |
| Isolated browser sessions | ✅ Multiple contexts | ❌ Single context |
| Pre-authenticated sessions | ✅ Cookie/localStorage injection | ❌ |
| Session state export | ✅ Save to JSON | ❌ |
| **Features** | | |
| Cookie popup auto-dismiss | ✅ 50+ selectors | ❌ |
| User action recording | ✅ | ❌ |
| Network interception | ✅ | ✅ |
| Console capture | ✅ | ✅ |
| Performance tracing | ❌ | ✅ |
| **Browser** | | |
| Engine | Firefox (Gecko) | Chrome (Chromium) |
| Auto-install | ✅ ~150MB | ✅ |
## Tools
### Session Management
Sessions provide isolated browser contexts — each session has its own cookies, localStorage, and cache. Use sessions to run multiple authenticated profiles simultaneously.
| Tool | Description |
|------|-------------|
| `create_session` | Create a new isolated session, optionally pre-loading cookies/localStorage from a JSON file |
| `list_sessions` | List all sessions with their page counts and metadata |
| `save_session` | Export a session's cookies and localStorage to a JSON file |
| `close_session` | Close a session and all its pages |
| `list_context_files` | List available context files registered in settings |
### Page Management
| Tool | Description |
|------|-------------|
| `new_page` | Create a new page, optionally in a specific session |
| `list_pages` | List all open pages with their session IDs |
| `select_page` | Set a page as active |
| `close_page` | Close a page |
### Navigation & Interaction
| Tool | Description |
|------|-------------|
| `navigate_page` | Navigate to URL, back, forward, or reload |
| `click` | Click an element by UID |
| `hover` | Hover over an element |
| `fill` | Fill a form field |
| `fill_form` | Fill multiple form fields at once |
| `press_key` | Press a key or key combination |
| `drag` | Drag an element to another |
### Inspection
| Tool | Description |
|------|-------------|
| `take_snapshot` | Text snapshot with interactive element UIDs |
| `take_screenshot` | Screenshot of page or element |
| `get_page_text` | Extract text content |
| `evaluate_mainworld` | Run JS in page context (sync only) |
| `evaluate_isolated` | Run JS in isolated context (async OK) |
| `get_framework_state` | Extract Next.js/Nuxt.js state |
### Context Injection
| Tool | Description |
|------|-------------|
| `inject_context` | Inject cookies + localStorage from a JSON file into a session |
### Monitoring
| Tool | Description |
|------|-------------|
| `start_network_capture` / `stop_network_capture` | Capture network requests |
| `get_network_logs` / `clear_network_logs` | View/clear captured requests |
| `intercept_network` / `remove_intercept` | Block or modify requests |
| `start_console_capture` / `stop_console_capture` | Capture console messages |
| `get_console_logs` / `clear_console_logs` | View/clear console messages |
| `start_recording` / `stop_recording` / `get_recording_status` | Record user interactions |
### Utility
| Tool | Descriptio