AI agents call screenshot_element to retrieve information from MacWright without modifying anything — typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
This tool captures and returns visual information from the screen without modifying, executing, or deleting anything. It is a query/retrieval operation analogous to taking a screenshot of part of a webpage. No destructive, write, execute, or financial operations are performed. The low severity reflects minimal risk even if misused — an agent can only view what is already displayed.
From the tool's definition Tool description states it 'Take[s] a cropped screenshot of a specific DOM element in Safari by CSS selector. Returns just the element' — purely retrieves visual data with no side effects.
Attacks that exploit this kind of access
Take a cropped screenshot of a specific DOM element in Safari by CSS selector. Returns just the element. It is categorised as a Read tool in the MacWright MCP Server, which means it retrieves data without modifying state.
Register the MacWright MCP server in PolicyLayer and add a rule for screenshot_element: 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 MacWright. Nothing to install.
screenshot_element 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 screenshot_element 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 screenshot_element. 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.
screenshot_element is provided by the MacWright MCP server (ruchit-p/macwright). 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 →