Skip to main content
Glama

debug_inspect

Read-only

Inspect iOS app threads, backtraces, registers, and locals in one call, choosing Frida for live sampling or LLDB for paused-process debugging and capability checks.

Instructions

Inspect app threads, bounded backtraces or registers in one call. Frida is immediate and samples running threads. backend=lldb temporarily stops the process, supports locals, then detaches/resumes. mode=capabilities checks host LLDB and cached device debugserver availability. No arbitrary debugger commands or expression execution.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNobacktrace
backendNofrida
symbolsNo
bundle_idYes
device_idYes
thread_idNo
max_framesNo
frame_indexNo
max_threadsNo
max_variablesNo
register_namesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
dataNo
errorNo
elapsed_msYes
request_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the readOnly/non-destructive annotations by disclosing that the lldb backend stops the process and resumes it, that frida only samples running threads, and that no arbitrary debugger commands or expression evaluation are permitted. These are exactly the operational side effects an agent needs before invoking.

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

Conciseness4/5

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

Four dense sentences with no filler, front-loaded with the core purpose and backed up by the key behavioral caveats. Efficient, though the backend/mode explanation could be structured slightly more crisply.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the description covers the critical backend selection and safety caveats. With 11 parameters and 0% schema coverage, some per-parameter detail is still missing, but the essentials for correct invocation are present.

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

Parameters3/5

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

Schema description coverage is 0%, and while the description adds meaning for the two most important parameters (mode and backend), it says nothing about thread_id, max_frames, frame_index, max_threads, max_variables, or register_names. The added semantics are valuable but only partially compensate for the undocumented parameters.

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

Purpose5/5

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

States a specific verb and resources ('Inspect app threads, bounded backtraces or registers in one call') and ties them to the mode enum, so an agent immediately understands the tool's scope. It is clearly distinct from siblings like device_list or frida_trace_method.

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

Usage Guidelines4/5

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

Explicitly contrasts backend=frida ('immediate and samples running threads') with backend=lldb ('temporarily stops the process, supports locals, then detaches/resumes') and explains mode=capabilities for probing debugserver availability. This gives strong selection guidance for the two backends, though it doesn't name siblings to prefer over this tool.

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