foura_browser
Load a URL in a real browser session. JS runs, DOM renders, cookies come back. 2-10s. Use for SPAs, lazy-loaded content, or JS anti-bot challenges (Cloudflare Turnstile etc.). Prefer foura_single for static HTML; foura_proxy for static pages where your IP is blocked. To rotate the browser's exit ...
This record as markdown: /tools/ai-foura-mcp/foura-browser.md
What foura_browser does on Mcp
AI agents use foura_browser to create or update resources in Mcp, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Mcp environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Target URL to load in a full browser session. Public hosts only - private/reserved ranges (RFC 1918 + loopback + link-local + IPv6 ULA/loopback + *.local mDNS) |
proxy | string | — | Optional proxy. Three forms: (1) URL `http://user:pass@host:port` or `socks5://host:port`; (2) base36 ID from foura_proxy (e.g. `4DZ3VE`) - same pool exit IP; ( |
cookies | array | — | Cookies to set before navigation: [{ name, value, domain? }] |
headers | object | — | Custom HTTP headers as a key-value object (NOT [name, value] tuples). Example: {"Referer": "https://google.com/"} |
checkText | string | — | One-shot post-render validator - substring search on the rendered HTML AFTER navigation completes. NOT a waiter: does not poll, does not block until the substri |
unblocker | boolean | — | Actively SOLVE an anti-bot / captcha challenge (Cloudflare Turnstile and similar) encountered during navigation, instead of just rendering it. Default true. Set |
userAgent | string | — | Override the browser's User-Agent string |
timeout_ms | integer | — | Page load timeout in ms (default 30000, max 120000) |
checkStatus | integer | — | Expected HTTP status code. If the page returns a different status → tool returns an error envelope with the actual status carried in the envelope. Example: 200 |
offload_large | boolean | — | If true, response bodies >= 50KB are written to disk and returned as a resource_link instead of inlined. Default false. |
Parameters from the server's own tool schema.
Why foura_browser is rated Medium
An AI agent can call foura_browser faster than any human can review: one bad instruction and it creates or modifies resources in Mcp by the hundred, each call as confident as the last.
Risk signalsAccepts URL/endpoint input (url) · High parameter count (13 properties)
Attacks that exploit this kind of access
The rule that runs foura_browser safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Mcp, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For foura_browser, this is the rule to start with:
foura_browser stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Mcp, apply this rule, and every foura_browser call is checked against it from then on.
Questions about foura_browser
Load a URL in a real browser session. JS runs, DOM renders, cookies come back. 2-10s. Use for SPAs, lazy-loaded content, or JS anti-bot challenges (Cloudflare Turnstile etc.). Prefer foura_single for static HTML; foura_proxy for static pages where your IP is blocked. To rotate the browser's exit IP: call foura_proxy first, pass its returned proxy ID into this tool's proxy field - the browser exits through that pool IP. Default (no proxy) is one fixed container egress. If the target is behind a tier-1 WAF challenge (Vercel / Cloudflare / Akamai), calling this tool directly will usually still capture the challenge page rather than the post-challenge content - the snapshot fires before the challenge's deferred reload completes. Correct chain: call foura_proxy first with maxTries:25-30 against the same URL → take the returned proxy base36 ID → pass it into this tool's proxy field. The browser then exits through the IP that already cleared the challenge for this target. By default the browser actively solves an anti-bot / captcha challenge it meets along the way (the unblocker flag, default true); set unblocker:false to skip solving and return the page exactly as it loads, challenge page included. It is categorised as a Write tool in the Mcp MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
foura_browser accepts 10 parameters: url, proxy, cookies, headers, checkText, unblocker, userAgent, timeout_ms, checkStatus, offload_large. Required: url. The full parameter table on this page comes from the server's own tool schema.
Register the MCP server in PolicyLayer and add a rule for foura_browser: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Mcp. Nothing to install.
foura_browser is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the foura_browser rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for foura_browser. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
foura_browser is provided by the MCP server (@fouradata/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on , and thousands of servers like it.
This server
Across the catalogue