browser.eval
Evaluates a JavaScript expression in the inspected page (MAIN world) and returns the JSON-serialisable result. An expression that yields nothing returns null; one that throws, or yields a value that cannot be serialised (a DOM node, a function, a circular object), is a PAGE_ERROR naming the reaso...
This record as markdown: /tools/pixi-inspector-mcp/browser.eval.md
What browser.eval does on Pixi Inspector
AI agents call browser.eval as a supporting operation in Pixi Inspector workflows.
| Parameter | Type | Required | Description |
|---|---|---|---|
tabId | integer | — | Legacy: a bare tab id, resolved inside the browser this session is already working with. Prefer `target`, which is unambiguous across browsers. |
target | string | — | Drive a specific tab: a target id like "b7a3c1#487" from status/use_target/CHOOSE_TARGET. Omit to use this session's chosen tab (or the only available one). Pas |
frameId | integer | — | Escape hatch: drive a specific FRAME of the tab (0 is the top frame). Normally unnecessary — the extension picks the frame running the game (canvas owner first, |
expression | string | Yes | JavaScript expression to evaluate |
Parameters from the server's own tool schema.
Why browser.eval is rated Low
Without any rule in front of it, every call an agent makes to browser.eval happens silently: no trail, no cap, no way to know it misbehaved until something breaks downstream.
Risk signalsAccepts freeform code/query input (expression)
Attacks that exploit this kind of access
The rule that runs browser.eval safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Pixi Inspector, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For browser.eval, this is the rule to start with:
browser.eval gets a rate cap, and everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Pixi Inspector, apply this rule, and every browser.eval call is checked against it from then on.
Questions about browser.eval
Evaluates a JavaScript expression in the inspected page (MAIN world) and returns the JSON-serialisable result. An expression that yields nothing returns null; one that throws, or yields a value that cannot be serialised (a DOM node, a function, a circular object), is a PAGE_ERROR naming the reason — so a null result always means the page really produced null. Return a projection of what you need rather than a live object. Runs in the TOP frame by default — unlike the pixi.* tools, this one does not rank frames. On a multi-frame game pass frameId (from a pixi.* result's target line) to evaluate inside the frame that owns the game; the result's target line reports the frame it ran in. It is categorised as a Other tool in the Pixi Inspector MCP Server, which means it performs auxiliary operations.
browser.eval accepts 4 parameters: tabId, target, frameId, expression. Required: expression. The full parameter table on this page comes from the server's own tool schema.
Register the Pixi Inspector MCP server in PolicyLayer and add a rule for browser.eval: 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 Pixi Inspector. Nothing to install.
browser.eval is a Other tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the browser.eval 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 browser.eval. 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.
browser.eval is provided by the Pixi Inspector MCP server (pixi-inspector-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Pixi Inspector, and thousands of servers like it.
This server
Across the catalogue