skill

star 74

Anti-detection browser automation MCP skill for OpenClaw agents with 47 tools for navigation, interaction, observation, extraction, downloads, profiles, sessions, and stealth web search.

redf0x1 By redf0x1 schedule Updated 5/25/2026

name: skill title: CamoFox MCP for OpenClaw version: 1.14.5 description: Anti-detection browser automation MCP skill for OpenClaw agents with 47 tools for navigation, interaction, observation, extraction, downloads, profiles, sessions, and stealth web search. author: redf0x1 tags:


CamoFox MCP Skill

CamoFox MCP gives OpenClaw agents a production-ready anti-detection browser automation toolkit over MCP HTTP transport. It connects OpenClaw to CamoFox Browser so agents can browse, click, type, extract content, manage cookies/sessions, run stealth search workflows, and download resources without the high block rates common with standard automation stacks.

Why this skill exists

Most browser automation flows eventually hit CAPTCHAs, fingerprint checks, or bot detection. CamoFox is purpose-built for that reality:

  • Anti-detection fingerprinting per tab/session
  • Better resilience on sites that aggressively detect automation
  • Token-efficient accessibility snapshots for agent reasoning
  • Session persistence via cookie/profile tools
  • Built-in search macros across 14 engines

Setup

1) Start CamoFox Browser

CamoFox Browser must be running first (default http://localhost:9377). Use camofox-browser 2.4.6 or newer so fresh installs pin the Camoufox-compatible Playwright protocol dependency. Browser 2.4.5 introduced explicit browser auth modes, and browser 2.4.4 fixed first-tab reuse for persistent contexts.

2) Start CamoFox MCP in HTTP mode

CAMOFOX_TRANSPORT=http npx camofox-mcp@1.14.5

Optional examples:

CAMOFOX_TRANSPORT=http CAMOFOX_API_KEY=browser-server-key npx camofox-mcp@1.14.5
CAMOFOX_TRANSPORT=http CAMOFOX_HTTP_HOST=0.0.0.0 CAMOFOX_HTTP_API_KEY=replace-with-32-plus-random-chars npx camofox-mcp@1.14.5
CAMOFOX_TRANSPORT=http CAMOFOX_HTTP_PORT=8080 npx camofox-mcp@1.14.5
CAMOFOX_VIEWPORT=1366x768 npx camofox-mcp@1.14.5

For browser CAMOFOX_AUTH_MODE=disabled on a trusted private agent network, leave CAMOFOX_API_KEY unset in CamoFox MCP so it sends no browser auth headers. Keep that browser endpoint private.

CAMOFOX_VIEWPORT and --viewport set the default viewport for new tabs when create_tab does not provide an explicit viewport. Use WIDTHxHEIGHT format; width must be 320..3840 and height must be 240..2160.

3) Configure OpenClaw

Add this MCP server:

