evaluate_on_callframe
Evaluates a JavaScript expression in the context of a specific call frame while paused. This allows you to inspect variables and execute code in the paused scope.
This record as markdown: /tools/1600822305-js-reverse-mcp/evaluate-on-callframe.md
What evaluate_on_callframe does on Js Reverse
AI agents invoke evaluate_on_callframe to trigger actions in Js Reverse. 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.
Why evaluate_on_callframe is rated High
Evaluating and executing arbitrary JavaScript expressions in a browser context is a code execution action. While the scope is limited to debugging/paused states, this still permits running untrusted code with full access to the page's DOM, cookies, storage, and network capabilities. The high severity reflects potential for data theft, session hijacking, or malicious actions against web applications being debugged.
From the tool's definition Tool description states it 'Evaluates a JavaScript expression' and 'execute[s] code in the paused scope.' The server enables 'control [of] browsers' via Chrome DevTools Protocol. These capabilities allow arbitrary code execution within a browser context.
Attacks that exploit this kind of access
The rule that runs evaluate_on_callframe safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Js Reverse, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For evaluate_on_callframe, this is the rule to start with:
evaluate_on_callframe 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.
The button opens the PolicyLayer dashboard: create your workspace, connect Js Reverse, apply this rule, and every evaluate_on_callframe call is checked against it from then on.
Questions about evaluate_on_callframe
Evaluates a JavaScript expression in the context of a specific call frame while paused. This allows you to inspect variables and execute code in the paused scope. It is categorised as a Execute tool in the Js Reverse MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
Register the Js Reverse MCP server in PolicyLayer and add a rule for evaluate_on_callframe: 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 Js Reverse. Nothing to install.
evaluate_on_callframe is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the evaluate_on_callframe 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 evaluate_on_callframe. 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.
evaluate_on_callframe is provided by the Js Reverse MCP server (1600822305/js-reverse-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Js Reverse, and thousands of servers like it.
Across the catalogue