MCP Hub
Back to servers

camofox-mcp

Anti-detection browser automation MCP server. 18 tools wrapping CamoFox REST API with stealth fingerprinting that passes bot detection.

Stars
10
Updated
Feb 14, 2026
Validated
Feb 15, 2026

🦊 CamoFox MCP

The anti-detection browser MCP server for AI agents. Navigate, interact, and automate the web without getting blocked.

CI npm version License: MIT TypeScript Node.js MCP


Why CamoFox MCP?

AI agents using Playwright get blocked constantly. CAPTCHAs, fingerprint detection, IP bans — the web fights back against automation.

CamoFox MCP wraps the CamoFox anti-detection browser as an MCP server, giving your AI agent:

  • 🛡️ Anti-detection fingerprinting — Each tab gets a unique, human-like browser fingerprint
  • Fast, token-efficient snapshots — Accessibility tree snapshots use 90% fewer tokens than screenshots
  • 🔍 Built-in search — Search Google, YouTube, Amazon + 11 more engines without getting blocked
  • 🍪 Session persistence — Import cookies, maintain login state across interactions
  • 🎯 CSS selector fallback — Target elements even when accessibility refs aren't available

CamoFox MCP vs Playwright MCP

FeatureCamoFox MCPPlaywright MCP
Anti-detection fingerprinting
Passes bot detection tests
Search engine macros (14 engines)
Accessibility snapshots
Cookie import/exportLimited
Headless support
Setup complexityMediumEasy
Token efficiencyHighHigh

CamoFox MCP vs Other Camoufox MCPs

FeatureCamoFox MCPwhit3rabbit/camoufox-mcpbaixianger/camoufox-mcp
Tools27133
ArchitectureREST API clientDirect browserDirect browser
Session persistence❌ (destroyed per request)
Token efficiencyHigh (snapshots)Low (raw HTML)High (snapshots)
Search macros✅ (14 engines)
CSS selector fallback
Active maintenance❌ (stale 8mo)
Press key support

Quick Start

1. Install CamoFox Browser

Download from CamoFox releases and start:

./camofox-browser   # Starts on port 9377

2. Configure MCP Client

VS Code / Cursor (Recommended)

Add to your MCP settings (settings.json or .vscode/mcp.json):

{
  "servers": {
    "camofox": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "camofox-mcp@latest"],
      "env": {
        "CAMOFOX_URL": "http://localhost:9377"
      }
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "camofox": {
      "command": "npx",
      "args": ["-y", "camofox-mcp@latest"],
      "env": {
        "CAMOFOX_URL": "http://localhost:9377"
      }
    }
  }
}

From Source (Development)

git clone https://github.com/redf0x1/camofox-mcp.git
cd camofox-mcp
npm install && npm run build

Then configure:

{
  "servers": {
    "camofox": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/camofox-mcp/dist/index.js"],
      "env": {
        "CAMOFOX_URL": "http://localhost:9377"
      }
    }
  }
}

Docker

Quick Start with Docker

# Standalone (connect to an existing CamoFox browser server running on the host)
docker run -i --rm -e CAMOFOX_URL=http://host.docker.internal:9377 redf0x1/camofox-mcp

# Browser only (recommended): starts the CamoFox browser server in the background
docker compose up -d

# MCP (stdio): start the browser with compose, then launch the MCP container on-demand
# Option A: plain docker (attach stdin; uses the compose network)
docker run -i --rm --network=camofox-mcp_default -e CAMOFOX_URL=http://camofox-browser:9377 redf0x1/camofox-mcp

# Option B: compose run (no TTY; attaches stdin/stdout for JSON-RPC)
docker compose run --rm -T camofox-mcp

Note: docker compose up -d detaches and does not provide stdin, so it can only be used to run the browser service. Your MCP client should launch the MCP container separately (using docker run -i ... or docker compose run -T ...).

VS Code MCP Configuration (Docker)

{
  "camofox": {
    "command": "docker",
    "args": ["run", "-i", "--rm", "-e", "CAMOFOX_URL=http://host.docker.internal:9377", "redf0x1/camofox-mcp"],
    "type": "stdio"
  }
}

Claude Desktop Configuration (Docker)

{
  "mcpServers": {
    "camofox": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "CAMOFOX_URL=http://host.docker.internal:9377", "redf0x1/camofox-mcp"],
      "type": "stdio"
    }
  }
}

