Skip to main content
Glama

debug_setup

Destructive

Checks required Frida, LLDB, and debugserver components, then installs or repairs missing pieces with actionable instructions so iOS debugging can start.

Instructions

Check required Frida/LLDB/debugserver components and return actionable missing-component instructions. action=install installs absent device debugserver from the matching local Xcode iOS image or a workspace local_debugserver_path. action=repair reapplies an existing device-provided signing profile. Installation checks execution; verify actual attach separately with debug_inspect(backend=lldb).

Input Schema

NameRequiredDescriptionDefault
actionNocheck
bundle_idYes
device_idYes
local_debugserver_pathNo

Output Schema

NameRequiredDescriptionDefault
okYes
dataNo
errorNo
elapsed_msYes
request_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, and the description adds useful context: install pulls from a matching Xcode image or workspace path, repair reapplies an existing signing profile, and installation only checks execution rather than verifying attach. It does not detail permissions or destructive side effects, but it adds meaningful behavioral context beyond the annotations.

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

Conciseness5/5

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

Three dense sentences with the core purpose front-loaded, followed by action-specific behavior and a useful verification caveat. No sentence is wasted.

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?

The output schema exists, so return values need not be described, and annotations cover the mutation risk. The description covers setup, install, repair, and attach-verification boundaries, though it could say more about how device_id and bundle_id are used.

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%, so the description must carry parameter meaning. It explains the action modes (check/install/repair) and the local_debugserver_path source, but it does not explain device_id or bundle_id semantics beyond their required status.

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?

The description states a specific verb and resource: check required Frida/LLDB/debugserver components and return missing-component instructions. It also clarifies the install and repair modes, and explicitly separates attach verification from this setup tool by naming debug_inspect(backend=lldb).

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?

It clearly explains when to use action=install and action=repair, and it routes attach verification to debug_inspect. It does not explicitly state when-not to use the tool, but the setup/check context is clear.

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