Skip to main content
Glama
mobile-debug-mcp

mobile-debug-mcp

wait_for_debugger_event

Waits for bounded debugger events after a sequence cursor, letting AI tools poll new mobile app debug activity without affecting execution when no timeout is set.

Instructions

Wait for bounded debugger events after a sequence cursor. Empty timeout does not affect execution; overflow is explicit.

Input Schema

NameRequiredDescriptionDefault
timeoutMsNo
responseModeNodebug
afterSequenceNo
debugSessionIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.35.0
    • addedInput schema / properties / responseMode
      Added value: +{
      +  "default": "debug",
      +  "enum": [
      +    "compact",
      +    "debug"
      +  ],
      +  "type": "string"
      +}
  2. Addedv0.34.0

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, yet it never says this is a blocking call, whether it is read-only, what happens on timeout expiry, or whether repeated waits see duplicate events. The two clauses it does add ("empty timeout does not affect execution", "overflow is explicit") are cryptic and could mean several things.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core action front-loaded, which is appropriately sized. However, the second sentence is too compressed to be parseable, so it consumes space without delivering meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a blocking wait tool with four parameters, no annotations, and no output schema, the description should explain what events are returned, how the cursor advances, and what "overflow" yields to the caller. None of that is present, so an agent must guess before invoking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must define all four parameters; it only gestures at two of them ("timeout" for timeoutMs, "sequence cursor" for afterSequence) without bounds, defaults, or units. debugSessionId and the compact/debug responseMode enum are entirely undiscussed, leaving half the surface undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb+resource pair ("wait for ... debugger events") is identifiable, and "after a sequence cursor" hints at the resumption model. But "bounded debugger events" is unexplained jargon — the agent cannot tell what kinds of events (breakpoint hits, pauses, logs) it is waiting for, nor how this differs from sibling get_debugger_state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance, and no mention of the many siblings it competes with (get_debugger_state, step_debugger, wait_for_ui_change). The phrase "after a sequence cursor" implies a polling/replay pattern but never states the condition under which an agent should pick this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.