Camoufox MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROXY_PASS | No | Password for proxy authentication | |
| PROXY_USER | No | Username for proxy authentication | |
| PROXY_SERVER | No | The proxy server URL (e.g., http://1.2.3.4:8080 or socks5://1.2.3.4:1080) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_pagesB | List all open browser pages/tabs |
| new_pageC | Create a new browser page/tab, optionally navigating to a URL |
| select_pageC | Set a page as the active page for subsequent operations |
| close_pageC | Close a browser page/tab |
| navigate_pageC | Navigate to a URL or go back/forward/reload |
| take_snapshotC | Take a text snapshot of the page with interactive element UIDs for targeting |
| take_screenshotC | Take a screenshot of the page or a specific element |
| evaluate_mainworldA | Execute JavaScript in the page's MAIN execution context (same as browser DevTools console). USE THIS TOOL WHEN YOU NEED TO:
CRITICAL LIMITATIONS:
EXAMPLES:
|
| evaluate_isolatedA | Execute JavaScript in an ISOLATED context (sandboxed, separate from page scripts). USE THIS TOOL WHEN YOU NEED TO:
LIMITATIONS:
EXAMPLES:
|
| get_framework_stateC | Extract Next.js/Nuxt.js hydration state from the page |
| clickC | Click an element by its UID from snapshot |
| hoverC | Hover over an element by its UID |
| fillC | Fill a form field (input, textarea, select) by its UID |
| fill_formC | Fill multiple form fields at once |
| press_keyC | Press a keyboard key or combination |
| dragC | Drag an element to another element |
| wait_forC | Wait for text or selector to appear on the page |
| wait_for_navigationC | Wait for page navigation to complete |
| dismiss_popupsA | Dismiss cookie consent popups and overlays |
| get_page_textC | Extract text content from the page |
| reload_settingsC | Reload settings from config file |
| get_config_pathsB | Get all config file paths (user config, package default, active) |
| init_user_configA | Initialize user config directory (~/.config/camoufox-mcp) with default settings |
| start_recordingC | Start recording user interactions (clicks, scrolls, inputs) |
| stop_recordingC | Stop recording and return captured actions |
| get_recording_statusC | Get current recording status |
| start_network_captureC | Start capturing network requests |
| stop_network_captureB | Stop capturing network requests |
| get_network_logsC | Get captured network request logs |
| clear_network_logsC | Clear captured network logs |
| intercept_networkC | Intercept and block/modify network requests |
| remove_interceptC | Remove network intercept rules |
| start_console_captureC | Start capturing browser console messages |
| stop_console_captureB | Stop capturing console messages |
| get_console_logsC | Get captured console messages |
| clear_console_logsB | Clear captured console logs |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 36 tools
Most tools have distinct purposes, but there is some overlap that could cause confusion. For example, 'evaluate_isolated' and 'evaluate_mainworld' both execute JavaScript but in different contexts, which is clarified in descriptions, yet their similar names might lead to misselection. Tools like 'fill' and 'fill_form' also have overlapping functionality, though 'fill_form' handles multiple fields. Overall, descriptions help differentiate, but some boundaries are unclear.
Tool names largely follow a consistent verb_noun pattern (e.g., 'clear_console_logs', 'get_page_text', 'start_recording'), making them predictable and readable. There are minor deviations, such as 'evaluate_isolated' and 'evaluate_mainworld' using adjectives instead of nouns, and 'init_user_config' using 'init' instead of a more standard verb like 'initialize'. However, the overall naming scheme is coherent and easy to follow.
With 36 tools, the count is excessive for a browser automation server, leading to potential cognitive overload and reduced usability. A typical well-scoped server in this domain should have 10-20 tools; this set includes many granular operations (e.g., separate tools for starting/stopping console and network capture) that could be consolidated. The high number makes the tool surface feel heavy and less intuitive for agents.
The tool set provides comprehensive coverage for browser automation, including navigation, interaction (click, hover, drag), form handling, JavaScript execution, logging, network control, and state management. It supports full CRUD-like operations for logs and captures, and there are no obvious gaps—tools like 'wait_for' and 'wait_for_navigation' ensure robust workflow support. The domain is well-covered without dead ends.