dbg_watch
Manage a persistent set of watch expressions and evaluate them in the current stopped frame. Pass add/remove/clear to mutate the set (all optional), then every current watch is re-evaluated and returned. Call with no mutation args to just re-read the watches after a step/continue. Expressions are...
This record as markdown: /tools/breakpoint-mcp/dbg-watch.md
What dbg_watch does on Breakpoint
AI agents call dbg_watch to retrieve information from Breakpoint without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
add | array | — | Expressions to add to the watch set |
clear | boolean | — | Clear all watches before applying add (default false) |
remove | array | — | Expressions to remove from the watch set |
frame_id | integer | — | Frame id from dbg_stack_trace; omit for the top frame |
Parameters from the server's own tool schema.
Why dbg_watch is rated Low
Despite the `add`/`remove`/`clear` operations on the watch set, these are metadata mutations (what expressions to track) rather than data mutations in the target program. The actual evaluation is read-only, intended side-effect-free, and only surfaces debugger state. The tool does not execute arbitrary code, delete target data, or trigger external operations.
From the tool's definition Tool manages and evaluates watch expressions in a debugger context. Operations are `add`/`remove`/`clear` to mutate the watch set, then "re-evaluated and returned".
Risk signalsBulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs dbg_watch safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Breakpoint, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For dbg_watch, this is the rule to start with:
dbg_watch is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Breakpoint, apply this rule, and every dbg_watch call is checked against it from then on.
Questions about dbg_watch
Manage a persistent set of watch expressions and evaluate them in the current stopped frame. Pass add/remove/clear to mutate the set (all optional), then every current watch is re-evaluated and returned. Call with no mutation args to just re-read the watches after a step/continue. Expressions are evaluated in DAP watch context (intended to be side-effect-free), so this is not gated; the results are only meaningful while the program is stopped at a breakpoint. It is categorised as a Read tool in the Breakpoint MCP Server, which means it retrieves data without modifying state.
dbg_watch accepts 4 parameters: add, clear, remove, frame_id. The full parameter table on this page comes from the server's own tool schema.
Register the Breakpoint MCP server in PolicyLayer and add a rule for dbg_watch: 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 Breakpoint. Nothing to install.
dbg_watch 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 dbg_watch 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 dbg_watch. 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.
dbg_watch is provided by the Breakpoint MCP server (breakpoint-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Breakpoint, and thousands of servers like it.
This server
Across the catalogue