@us-all/android-mcp 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { adbShell } from "../adb.js";
2
+ import { adb, adbShell } from "../adb.js";
3
3
  import { assertWriteAllowed } from "./utils.js";
4
4
  // --- Schemas ---
5
5
  export const getBatteryInfoSchema = z.object({
@@ -77,4 +77,290 @@ export async function changeSetting(params) {
77
77
  currentValue: verify.trim(),
78
78
  };
79
79
  }
80
+ // --- v1.1.0 additions ---
81
+ export const getSettingSchema = z.object({
82
+ namespace: z
83
+ .enum(["system", "secure", "global"])
84
+ .describe("Settings namespace: system, secure, or global."),
85
+ key: z.string().describe("Setting key. Example: 'screen_brightness'"),
86
+ serial: z
87
+ .string()
88
+ .optional()
89
+ .describe("Device serial number. Uses default device if omitted."),
90
+ });
91
+ export const setDisplaySizeSchema = z.object({
92
+ width: z.coerce.number().optional().describe("Width in pixels. Omit both to reset to default."),
93
+ height: z.coerce.number().optional().describe("Height in pixels. Omit both to reset to default."),
94
+ serial: z
95
+ .string()
96
+ .optional()
97
+ .describe("Device serial number. Uses default device if omitted."),
98
+ });
99
+ export const setDisplayDensitySchema = z.object({
100
+ dpi: z.coerce.number().optional().describe("Density in DPI. Omit to reset to default."),
101
+ serial: z
102
+ .string()
103
+ .optional()
104
+ .describe("Device serial number. Uses default device if omitted."),
105
+ });
106
+ export const keepScreenOnSchema = z.object({
107
+ enabled: z
108
+ .boolean()
109
+ .describe("true to keep screen on while charging, false to disable."),
110
+ serial: z
111
+ .string()
112
+ .optional()
113
+ .describe("Device serial number. Uses default device if omitted."),
114
+ });
115
+ export const portForwardSchema = z.object({
116
+ hostPort: z.coerce.number().describe("Port on the host machine."),
117
+ devicePort: z.coerce.number().describe("Port on the Android device."),
118
+ serial: z
119
+ .string()
120
+ .optional()
121
+ .describe("Device serial number. Uses default device if omitted."),
122
+ });
123
+ export const reverseForwardSchema = z.object({
124
+ devicePort: z.coerce.number().describe("Port on the Android device."),
125
+ hostPort: z.coerce.number().describe("Port on the host machine."),
126
+ serial: z
127
+ .string()
128
+ .optional()
129
+ .describe("Device serial number. Uses default device if omitted."),
130
+ });
131
+ export const listForwardsSchema = z.object({
132
+ serial: z
133
+ .string()
134
+ .optional()
135
+ .describe("Device serial number. Uses default device if omitted."),
136
+ });
137
+ export const removeForwardSchema = z.object({
138
+ hostPort: z.coerce
139
+ .number()
140
+ .optional()
141
+ .describe("Host port to remove. Removes all forwards if omitted."),
142
+ serial: z
143
+ .string()
144
+ .optional()
145
+ .describe("Device serial number. Uses default device if omitted."),
146
+ });
147
+ export async function getSetting(params) {
148
+ const opts = params.serial ? { serial: params.serial } : undefined;
149
+ const value = await adbShell(`settings get ${params.namespace} ${params.key}`, opts);
150
+ return {
151
+ namespace: params.namespace,
152
+ key: params.key,
153
+ value: value.trim(),
154
+ };
155
+ }
156
+ export async function setDisplaySize(params) {
157
+ assertWriteAllowed();
158
+ const opts = params.serial ? { serial: params.serial } : undefined;
159
+ if (params.width && params.height) {
160
+ await adbShell(`wm size ${params.width}x${params.height}`, opts);
161
+ }
162
+ else {
163
+ await adbShell("wm size reset", opts);
164
+ }
165
+ const current = await adbShell("wm size", opts);
166
+ return { result: current.trim() };
167
+ }
168
+ export async function setDisplayDensity(params) {
169
+ assertWriteAllowed();
170
+ const opts = params.serial ? { serial: params.serial } : undefined;
171
+ if (params.dpi) {
172
+ await adbShell(`wm density ${params.dpi}`, opts);
173
+ }
174
+ else {
175
+ await adbShell("wm density reset", opts);
176
+ }
177
+ const current = await adbShell("wm density", opts);
178
+ return { result: current.trim() };
179
+ }
180
+ export async function keepScreenOn(params) {
181
+ assertWriteAllowed();
182
+ const opts = params.serial ? { serial: params.serial } : undefined;
183
+ const value = params.enabled ? "true" : "false";
184
+ await adbShell(`svc power stayon ${value}`, opts);
185
+ return { result: `Keep screen on: ${value}` };
186
+ }
187
+ export async function portForward(params) {
188
+ assertWriteAllowed();
189
+ const opts = params.serial ? { serial: params.serial } : undefined;
190
+ const output = await adb(["forward", `tcp:${params.hostPort}`, `tcp:${params.devicePort}`], opts);
191
+ return {
192
+ result: output || `Forwarding host:${params.hostPort} → device:${params.devicePort}`,
193
+ };
194
+ }
195
+ export async function reverseForward(params) {
196
+ assertWriteAllowed();
197
+ const opts = params.serial ? { serial: params.serial } : undefined;
198
+ const output = await adb(["reverse", `tcp:${params.devicePort}`, `tcp:${params.hostPort}`], opts);
199
+ return {
200
+ result: output || `Reverse forwarding device:${params.devicePort} → host:${params.hostPort}`,
201
+ };
202
+ }
203
+ export async function listForwards(params) {
204
+ const opts = params.serial ? { serial: params.serial } : undefined;
205
+ const [fwd, rev] = await Promise.all([
206
+ adb(["forward", "--list"], opts).catch(() => ""),
207
+ adb(["reverse", "--list"], opts).catch(() => ""),
208
+ ]);
209
+ return {
210
+ forwards: fwd.split("\n").filter(Boolean),
211
+ reverses: rev.split("\n").filter(Boolean),
212
+ };
213
+ }
214
+ export async function removeForward(params) {
215
+ assertWriteAllowed();
216
+ const opts = params.serial ? { serial: params.serial } : undefined;
217
+ if (params.hostPort) {
218
+ await adb(["forward", "--remove", `tcp:${params.hostPort}`], opts);
219
+ return { result: `Removed forward for host:${params.hostPort}` };
220
+ }
221
+ await adb(["forward", "--remove-all"], opts);
222
+ await adb(["reverse", "--remove-all"], opts);
223
+ return { result: "Removed all forwards and reverses" };
224
+ }
225
+ // --- v1.2.0 additions ---
226
+ export const toggleWifiSchema = z.object({
227
+ enabled: z.boolean().describe("true to enable WiFi, false to disable."),
228
+ serial: z
229
+ .string()
230
+ .optional()
231
+ .describe("Device serial number. Uses default device if omitted."),
232
+ });
233
+ export const toggleMobileDataSchema = z.object({
234
+ enabled: z.boolean().describe("true to enable mobile data, false to disable."),
235
+ serial: z
236
+ .string()
237
+ .optional()
238
+ .describe("Device serial number. Uses default device if omitted."),
239
+ });
240
+ export const openNotificationSchema = z.object({
241
+ serial: z
242
+ .string()
243
+ .optional()
244
+ .describe("Device serial number. Uses default device if omitted."),
245
+ });
246
+ export const lockDeviceSchema = z.object({
247
+ serial: z
248
+ .string()
249
+ .optional()
250
+ .describe("Device serial number. Uses default device if omitted."),
251
+ });
252
+ export const unlockDeviceSchema = z.object({
253
+ pin: z
254
+ .string()
255
+ .optional()
256
+ .describe("PIN or password to unlock. Omit if no lock screen security."),
257
+ serial: z
258
+ .string()
259
+ .optional()
260
+ .describe("Device serial number. Uses default device if omitted."),
261
+ });
262
+ export const getOrientationSchema = z.object({
263
+ serial: z
264
+ .string()
265
+ .optional()
266
+ .describe("Device serial number. Uses default device if omitted."),
267
+ });
268
+ export const setOrientationSchema = z.object({
269
+ orientation: z
270
+ .enum(["portrait", "landscape", "auto"])
271
+ .describe("Screen orientation: portrait (0), landscape (1), or auto (enable auto-rotate)."),
272
+ serial: z
273
+ .string()
274
+ .optional()
275
+ .describe("Device serial number. Uses default device if omitted."),
276
+ });
277
+ export const listSettingsSchema = z.object({
278
+ namespace: z
279
+ .enum(["system", "secure", "global"])
280
+ .describe("Settings namespace to list."),
281
+ serial: z
282
+ .string()
283
+ .optional()
284
+ .describe("Device serial number. Uses default device if omitted."),
285
+ });
286
+ export async function toggleWifi(params) {
287
+ assertWriteAllowed();
288
+ const opts = params.serial ? { serial: params.serial } : undefined;
289
+ const cmd = params.enabled ? "svc wifi enable" : "svc wifi disable";
290
+ await adbShell(cmd, opts);
291
+ return { result: `WiFi ${params.enabled ? "enabled" : "disabled"}` };
292
+ }
293
+ export async function toggleMobileData(params) {
294
+ assertWriteAllowed();
295
+ const opts = params.serial ? { serial: params.serial } : undefined;
296
+ const cmd = params.enabled ? "svc data enable" : "svc data disable";
297
+ await adbShell(cmd, opts);
298
+ return { result: `Mobile data ${params.enabled ? "enabled" : "disabled"}` };
299
+ }
300
+ export async function openNotification(params) {
301
+ assertWriteAllowed();
302
+ const opts = params.serial ? { serial: params.serial } : undefined;
303
+ await adbShell("cmd statusbar expand-notifications", opts);
304
+ return { result: "Notification panel opened" };
305
+ }
306
+ export async function lockDevice(params) {
307
+ assertWriteAllowed();
308
+ const opts = params.serial ? { serial: params.serial } : undefined;
309
+ await adbShell("input keyevent KEYCODE_POWER", opts);
310
+ return { result: "Device locked (power button pressed)" };
311
+ }
312
+ export async function unlockDevice(params) {
313
+ assertWriteAllowed();
314
+ const opts = params.serial ? { serial: params.serial } : undefined;
315
+ // Wake up
316
+ await adbShell("input keyevent KEYCODE_WAKEUP", opts);
317
+ // Swipe up to dismiss lock screen
318
+ await adbShell("input swipe 540 1800 540 800 300", opts);
319
+ // Enter PIN if provided
320
+ if (params.pin) {
321
+ await adbShell(`input text ${params.pin}`, opts);
322
+ await adbShell("input keyevent KEYCODE_ENTER", opts);
323
+ }
324
+ return { result: "Device unlock attempted" };
325
+ }
326
+ export async function getOrientation(params) {
327
+ const opts = params.serial ? { serial: params.serial } : undefined;
328
+ const [rotation, autoRotate] = await Promise.all([
329
+ adbShell("dumpsys input | grep 'SurfaceOrientation'", opts).catch(() => ""),
330
+ adbShell("settings get system accelerometer_rotation", opts).catch(() => "0"),
331
+ ]);
332
+ const rotMatch = rotation.match(/SurfaceOrientation:\s*(\d)/);
333
+ const rotValue = rotMatch ? parseInt(rotMatch[1], 10) : 0;
334
+ const orientations = ["portrait", "landscape", "reverse-portrait", "reverse-landscape"];
335
+ return {
336
+ rotation: rotValue,
337
+ orientation: orientations[rotValue] ?? "unknown",
338
+ autoRotate: autoRotate.trim() === "1",
339
+ };
340
+ }
341
+ export async function setOrientation(params) {
342
+ assertWriteAllowed();
343
+ const opts = params.serial ? { serial: params.serial } : undefined;
344
+ if (params.orientation === "auto") {
345
+ await adbShell("settings put system accelerometer_rotation 1", opts);
346
+ return { result: "Auto-rotate enabled" };
347
+ }
348
+ // Disable auto-rotate first
349
+ await adbShell("settings put system accelerometer_rotation 0", opts);
350
+ const value = params.orientation === "portrait" ? "0" : "1";
351
+ await adbShell(`settings put system user_rotation ${value}`, opts);
352
+ return { result: `Orientation set to ${params.orientation}` };
353
+ }
354
+ export async function listSettings(params) {
355
+ const opts = params.serial ? { serial: params.serial } : undefined;
356
+ const output = await adbShell(`settings list ${params.namespace}`, opts);
357
+ const settings = {};
358
+ for (const line of output.split("\n")) {
359
+ const idx = line.indexOf("=");
360
+ if (idx > 0) {
361
+ settings[line.substring(0, idx)] = line.substring(idx + 1);
362
+ }
363
+ }
364
+ return { namespace: params.namespace, count: Object.keys(settings).length, settings };
365
+ }
80
366
  //# sourceMappingURL=system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,12 @@ interface UiElement {
48
48
  y: number;
49
49
  };
