Skip to main content
Glama
whit3rabbit

Camoufox MCP Server

by whit3rabbit

browse

Read-only

Get website content without revealing your identity. Navigates to a URL and returns bounded text or HTML with anti-detection options like OS spoofing and proxies.

Instructions

Navigate once and return bounded page content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
osNoOptional OS to spoof. Can be 'windows', 'macos', or 'linux'. If not specified, will rotate between all OS types.
urlYesThe URL to navigate to and retrieve content from. Use this tool when users ask to visit, check, search, navigate, browse, fetch, or scrape websites. Must be a fully qualified URL (e.g., 'https://example.com').
argsNoAdditional browser command-line arguments to pass to the browser. Rejected unless CAMOUFOX_MCP_ALLOW_UNSAFE_OPTIONS=1; denied args are always rejected.
geoipNoAutomatically detect geolocation based on IP address.
proxyNoProxy configuration for routing browser traffic through an HTTP(S) proxy. Proxy servers are checked against the same local-network URL policy as page requests.
localeNoBrowser locale (e.g., 'en-US', 'fr-FR').
windowNoSet fixed window size [width, height] instead of random generation. An empty array [] is accepted and treated as if the window parameter was not specified.
timeoutNoTimeout in milliseconds for page load (5-300 seconds).
headlessNoRun browser in headless mode. Auto-detects best mode for environment if not specified.
humanizeNoEnable realistic cursor movements and human-like behavior for better stealth and anti-detection.
maxCharsNoMaximum text or HTML characters to return.
selectorNoOptional CSS selector to limit extraction to one matching element.
viewportNoCustom viewport dimensions.
outputModeNoResponse content mode. Defaults to visible text. Use 'html' only when raw HTML is explicitly needed.text
screenshotNoCapture a screenshot/image of the page after loading.
block_webglNoBlock WebGL to prevent fingerprinting and tracking.
block_imagesNoBlock all images for faster loading, reduced bandwidth, and lightweight browsing.
block_webrtcNoBlock WebRTC entirely for enhanced privacy and stealth.
disable_coopNoDisable Cross-Origin-Opener-Policy for sites that require it.
enable_cacheNoCache pages, requests, etc. Uses more memory but improves performance when revisiting pages.
waitStrategyNoWait strategy for page load. Defaults to 'domcontentloaded'. 'load' waits for all resources, 'networkidle' waits for network activity to finish.domcontentloaded
captchaPolicyNoChallenge handling policy. 'detect' reports signals, 'pause' returns state for human action, 'fail' returns an error, 'attempt' returns enhanced challenge metadata, interactive elements, a bounded screenshot, and a suggested strategy. When CAPTCHA_AUTONOMOUS=true, responses are marked for LLM-assisted handling and include provider-specific challengePlaybook context when known.
exclude_addonsNoList of default addons to exclude (e.g., ['ublock_origin']). Rejected unless CAMOUFOX_MCP_ALLOW_UNSAFE_OPTIONS=1.
includeConsoleNoInclude bounded page console diagnostics in the JSON response.
includeNetworkNoInclude bounded network diagnostics in the JSON response.
stealthProfileNoConvenience profile for common Camoufox browser settings. Explicit options override profile values.normal
screenshotOptionsNoOptional screenshot capture settings. Used only when screenshot is true.
firefox_user_prefsNoCustom Firefox user preferences to set. Rejected unless CAMOUFOX_MCP_ALLOW_UNSAFE_OPTIONS=1; denied prefs are always rejected.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
htmlNo
textNo
titleNo
statusNo
messageNo
maxCharsYes
selectorNo
truncatedYes
outputModeYes
screenshotNo
contentTypeNo
diagnosticsNo
challengeTypeNo
selectorFoundNo
captchaIframesNo
captchaDetectedNo
challengeSignalsNo
challengeHandlingNo
challengePlaybookNo
challengeProviderNo
suggestedStrategyNo
requiresUserActionNo
interactiveElementsNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds useful context: 'bounded' indicates output limits and 'Navigate once' implies no session persistence. This goes beyond the annotations without contradicting them, giving the agent a clearer expectation of the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence (7 words). It is front-loaded with the core action and constraint ('Navigate once', 'bounded'), and every word contributes meaning. No waste or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 28 parameters, the schema and output schema are extremely detailed, so the description does not need to list options. The description gives a concise summary that orients the agent to the tool's primary purpose and its bounded-output nature. It is sufficiently complete for the complexity, though it could note the variety of output modes (text/html/metadata) which are only in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is thoroughly documented. The tool description does not add extra parameter semantics beyond the schema; it only hints at bounded content, which is already captured by maxChars. Baseline 3 is appropriate given full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Navigate once and return bounded page content' uses a specific verb ('navigate') and resource ('page content'), and the word 'once' distinguishes it from sibling tools like browse_sequence. It is clear and unambiguous, though it could be more explicit about being a single-page fetch/scrape tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied by 'Navigate once', which suggests it is for a single page rather than a sequence or session. However, there are no explicit references to alternatives or when-not-to-use scenarios. The schema's url parameter description does provide some use-case guidance, but the tool description itself lacks clear direction on choosing between browse and its siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/whit3rabbit/camoufox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server