AI agents call fetch_links_headless to retrieve information from Web Fetch without modifying anything — typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
This tool retrieves and reads data from web pages—specifically hyperlink metadata (titles and URLs). While it uses a headless browser (Puppeteer) for dynamic content rendering, the operation is read-only with no side effects. The blast radius of misuse is minimal: an attacker could gather information about a page's structure but cannot modify content, execute code, delete data, or cause financial harm.
From the tool's definition Tool name 'fetch_links_headless' and description state it 'extract[s] page... hyperlinks' using a headless browser. The description explicitly mentions 'dynamic rendered pages' and indicates retrieval of 'titles and addresses' of links.
Attacks that exploit this kind of access
使用无头浏览器提取页面中所有超链接的标题和地址,用于处理动态渲染的页面. It is categorised as a Read tool in the Web Fetch MCP Server, which means it retrieves data without modifying state.
Register the Web Fetch MCP server in PolicyLayer and add a rule for fetch_links_headless: 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 Fetch. Nothing to install.
fetch_links_headless is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the fetch_links_headless 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 fetch_links_headless. 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.
fetch_links_headless is provided by the Web Fetch MCP server (xiaozhuabcd1234/web-fetch-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →