High Risk →

fetch_url_with_browser

强制使用Playwright浏览器获取网页内容(适用于有访问限制的网站,如Cloudflare保护、验证码等)

How to control fetch_url_with_browser ↓

AI agents invoke fetch_url_with_browser to trigger actions in Web Reader. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call — builds kicked off, notifications sent, workflows started.

High Risk

This tool executes a real browser (Playwright) to fetch web pages, triggering external browser processes and potentially solving CAPTCHAs. While the primary goal is reading content, the mechanism involves executing browser automation, which classifies it as Execute rather than mere Read. The blast radius is medium because it can be used to bypass access controls and interact with protected sites.

From the tool's definition 强制使用Playwright浏览器获取网页内容(适用于有访问限制的网站,如Cloudflare保护、验证码等)— forces use of a Playwright browser (a real browser automation engine) to retrieve web content

Documented attack patterns abuse exactly the kind of access fetch_url_with_browser gives an agent:

PolicyLayer is an MCP gateway — it sits between your AI agents and Web Reader, and nothing reaches the server without passing your rules. This is the rule we recommend for fetch_url_with_browser:

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "fetch_url_with_browser": {
      "limits": [
        {
          "counter": "fetch_url_with_browser_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}

fetch_url_with_browser stays usable, but rate-capped — a runaway agent can't fire it dozens of times a minute. Everything else on the server is denied unless you say otherwise.

  1. Create a free account and register Web Reader — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
RATE-LIMIT THIS TOOL →

Free to start. No card required.

Go deeper

What does the fetch_url_with_browser tool do? +

强制使用Playwright浏览器获取网页内容(适用于有访问限制的网站,如Cloudflare保护、验证码等). It is categorised as a Execute tool in the Web Reader MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.

How do I enforce a policy on fetch_url_with_browser? +

Register the Web Reader MCP server in PolicyLayer and add a rule for fetch_url_with_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 Web Reader. Nothing to install.

What risk level is fetch_url_with_browser? +

fetch_url_with_browser is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.

Can I rate-limit fetch_url_with_browser? +

Yes. Add a rate_limit block to the fetch_url_with_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.

How do I block fetch_url_with_browser completely? +

Set action: deny in the PolicyLayer policy for fetch_url_with_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.

What MCP server provides fetch_url_with_browser? +

fetch_url_with_browser is provided by the Web Reader MCP server (zacfire/mcp-web-reader). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Web Reader tool call.

Deterministic rules across all 5 Web Reader tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

5 Web Reader tools catalogued and risk-classified — across an index of 42,500+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.