start_recording
Begin recording Android device interactions to create reusable automation macros. Capture subsequent tool calls for automated task execution.
Instructions
Start recording actions to create a macro. All subsequent tool calls will be recorded. Use stop_recording to save.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for this recording | |
| device_id | No | Device serial number | default |
Implementation Reference
- src/automation/action-recorder.ts:34-48 (handler)The actual implementation of the startRecording logic that generates a UUID and initializes a new recording session.
startRecording(name: string, deviceId: string): string { const id = uuidv4(); const recording: Recording = { id, name, deviceId, createdAt: Date.now(), actions: [], metadata: {}, }; this.activeRecordings.set(id, recording); log.info('Recording started', { id, name, deviceId }); return id; } - src/controllers/automation-tools.ts:115-133 (registration)Registration of the 'start_recording' MCP tool, which calls the actionRecorder.startRecording method.
server.registerTool( 'start_recording', { description: 'Start recording actions to create a macro. All subsequent tool calls will be recorded. Use stop_recording to save.', inputSchema: { name: z.string().describe('Name for this recording'), device_id: z.string().optional().default('default').describe('Device serial number'), }, }, async ({ name, device_id }) => { const id = actionRecorder.startRecording(name, device_id || 'default'); return { content: [{ type: 'text' as const, text: JSON.stringify({ success: true, recording_id: id, name }, null, 2), }], }; } );