50
50
  }
51
+ export declare function parseBounds(boundsStr: string): {
52
+ x: number;
53
+ y: number;
54
+ } | undefined;
55
+ export declare function isInteractive(attrs: Record<string, string>): boolean;
56
+ export declare function flattenNodes(node: Record<string, unknown>, result: UiElement[], compact: boolean): void;
51
57
  export declare function takeScreenshot(params: z.infer<typeof takeScreenshotSchema>): Promise<{
52
58
  base64: string;
53
59
  mimeType: string;
@@ -76,5 +82,42 @@ export declare function inputText(params: z.infer<typeof inputTextSchema>): Prom
76
82
  export declare function pressKey(params: z.infer<typeof pressKeySchema>): Promise<{
77
83
  result: string;
78
84
  }>;
85
+ export declare const dragAndDropSchema: z.ZodObject<{
86
+ x1: z.ZodCoercedNumber<unknown>;
87
+ y1: z.ZodCoercedNumber<unknown>;
88
+ x2: z.ZodCoercedNumber<unknown>;
89
+ y2: z.ZodCoercedNumber<unknown>;
90
+ duration: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
91
+ serial: z.ZodOptional<z.ZodString>;
92
+ }, z.core.$strip>;
93
+ export declare const screenRecordStartSchema: z.ZodObject<{
94
+ fileName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
95
+ timeLimit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
96
+ size: z.ZodOptional<z.ZodString>;
97
+ serial: z.ZodOptional<z.ZodString>;
98
+ }, z.core.$strip>;
99
+ export declare const screenRecordPullSchema: z.ZodObject<{
100
+ fileName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
101
+ localPath: z.ZodString;
102
+ serial: z.ZodOptional<z.ZodString>;
103
+ }, z.core.$strip>;
104
+ export declare function dragAndDrop(params: z.infer<typeof dragAndDropSchema>): Promise<{
105
+ result: string;
106
+ }>;
107
+ export declare function screenRecordStart(params: z.infer<typeof screenRecordStartSchema>): Promise<{
108
+ result: string;
109
+ remotePath: string;
110
+ }>;
111
+ export declare function screenRecordPull(params: z.infer<typeof screenRecordPullSchema>): Promise<{
112
+ result: string;
113
+ }>;
114
+ export declare const doubleTapSchema: z.ZodObject<{
115
+ x: z.ZodCoercedNumber<unknown>;
116
+ y: z.ZodCoercedNumber<unknown>;
117
+ serial: z.ZodOptional<z.ZodString>;
118
+ }, z.core.$strip>;
119
+ export declare function doubleTap(params: z.infer<typeof doubleTapSchema>): Promise<{
120
+ result: string;
121
+ }>;
79
122
  export {};
80
123
  //# sourceMappingURL=ui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,oBAAoB;;iBAK/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;iBAYhC,CAAC;AAEH,eAAO,MAAM,SAAS;;;;iBAOpB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;iBAa1B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;iBAetB,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBAM1B,CAAC;AAEH,eAAO,MAAM,cAAc;;;iBAUzB,CAAC;AAIH,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;AA+DD,wBAAsB,cAAc,CAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;GAQ7C;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC;;;;;;;;GAyB9C;AAED,wBAAsB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC;;GAK1D;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;GAUtE;AAED,wBAAsB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC;;GAU9D;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;GAMtE;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC;;GAQpE"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,oBAAoB;;iBAK/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;iBAYhC,CAAC;AAEH,eAAO,MAAM,SAAS;;;;iBAOpB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;iBAa1B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;iBAetB,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBAM1B,CAAC;AAEH,eAAO,MAAM,cAAc;;;iBAUzB,CAAC;AAIH,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAQnF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAQpE;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,OAAO,GACf,IAAI,CAiCN;AAID,wBAAsB,cAAc,CAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;GAQ7C;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC;;;;;;;;GAyB9C;AAED,wBAAsB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC;;GAK1D;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;GAUtE;AAED,wBAAsB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC;;GAU9D;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;GAMtE;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC;;GAQpE;AAID,eAAO,MAAM,iBAAiB;;;;;;;iBAe5B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;iBAoBlC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;iBAajC,CAAC;AAEH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;GAW1C;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC;;;GAiBhD;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC;;GAM/C;AAID,eAAO,MAAM,eAAe;;;;iBAO1B,CAAC;AAEH,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;GAMtE"}
package/dist/tools/ui.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { XMLParser } from "fast-xml-parser";
3
- import { adbShell, adbRawBuffer } from "../adb.js";
3
+ import { adb, adbShell, adbRawBuffer } from "../adb.js";
4
4
  import { assertWriteAllowed } from "./utils.js";
5
5
  // --- Schemas ---
6
6
  export const takeScreenshotSchema = z.object({
@@ -74,7 +74,7 @@ export const pressKeySchema = z.object({
74
74
  .optional()
75
75
  .describe("Device serial number. Uses default device if omitted."),
76
76
  });
77
- function parseBounds(boundsStr) {
77
+ export function parseBounds(boundsStr) {
78
78
  const match = boundsStr.match(/\[(\d+),(\d+)\]\[(\d+),(\d+)\]/);
79
79
  if (!match)
80
80
  return undefined;
@@ -84,14 +84,14 @@ function parseBounds(boundsStr) {
84
84
  const y2 = parseInt(match[4], 10);
85
85
  return { x: Math.round((x1 + x2) / 2), y: Math.round((y1 + y2) / 2) };
86
86
  }
87
- function isInteractive(attrs) {
87
+ export function isInteractive(attrs) {
88
88
  return (attrs["@_clickable"] === "true" ||
89
89
  attrs["@_long-clickable"] === "true" ||
90
90
  attrs["@_focusable"] === "true" ||
91
91
  attrs["@_scrollable"] === "true" ||
92
92
  attrs["@_checkable"] === "true");
93
93
  }
94
- function flattenNodes(node, result, compact) {
94
+ export function flattenNodes(node, result, compact) {
95
95
  const attrs = node;
96
96
  const bounds = attrs["@_bounds"] ?? "";
97
97
  const interactive = isInteractive(attrs);
@@ -192,4 +192,100 @@ export async function pressKey(params) {
192
192
  await adbShell(`input keyevent ${keycode}`, opts);
193
193
  return { result: `Pressed key: ${keycode}` };
194
194
  }
195
+ // --- v1.1.0 additions ---
196
+ export const dragAndDropSchema = z.object({
197
+ x1: z.coerce.number().describe("Start X coordinate."),
198
+ y1: z.coerce.number().describe("Start Y coordinate."),
199
+ x2: z.coerce.number().describe("End X coordinate."),
200
+ y2: z.coerce.number().describe("End Y coordinate."),
201
+ duration: z
202
+ .coerce
203
+ .number()
204
+ .optional()
205
+ .default(1000)
206
+ .describe("Duration in milliseconds (default: 1000)."),
207
+ serial: z
208
+ .string()
209
+ .optional()
210
+ .describe("Device serial number. Uses default device if omitted."),
211
+ });
212
+ export const screenRecordStartSchema = z.object({
213
+ fileName: z
214
+ .string()
215
+ .optional()
216
+ .default("recording.mp4")
217
+ .describe("Output file name on device (default: recording.mp4)."),
218
+ timeLimit: z
219
+ .coerce
220
+ .number()
221
+ .optional()
222
+ .default(30)
223
+ .describe("Max recording duration in seconds (default: 30, max: 180)."),
224
+ size: z
225
+ .string()
226
+ .optional()
227
+ .describe("Video resolution WxH. Example: '720x1280'. Uses device resolution if omitted."),
228
+ serial: z
229
+ .string()
230
+ .optional()
231
+ .describe("Device serial number. Uses default device if omitted."),
232
+ });
233
+ export const screenRecordPullSchema = z.object({
234
+ fileName: z
235
+ .string()
236
+ .optional()
237
+ .default("recording.mp4")
238
+ .describe("Recording file name on device (default: recording.mp4)."),
239
+ localPath: z
240
+ .string()
241
+ .describe("Local path to save the recording."),
242
+ serial: z
243
+ .string()
244
+ .optional()
245
+ .describe("Device serial number. Uses default device if omitted."),
246
+ });
247
+ export async function dragAndDrop(params) {
248
+ assertWriteAllowed();
249
+ const opts = params.serial ? { serial: params.serial } : undefined;
250
+ await adbShell(`input draganddrop ${params.x1} ${params.y1} ${params.x2} ${params.y2} ${params.duration}`, opts);
251
+ return {
252
+ result: `Dragged from (${params.x1}, ${params.y1}) to (${params.x2}, ${params.y2})`,
253
+ };
254
+ }
255
+ export async function screenRecordStart(params) {
256
+ assertWriteAllowed();
257
+ const opts = params.serial ? { serial: params.serial } : undefined;
258
+ const remotePath = `/sdcard/${params.fileName}`;
259
+ let cmd = `screenrecord --time-limit ${Math.min(params.timeLimit, 180)} ${remotePath}`;
260
+ if (params.size)
261
+ cmd = `screenrecord --size ${params.size} --time-limit ${Math.min(params.timeLimit, 180)} ${remotePath}`;
262
+ // screenrecord blocks, so run it without waiting
263
+ adbShell(cmd, { ...opts, timeout: (params.timeLimit + 5) * 1000 }).catch(() => { });
264
+ return {
265
+ result: `Recording started: ${remotePath} (max ${params.timeLimit}s)`,
266
+ remotePath,
267
+ };
268
+ }
269
+ export async function screenRecordPull(params) {
270
+ const opts = params.serial ? { serial: params.serial } : undefined;
271
+ const remotePath = `/sdcard/${params.fileName}`;
272
+ const output = await adb(["pull", remotePath, params.localPath], opts);
273
+ return { result: output };
274
+ }
275
+ // --- v1.2.0 additions ---
276
+ export const doubleTapSchema = z.object({
277
+ x: z.coerce.number().describe("X coordinate to double tap."),
278
+ y: z.coerce.number().describe("Y coordinate to double tap."),
279
+ serial: z
280
+ .string()
281
+ .optional()
282
+ .describe("Device serial number. Uses default device if omitted."),
283
+ });
284
+ export async function doubleTap(params) {
285
+ assertWriteAllowed();
286
+ const opts = params.serial ? { serial: params.serial } : undefined;
287
+ await adbShell(`input tap ${params.x} ${params.y}`, opts);
288
+ await adbShell(`input tap ${params.x} ${params.y}`, opts);
289
+ return { result: `Double tapped at (${params.x}, ${params.y})` };
290
+ }
195
291
  //# sourceMappingURL=ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@us-all/android-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Android MCP server - ADB-based device management, UI automation, logcat, emulator control, and more",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",