flutter_list_devices
Discover connected devices and emulators for Flutter development to identify available testing targets and streamline mobile app debugging.
Instructions
List connected devices and emulators available for Flutter development
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/flutter.ts:337-379 (handler)Full tool registration including empty input schema and handler. The handler executes 'flutter devices --machine', parses the JSON output, enhances each device with running session status from global tracking map, and returns structured data with counts.tools.set('flutter_list_devices', { name: 'flutter_list_devices', description: 'List connected devices and emulators available for Flutter development', inputSchema: { type: 'object', properties: {}, required: [] }, handler: async () => { const result = await processExecutor.execute('flutter', ['devices', '--machine']); if (result.exitCode !== 0) { throw new Error(`Failed to list Flutter devices: ${result.stderr}`); } // Parse JSON output let devices = []; try { devices = JSON.parse(result.stdout); } catch (parseError) { throw new Error(`Failed to parse devices output: ${parseError}`); } // Enhance device info with running session status const enhancedDevices = devices.map((device: any) => ({ ...device, hasRunningSession: Array.from(runningFlutterSessions.values()).some( session => session.deviceId === device.id ), })); return { success: true, data: { devices: enhancedDevices, totalCount: enhancedDevices.length, connectedCount: enhancedDevices.filter((d: any) => d.isDevice).length, simulatorCount: enhancedDevices.filter((d: any) => !d.isDevice).length, runningSessionsCount: runningFlutterSessions.size, }, }; } });
- src/utils/tool-categories.ts:70-78 (registration)Metadata registration in the global TOOL_REGISTRY, categorizing the tool as essential, cross-platform, requiring Flutter, safe for testing with performance expectations.'flutter_list_devices': { name: 'flutter_list_devices', category: ToolCategory.ESSENTIAL, platform: 'cross-platform', requiredTools: [RequiredTool.FLUTTER], description: 'List connected devices for Flutter development', safeForTesting: true, performance: { expectedDuration: 6000, timeout: 15000 } },
- scripts/validate-tools.ts:192-192 (helper)Mapping in validation script for required system tool check (requires 'flutter' CLI).'flutter_list_devices': 'flutter',