{
  "mcpServers": {
    "camofox": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

Alternative skill-generation flow:

npx @filiksyos/mcptoskill http://localhost:3000/mcp

Trigger phrases

Use this skill when the user asks for tasks like:

  • “Browse this site and extract the data”
  • “Automate this login/search/form flow”
  • “Use a stealth or anti-detection browser”
  • “Take a snapshot and click/type through this workflow”
  • “Collect all links/images/PDFs from this page section”
  • “Persist session cookies and restore later”
  • “Run web search in browser and summarize results”
  • “Download files and return metadata/content”

Tool catalog (47 tools)

Health (1)

  • server_status — Check CamoFox server health and browser connection. Call first to verify server is running. Returns version, browser status, and active tab count.

Tabs (3)

  • create_tab — Create a new browser tab with anti-detection fingerprinting. Supports URL, user/session isolation, viewport/display size, geo overrides, proxyProfile/raw proxy, and geoMode. To share the camofox CLI default browser profile/context, pass userId: "cli-default" and sessionKey: "default"; this creates a tracked MCP tab in that context but does not attach to a CLI tab that is already open.
  • close_tab — Close a browser tab and release resources. Always close tabs when done to free memory.
  • list_tabs — List all open browser tabs with URLs and titles. Use to discover available tabs or verify tab state.

Navigation (4)

  • navigate — Navigate a tab to a URL. Waits for page load. Use create_tab first, then navigate. Returns final URL (may differ due to redirects).
  • go_back — Navigate backward in browser history (Back button). Returns new page URL.
  • go_forward — Navigate forward in browser history (Forward button). Returns new page URL.
  • refresh — Reload the current page. Useful when page state is stale or after changes.

Interaction (8)

  • click — Click an element. Provide either ref (from snapshot) or CSS selector. Use snapshot first to discover element refs.
  • type_text — Type text into an input field. Provide either a ref (from snapshot) or a CSS selector. Use ref when available; otherwise use selector when snapshot doesn't assign refs (common with combobox/autocomplete inputs). Call snapshot first to find target element.
  • scroll — Scroll page up or down by pixel amount. Use to reveal content below the fold or navigate long pages.
  • camofox_scroll_element — Scroll a specific container element (modal dialog, scrollable div, sidebar). Use when page-level scroll doesn't reach content inside modals or overflow containers. Returns scroll position metadata to track progress.
  • camofox_evaluate_js — Execute JavaScript in the browser page context. Runs in isolated scope (invisible to page scripts — safe for anti-detection). Use for: extracting data not visible in accessibility snapshot, checking element properties, reading computed styles, manipulating DOM elements. Requires CAMOFOX_API_KEY to be configured.
  • camofox_hover — Hover over an element to trigger tooltips, dropdown menus, or hover states. Use ref from snapshot or CSS selector.
  • camofox_wait_for — Wait for page to be fully ready (DOM loaded, network idle, framework hydration complete). Use after navigation or actions that trigger page changes.
  • camofox_press_key — Press a keyboard key. Use after type_text to submit forms (Enter), navigate between elements (Tab), move through suggestions (ArrowDown/ArrowUp), or dismiss dialogs (Escape). Common keys: Enter, Tab, Escape, ArrowDown, ArrowUp, Backspace, Space.

Observation (8)

  • snapshot — Get accessibility tree snapshot — the PRIMARY way to read page content. Returns element refs, roles, names and values. Token-efficient. Always prefer over screenshot. Element refs are used with click and type_text.
  • screenshot — Take visual screenshot in base64 PNG. Use ONLY for visual verification (CSS, layout, proof). Prefer snapshot for most tasks — much more token-efficient.
  • get_links — Get all hyperlinks on page with URLs and text. Useful for navigation discovery and site mapping.
  • camofox_get_page_html — Get rendered HTML from the live DOM. Use when accessibility snapshots miss dynamic or custom component content.
  • camofox_query_selector — Query a CSS selector in the live DOM and return element text, HTML, attributes, and visibility metadata.
  • camofox_wait_for_text — Wait for specific text to appear on the page. Useful for waiting for search results, form submissions, or dynamic content loading.
  • camofox_wait_for_selector — Wait for a CSS selector to appear in the live DOM. Useful for SPA and async-content workflows.
  • youtube_transcript — Fetch a YouTube transcript without opening a browser tab.

Downloads (3)

  • list_downloads — List downloaded files with optional filtering by tab, status, extension, MIME type, and size range. Each download includes contentUrl for direct file retrieval.
  • get_download — Get a downloaded file. Images are always returned as viewable images. Recommended for AI agents: set includeContent=true to get non-image file content as base64 inline (max 256KB). Otherwise returns metadata only (including contentUrl).
  • delete_download — Delete a downloaded file from disk and registry.

Extraction (4)

  • extract_resources — Extract resources (images, links, media, documents) from a specific DOM container. Use a CSS selector or element ref from snapshot to scope extraction to a particular section of the page. This is useful for extracting all images from a specific post, all links from a table, etc.
  • extract_structured — Extract deterministic structured JSON from a page using the camofox-browser structured extraction schema.
  • batch_download — Extract resources from a DOM container and download them all. Combines extract_resources + download in one call. Useful for downloading all images from a chat, all PDFs from a table, etc.
  • resolve_blobs — Resolve blob: URLs to downloadable base64 data. Blob URLs are temporary browser objects (common in Telegram, WhatsApp, Discord) that cannot be downloaded directly. This tool converts them to base64 data URIs.

Search (1)

  • web_search — Search the web via 14 engines: google, youtube, amazon, bing, duckduckgo, reddit, github, stackoverflow, wikipedia, twitter, linkedin, facebook, instagram, tiktok. Call snapshot after to read results.

Session (4)

  • import_cookies — Import cookies for authenticated sessions. Provide cookies in a JSON string array. Restores login sessions without re-auth. Requires userId.
  • get_stats — Get session statistics: request counts, active tabs, uptime, performance metrics.
  • camofox_close_session — Close all browser tabs for a user session. Use for complete cleanup when done with a browsing session.
  • toggle_display — Switch a user session between headless, headed, and virtual display modes and return a VNC URL when available.

Batch workflows (6)

  • fill_form — Fill multiple form fields in one call. Provide an array of field entries, each with a ref or CSS selector and the text to type. Optionally specify a submit button to click after filling.
  • type_and_submit — Type text into a field and press a key (default: Enter). Useful for search boxes and single-field forms.
  • navigate_and_snapshot — Navigate to a URL and return the page snapshot. Combines navigate + wait + snapshot into one call.
  • scroll_and_snapshot — Scroll the page and take a snapshot. Useful for revealing content below the fold.
  • camofox_scroll_element_and_snapshot — Scroll a container element AND take a snapshot. Combines scroll_element + snapshot in one call. Perfect for incrementally loading lazy content in modals (e.g. Facebook group post comments). Returns both scroll position and page snapshot.
  • batch_click — Click multiple elements sequentially. Continues on error (clicks are independent). Returns per-click results.

Profiles (4)

  • save_profile — Save browser cookies from an active tab to a named profile on disk. Enables session persistence across restarts. Use after login to save authenticated state.
  • load_profile — Load a saved profile's cookies into an active browser tab. Restores login sessions without re-authentication. Use after create_tab to restore saved state.
  • list_profiles — List all saved browser profiles with metadata. Shows profile names, cookie counts, save dates, and descriptions.
  • delete_profile — Delete a saved browser profile from disk. Removes the profile's cookie data permanently.

Presets (1)

  • list_presets — List all available geo presets supported by the CamoFox server. Presets include locale, timezone, and optional geolocation.

What makes CamoFox unique

  • Stealth-first architecture for AI agents that need reliability on hostile sites
  • Rich tool surface (47 tools) combining low-level controls + high-level workflows
  • Snapshot-first design that reduces token burn while preserving actionable context
  • Built-in profile/session controls for long-running authenticated automations
  • Native HTTP MCP endpoint for OpenClaw and remote MCP-compatible clients
Install via CLI
npx skills add https://github.com/redf0x1/camofox-mcp --skill skill
Repository Details
star Stars 74
call_split Forks 11
navigation Branch main
article Path SKILL.md
More from Creator