camofox-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CAMOFOX_URL | No | CamoFox server URL | http://localhost:9377 |
| CAMOFOX_API_KEY | No | API key (if CamoFox requires auth) | |
| CAMOFOX_TIMEOUT | No | Request timeout in ms | 30000 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| server_statusA | Check CamoFox server health and browser connection. Call first to verify server is running. Returns version, browser status, and active tab count. |
| create_tabA | Create a new browser tab with anti-detection fingerprinting. Each tab gets a unique fingerprint. Optionally provide a URL and userId for session isolation. Returns the tab ID for subsequent operations. |
| close_tabA | Close a browser tab and release resources. Always close tabs when done to free memory. |
| list_tabsA | List all open browser tabs with URLs and titles. Use to discover available tabs or verify tab state. |
| navigateA | 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_backA | Navigate backward in browser history (Back button). Returns new page URL. |
| go_forwardA | Navigate forward in browser history (Forward button). Returns new page URL. |
| refreshA | Reload the current page. Useful when page state is stale or after changes. |
| clickA | Click an element. Provide either ref (from snapshot) or CSS selector. Use snapshot first to discover element refs. |
| type_textA | 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. |
| scrollB | Scroll page up or down by pixel amount. Use to reveal content below the fold or navigate long pages. |
| camofox_scroll_elementA | 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_jsA | 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_hoverA | Hover over an element to trigger tooltips, dropdown menus, or hover states. Use ref from snapshot or CSS selector. |
| camofox_wait_forA | 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_keyA | 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. |
| snapshotA | Get accessibility tree snapshot — the PRIMARY way to read page content. Returns element refs, roles, names and values. Token-efficient. Always prefer over screenshot. Refs come from the accessibility tree, so custom SPA elements may be missing; fall back to CSS selectors, camofox_wait_for_selector, or camofox_get_page_html when needed. |
| camofox_get_page_htmlA | Get rendered HTML from the live DOM. Use when snapshot refs are incomplete on SPA/custom-component sites or when you need the final DOM state rather than the accessibility tree. Optionally pass a CSS selector to return only that element's outerHTML instead of the full page. Requires CAMOFOX_API_KEY. |
| camofox_query_selectorA | Query a CSS selector in the live DOM and return its element details or a specific attribute. Use this for targeted inspection without writing raw evaluate_js. Requires CAMOFOX_API_KEY. |
| screenshotA | Take visual screenshot in base64 PNG. Use ONLY for visual verification (CSS, layout, proof). Prefer snapshot for most tasks — much more token-efficient. |
| get_linksA | Get all hyperlinks on page with URLs and text. Useful for navigation discovery and site mapping. |
| camofox_wait_for_textA | Wait for specific text to appear on the page. Useful for waiting for search results, form submissions, or dynamic content loading. |
| camofox_wait_for_selectorA | Wait for a CSS selector to appear in the live DOM. Use for SPA hydration and async content when snapshot refs are incomplete or stale. Once found, prefer snapshot refs for interaction when available. Requires CAMOFOX_API_KEY. |
| list_downloadsA | List downloaded files with optional filtering by tab, status, extension, MIME type, and size range. Each download includes contentUrl for direct file retrieval. |
| get_downloadA | 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_downloadB | Delete a downloaded file from disk and registry |
| extract_resourcesA | 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_structuredB | Extract deterministic structured JSON from a page using the camofox-browser structured extraction schema. |
| batch_downloadA | 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_blobsA | 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. |
| web_searchA | 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. |
| youtube_transcriptA | Extract transcript from a YouTube video. Returns timestamped text. No tab required. |
| import_cookiesA | Import cookies for authenticated sessions. Provide cookies in a JSON string array. Restores login sessions without re-auth. Requires userId. |
| get_statsB | Get session statistics: request counts, active tabs, uptime, performance metrics. |
| camofox_close_sessionA | Close all browser tabs for a user session. Use for complete cleanup when done with a browsing session. |
| toggle_displayA | Toggle browser display mode between headless and headed. When encountering CAPTCHAs or issues requiring visual interaction, switch to headed mode (headless: false) to show the browser window. After resolving, switch back to headless mode (headless: true). When switching an existing single context to virtual or headed mode, the response includes a vncUrl field — open this URL in a browser to see and interact with the browser GUI. Check tabsInvalidated in the response: when true, recreate tabs; when false, existing tracked tabs remain usable and the override applies to future contexts. |
| fill_formA | 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_submitA | Type text into a field and press a key (default: Enter). Useful for search boxes and single-field forms. |
| navigate_and_snapshotA | Navigate to a URL and return the page snapshot. Combines navigate + wait + snapshot into one call. |
| scroll_and_snapshotA | Scroll the page and take a snapshot. Useful for revealing content below the fold. |
| camofox_scroll_element_and_snapshotA | 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_clickA | Click multiple elements sequentially. Continues on error (clicks are independent). Returns per-click results. |
| save_profileA | 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_profileA | 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_profilesA | List all saved browser profiles with metadata. Shows profile names, cookie counts, save dates, and descriptions. |
| delete_profileB | Delete a saved browser profile from disk. Removes the profile's cookie data permanently. |
| list_presetsA | List all available geo presets supported by the CamoFox server. Presets include locale, timezone, and optional geolocation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| setup-verify | Verify CamoFox MCP setup is working. Runs health check, smoke test, and profile check. |
| troubleshoot | Diagnose and fix common CamoFox issues. Optionally describe the symptom. |
| quick-start | Get started with CamoFox — basic browsing workflow guide. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/redf0x1/camofox-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server