camofox-mcp
v1.14.4
Published
Anti-detection browser MCP server for AI agents — navigate, interact, and automate the web without getting blocked
Maintainers
Readme
CamoFox MCP
AI-powered anti-detection browser automation for MCP-compatible AI agents.
CamoFox MCP connects MCP clients such as Claude Desktop, VS Code, Cursor, and OpenClaw to the CamoFox browser server. It gives agents a practical browser toolset for navigation, interaction, search, extraction, downloads, and session reuse while relying on Camoufox-based anti-detection behavior underneath.
Key Features
- 47 browser automation tools across navigation, interaction, observation, search, downloads, sessions, and batch workflows.
- Anti-detection browser automation built on top of the CamoFox browser server and Camoufox.
- Multi-tab workflows with tracked state, history, and cleanup.
- Session persistence with cookie import, saved profiles, and optional auto-save.
- Token-efficient accessibility snapshots with CSS-selector fallbacks for difficult SPA flows.
- OpenClaw-compatible HTTP transport, plus standard stdio support for desktop MCP clients.
Quick Install
You need both components running:
camofox-browserhandles the anti-detection browser.camofox-mcpexposes that browser to your MCP client.
Option A: npx + stdio
Start the browser server:
npx camofox-browser@latestAdd CamoFox MCP to your MCP client:
{
"servers": {
"camofox": {
"type": "stdio",
"command": "npx",
"args": ["-y", "camofox-mcp@latest"],
"env": {
"CAMOFOX_URL": "http://localhost:9377"
}
}
}
}Option B: Docker
Start the browser server:
docker run -d -p 9377:9377 --name camofox-browser ghcr.io/redf0x1/camofox-browser:latestRun CamoFox MCP in HTTP mode for remote MCP clients such as OpenClaw:
docker run -p 3000:8080 --rm \
-e CAMOFOX_TRANSPORT=http \
-e CAMOFOX_HTTP_HOST=0.0.0.0 \
-e CAMOFOX_HTTP_API_KEY=replace-with-32-plus-random-chars \
-e CAMOFOX_URL=http://host.docker.internal:9377 \
ghcr.io/redf0x1/camofox-mcp:latest node dist/http.jsConfigure your HTTP MCP client to connect to http://localhost:3000/mcp with
Authorization: Bearer replace-with-32-plus-random-chars.
Full client configuration examples live in docs/getting-started.md.
Quick Verify
Use camofox-browser 2.4.5 or newer. Browser 2.4.4 fixes the persistent-context cold-start about:blank page reuse path, and browser 2.4.5 adds explicit browser auth modes including CAMOFOX_AUTH_MODE=disabled for trusted private agent networks.
Verify the browser server is reachable:
curl -fsS http://localhost:9377/healthExpected response includes "ok":true and "running":true.
On a cold server with no active tabs yet, browserConnected can be false; create a tab to start a browser session.
Tool Categories
| Category | Tool count | Docs | |---|---:|---| | Health | 1 | Health | | Tabs | 3 | Tabs | | Navigation | 4 | Navigation | | Interaction | 8 | Interaction | | Observation | 8 | Observation | | Search | 1 | Search | | Session | 4 | Session | | Profiles | 4 | Profiles | | Downloads | 3 | Downloads | | Extraction | 3 | Extraction | | Batch workflows | 6 | Batch | | Presets | 1 | Presets |
Top Limitations
- CamoFox MCP is not a standalone browser. You must run a compatible
camofox-browserserver separately. - MCP can share the camofox CLI default browser profile/context when
create_tabusesuserId: "cli-default"andsessionKey: "default", but it cannot reliably attach to a tab the CLI already opened. Importing/adopting existing CLI tabs is a future feature. - Headed browser window size follows browser viewport/display-size behavior. Pass
viewport, for example{ "width": 1366, "height": 768 }, or setCAMOFOX_VIEWPORT=1366x768/--viewport 1366x768for a default new-tab size. Supported defaults use width320..3840and height240..2160. - Accessibility-tree refs are the primary interaction model, but SPA and custom-component sites can require CSS selectors or rendered HTML tools.
- If the browser server enforces authentication, API-key-gated operations need the same
CAMOFOX_API_KEYon both sides. - For browser
2.4.5trusted private-network deployments usingCAMOFOX_AUTH_MODE=disabled, leaveCAMOFOX_API_KEYunset in CamoFox MCP. MCP then sends no outbound browser auth headers. Keep both browser and MCP access on a trusted private network. - If HTTP transport is exposed beyond loopback, set
CAMOFOX_HTTP_API_KEYand require clients to send it as a Bearer token. - HTTP transport is mainly for remote MCP clients. Desktop MCP clients usually work best with stdio configuration.
Security
Treat this as a browser control surface. In shared or networked environments, isolate the browser server, avoid exposing MCP endpoints broadly, and use CAMOFOX_HTTP_API_KEY for inbound HTTP MCP clients plus CAMOFOX_API_KEY when the browser server requires authentication. If the browser server runs CAMOFOX_AUTH_MODE=disabled, leave CAMOFOX_API_KEY unset and keep that browser endpoint on a trusted private network. Session profiles can contain sensitive cookies and should be stored accordingly.
Documentation
Start at docs/README.md for the documentation hub, then use docs/getting-started.md for setup, verification, and first workflow examples.
Contributing + License
See CONTRIBUTING.md for contribution guidelines, SECURITY.md for private vulnerability reporting, and LICENSE for the MIT license.
