xc-mcp
Version:
MCP server that wraps Xcode command-line tools for iOS/macOS development workflows
57 lines • 4.42 kB
TypeScript
interface IdbListAppsArgs {
udid?: string;
filterType?: 'system' | 'user' | 'internal';
runningOnly?: boolean;
}
/**
* List installed applications - discover apps available for testing with bundle IDs and running status
*
* **What it does:**
* Enumerates all installed applications on iOS targets with structured metadata including bundle ID,
* app name, install type (system/user/internal), running status, debuggability, and architecture.
* Filters apps by install type or running status to focus on user apps or active processes. Parses
* IDB's pipe-separated output into structured JSON for easy programmatic access.
*
* **Why you'd use it:**
* - Discover bundle IDs for launching, terminating, or uninstalling apps - no manual lookup required
* - Filter user-installed apps to focus on test targets vs. system apps
* - Identify running apps for UI automation or determine if app launch is needed
* - Check debuggability status before attaching debugger or collecting crash logs
*
* **Parameters:**
* - udid (optional): Target identifier - auto-detects if omitted
* - filterType (optional): "system" | "user" | "internal" - filter by install type
* - runningOnly (optional): Boolean - show only currently running apps
*
* **Returns:**
* Structured app list with summary counts (total, running, debuggable, by install type),
* separate arrays for running vs. installed apps, applied filter details, and actionable
* guidance for launching, terminating, installing, or debugging apps.
*
* **Example:**
* ```typescript
* // List user-installed apps to find test target
* const result = await idbListAppsTool({
* filterType: 'user'
* });
*
* // Find running app for UI automation
* const running = await idbListAppsTool({ runningOnly: true });
* ```
*
* **Full documentation:** See idb/list-apps.md for detailed parameters and output format
*
* @param args Tool arguments with optional filters
* @returns Tool result with structured app list and metadata
*/
export declare function idbListAppsTool(args: IdbListAppsArgs): Promise<{
content: {
type: "text";
text: string;
}[];
isError: boolean;
}>;
export declare const IDB_LIST_APPS_DOCS = "\n# idb-list-apps\n\nList installed applications - discover apps available for testing with bundle IDs and running status.\n\n## Overview\n\nEnumerates all installed applications on iOS targets with structured metadata including bundle ID, app name, install type (system/user/internal), running status, debuggability, and architecture. Filters apps by install type or running status to focus on user apps or active processes. Parses IDB's pipe-separated output into structured JSON for easy programmatic access.\n\n## Parameters\n\n### Required\nNone - all parameters are optional\n\n### Optional\n- **udid** (string): Target identifier - auto-detects if omitted\n- **filterType** (string): Filter by install type (\"system\", \"user\", or \"internal\")\n- **runningOnly** (boolean): Show only currently running apps\n\n## Returns\n\nStructured app list with summary counts (total, running, debuggable, by install type), separate arrays for running vs. installed apps, applied filter details, and actionable guidance for launching, terminating, installing, or debugging apps.\n\n## Examples\n\n### List user-installed apps to find test target\n```typescript\nconst result = await idbListAppsTool({\n filterType: 'user'\n});\n```\n\n### Find running app for UI automation\n```typescript\nconst running = await idbListAppsTool({ runningOnly: true });\n```\n\n### List all apps on specific device\n```typescript\nconst all = await idbListAppsTool({\n udid: 'DEVICE-UDID-123'\n});\n```\n\n## Related Tools\n\n- idb-launch: Launch app by bundle ID discovered here\n- idb-terminate: Stop running app found in list\n- idb-install: Install new app to target\n\n## Notes\n\n- IDB outputs pipe-separated text, converted to structured JSON\n- Output format: bundle_id | app_name | install_type | arch | running | debuggable\n- Filter by install type to focus on user apps vs system apps\n- Running status helps identify active processes for UI automation\n- Debuggable status indicates if debugger can be attached\n";
export declare const IDB_LIST_APPS_DOCS_MINI = "List installed apps with bundle IDs. Use rtfm({ toolName: \"idb-list-apps\" }) for docs.";
export {};
//# sourceMappingURL=list-apps.d.ts.map