IMPORTANT: Do NOT use -t flag — TTY corrupts the JSON-RPC stdio stream.

Tools (27)

Tab Management

ToolDescription
create_tabCreate a new tab with anti-detection fingerprinting
close_tabClose a tab and release resources
list_tabsList all open tabs with URLs and titles

Navigation

ToolDescription
navigateNavigate to a URL, waits for page load
go_backBrowser back button
go_forwardBrowser forward button
refreshReload current page

Interaction

ToolDescription
clickClick element by ref (from snapshot) or CSS selector
type_textType text into input fields by ref or CSS selector
camofox_press_keyPress keyboard keys (Enter, Tab, Escape, etc.)
scrollScroll page up or down by pixel amount
camofox_hoverHover over an element to trigger tooltips, dropdowns, or hover states
camofox_wait_forWait for page readiness after navigation or dynamic updates

Batch / Composite

ToolDescription
fill_formFill multiple form fields in one call, with optional submit click
type_and_submitType into a field and press a key (default: Enter)
navigate_and_snapshotNavigate to a URL, wait for readiness, and return a snapshot
scroll_and_snapshotScroll then capture a fresh snapshot
batch_clickClick multiple elements sequentially with per-click results

Observation

ToolDescription
snapshotGet accessibility tree — PRIMARY way to read pages. Token-efficient
screenshotTake visual screenshot as base64 PNG
get_linksGet all hyperlinks with URLs and text
camofox_wait_for_textWait for specific text to appear on the page

Search

ToolDescription
web_searchSearch via 14 engines: Google, YouTube, Amazon, Bing, DuckDuckGo, Reddit, GitHub, StackOverflow, Wikipedia, Twitter, LinkedIn, Facebook, Instagram, TikTok

Session

ToolDescription
import_cookiesImport cookies for authenticated sessions
get_statsGet session statistics and performance metrics
camofox_close_sessionClose all browser tabs for a user session

Health

ToolDescription
server_statusCheck CamoFox server health and connection

Configuration

Environment Variables

VariableDefaultDescription
CAMOFOX_URLhttp://localhost:9377CamoFox server URL
CAMOFOX_TIMEOUT30000Request timeout in ms
CAMOFOX_API_KEYAPI key (if CamoFox requires auth)
CAMOFOX_TAB_TTL_MS1800000Tab TTL in milliseconds (30min). Set to 0 to disable auto-eviction
CAMOFOX_MAX_TABS100Maximum tracked tabs
CAMOFOX_VISITED_URLS_LIMIT50Max URLs to keep in tab history
CAMOFOX_SWEEP_INTERVAL_MS60000Sweep interval in milliseconds (1min)

Architecture

AI Agent (Claude, GPT, etc.)
       │
       │ MCP Protocol (stdio)
       ▼
┌─────────────────┐
│  CamoFox MCP    │  ← This package
│  (TypeScript)   │
└────────┬────────┘
         │
         │ REST API (HTTP)
         ▼
┌─────────────────┐
│  CamoFox Server │  ← Anti-detection browser
│  (Port 9377)    │
└────────┬────────┘
         │
         │ Browser Engine
         ▼
┌─────────────────┐
│  Camoufox       │  ← Firefox-based, fingerprint spoofing
│  (Firefox)      │
└─────────────────┘

How It Works

  1. Your AI agent sends MCP tool calls (e.g., create_tab, navigate, snapshot)
  2. CamoFox MCP translates these into REST API calls to the CamoFox server
  3. CamoFox server manages a Camoufox browser with anti-detection features
  4. Each tab gets a unique fingerprint — different user agent, screen size, WebGL, fonts, etc.
  5. Websites see what appears to be a normal human browser, not automation

Anti-Detection Features

CamoFox (via Camoufox) provides:

  • ✅ Unique browser fingerprint per tab
  • ✅ Human-like user agent rotation
  • ✅ WebGL fingerprint spoofing
  • ✅ Canvas fingerprint protection
  • ✅ Screen resolution randomization
  • ✅ Font enumeration protection
  • ✅ Navigator properties masking
  • ✅ Timezone/locale consistency

Contributing

Contributions are welcome! Please open an issue or submit a PR.

License

MIT

Acknowledgments

Reviews

No reviews yet

Sign in to write a review