appium-mcp 1.90.1 → 1.92.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +11 -6
  3. package/dist/resources/index.d.ts.map +1 -1
  4. package/dist/resources/index.js +4 -0
  5. package/dist/resources/index.js.map +1 -1
  6. package/dist/resources/locator-generator.d.ts +4 -0
  7. package/dist/resources/locator-generator.d.ts.map +1 -0
  8. package/dist/resources/locator-generator.js +15 -0
  9. package/dist/resources/locator-generator.js.map +1 -0
  10. package/dist/resources/screenshot-viewer.d.ts +4 -0
  11. package/dist/resources/screenshot-viewer.d.ts.map +1 -0
  12. package/dist/resources/screenshot-viewer.js +15 -0
  13. package/dist/resources/screenshot-viewer.js.map +1 -0
  14. package/dist/tools/interactions/screenshot.d.ts +3 -2
  15. package/dist/tools/interactions/screenshot.d.ts.map +1 -1
  16. package/dist/tools/interactions/screenshot.js +22 -2
  17. package/dist/tools/interactions/screenshot.js.map +1 -1
  18. package/dist/tools/ios/prepare-ios-simulator.d.ts.map +1 -1
  19. package/dist/tools/ios/prepare-ios-simulator.js +13 -5
  20. package/dist/tools/ios/prepare-ios-simulator.js.map +1 -1
  21. package/dist/tools/test-generation/locators.d.ts +13 -1
  22. package/dist/tools/test-generation/locators.d.ts.map +1 -1
  23. package/dist/tools/test-generation/locators.js +11 -12
  24. package/dist/tools/test-generation/locators.js.map +1 -1
  25. package/dist/ui/locator-generator-app.d.ts +8 -0
  26. package/dist/ui/locator-generator-app.d.ts.map +1 -0
  27. package/dist/ui/locator-generator-app.js +282 -0
  28. package/dist/ui/locator-generator-app.js.map +1 -0
  29. package/dist/ui/screenshot-viewer-app.d.ts +9 -0
  30. package/dist/ui/screenshot-viewer-app.d.ts.map +1 -0
  31. package/dist/ui/screenshot-viewer-app.js +282 -0
  32. package/dist/ui/screenshot-viewer-app.js.map +1 -0
  33. package/package.json +1 -1
  34. package/server.json +2 -2
  35. package/src/resources/index.ts +4 -0
  36. package/src/resources/locator-generator.ts +18 -0
  37. package/src/resources/screenshot-viewer.ts +18 -0
  38. package/src/tools/interactions/screenshot.ts +29 -4
  39. package/src/tools/ios/prepare-ios-simulator.ts +14 -4
  40. package/src/tools/test-generation/locators.ts +14 -2
  41. package/src/ui/locator-generator-app.ts +281 -0
  42. package/src/ui/screenshot-viewer-app.ts +281 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [1.92.0](https://github.com/appium/appium-mcp/compare/v1.91.0...v1.92.0) (2026-08-07)
2
+
3
+ ### Features
4
+
5
+ * use xcrun simctl spawn uname to get the simulator architecture ([#484](https://github.com/appium/appium-mcp/issues/484)) ([33ffb8a](https://github.com/appium/appium-mcp/commit/33ffb8ae2c87631b341933916bdb5a45b8dcd44c))
6
+
7
+ ## [1.91.0](https://github.com/appium/appium-mcp/compare/v1.90.1...v1.91.0) (2026-07-31)
8
+
9
+ ### Features
10
+
11
+ * avoid duplicate screenshot and locator UI payloads ([#478](https://github.com/appium/appium-mcp/issues/478)) ([562e84e](https://github.com/appium/appium-mcp/commit/562e84e58063d071bb46d9e1c2fe093b50f30a88))
12
+
1
13
  ## [1.90.1](https://github.com/appium/appium-mcp/compare/v1.90.0...v1.90.1) (2026-07-29)
2
14
 
3
15
  ### Miscellaneous Chores
package/README.md CHANGED
@@ -332,9 +332,14 @@ More models benchmarked can be found [here](src/tests/benchmark_model/TEST_REPOR
332
332
 
333
333
  #### MCP Apps Mode
334
334
 
335
- `appium_get_page_source` uses a static MCP App inspector by default when the client advertises MCP Apps support.
336
- The XML remains in the normal text result for the LLM, while the inspector reads that same result instead of
337
- receiving a duplicated XML copy.
335
+ `appium_get_page_source`, `appium_screenshot`, and `generate_locators` use static MCP App viewers by default when
336
+ the client advertises MCP Apps support.
337
+
338
+ - Page source XML and generated locator JSON remain in their normal text results for the LLM. Their viewers read
339
+ those existing results instead of receiving duplicated copies inside generated HTML.
340
+ - Saved screenshot base64 is delivered to the viewer through `structuredContent`, which MCP Apps keeps out of model
341
+ context. The LLM still receives the saved file path. Explicit `returnRawBase64=true` calls keep their existing raw
342
+ image result.
338
343
 
339
344
  For clients with unreliable MCP Apps rendering, set `APPIUM_MCP_APPS_ENABLED` to `false` or `0`:
340
345
 
@@ -348,9 +353,9 @@ For clients with unreliable MCP Apps rendering, set `APPIUM_MCP_APPS_ENABLED` to
348
353
  }
349
354
  ```
350
355
 
351
- This keeps interactive UI enabled but forces the previous embedded page-source inspector. The compatibility mode
352
- duplicates the XML inside the inspector HTML and therefore uses more result tokens and bandwidth. With a synthetic
353
- 95,000-character page source, the static mode reduced the result from approximately 267 KB to 95 KB (about 64%).
356
+ This keeps interactive UI enabled but forces the previous embedded viewers. The compatibility mode places viewer
357
+ data inside inline HTML and therefore uses more result tokens and bandwidth. With a synthetic 95,000-character page
358
+ source, the static mode reduced the result from approximately 267 KB to 95 KB (about 64%).
354
359
 
355
360
  `NO_UI=true` or `NO_UI=1` takes precedence over this setting and disables both static and embedded UI.
356
361
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,MAAM,EAAE,GAAG,QAMpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,MAAM,EAAE,GAAG,QAQpD"}
@@ -2,11 +2,15 @@ import log from '../logger.js';
2
2
  import { isMcpAppsEnabled } from '../ui/mcp-apps.js';
3
3
  // Export all resources
4
4
  import javaTemplatesResource from './java/template.js';
5
+ import locatorGeneratorResource from './locator-generator.js';
5
6
  import pageSourceInspectorResource from './page-source-inspector.js';
7
+ import screenshotViewerResource from './screenshot-viewer.js';
6
8
  export default function registerResources(server) {
7
9
  javaTemplatesResource(server);
8
10
  if (isMcpAppsEnabled()) {
9
11
  pageSourceInspectorResource(server);
12
+ screenshotViewerResource(server);
13
+ locatorGeneratorResource(server);
10
14
  }
11
15
  log.info('All resources registered');
12
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACnD,uBAAuB;AACvB,OAAO,qBAAqB,MAAM,oBAAoB,CAAC;AACvD,OAAO,2BAA2B,MAAM,4BAA4B,CAAC;AAErE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,MAAW;IACnD,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACnD,uBAAuB;AACvB,OAAO,qBAAqB,MAAM,oBAAoB,CAAC;AACvD,OAAO,wBAAwB,MAAM,wBAAwB,CAAC;AAC9D,OAAO,2BAA2B,MAAM,4BAA4B,CAAC;AACrE,OAAO,wBAAwB,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,MAAW;IACnD,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACpC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACjC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FastMCP } from 'fastmcp';
2
+ export declare const LOCATOR_GENERATOR_URI = "ui://appium-mcp/locator-generator";
3
+ export default function locatorGeneratorResource(server: FastMCP): void;
4
+ //# sourceMappingURL=locator-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator-generator.d.ts","sourceRoot":"","sources":["../../src/resources/locator-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAKrC,eAAO,MAAM,qBAAqB,sCAAsC,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAUtE"}
@@ -0,0 +1,15 @@
1
+ import { createLocatorGeneratorAppUI } from '../ui/locator-generator-app.js';
2
+ import { MCP_APP_MIME_TYPE } from '../ui/mcp-apps.js';
3
+ export const LOCATOR_GENERATOR_URI = 'ui://appium-mcp/locator-generator';
4
+ export default function locatorGeneratorResource(server) {
5
+ server.addResource({
6
+ uri: LOCATOR_GENERATOR_URI,
7
+ name: 'Appium Locator Generator',
8
+ description: 'Interactive viewer for generate_locators results',
9
+ mimeType: MCP_APP_MIME_TYPE,
10
+ async load() {
11
+ return { text: createLocatorGeneratorAppUI() };
12
+ },
13
+ });
14
+ }
15
+ //# sourceMappingURL=locator-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator-generator.js","sourceRoot":"","sources":["../../src/resources/locator-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mCAAmC,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,MAAe;IAC9D,MAAM,CAAC,WAAW,CAAC;QACjB,GAAG,EAAE,qBAAqB;QAC1B,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,kDAAkD;QAC/D,QAAQ,EAAE,iBAAiB;QAC3B,KAAK,CAAC,IAAI;YACR,OAAO,EAAC,IAAI,EAAE,2BAA2B,EAAE,EAAC,CAAC;QAC/C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FastMCP } from 'fastmcp';
2
+ export declare const SCREENSHOT_VIEWER_URI = "ui://appium-mcp/screenshot-viewer";
3
+ export default function screenshotViewerResource(server: FastMCP): void;
4
+ //# sourceMappingURL=screenshot-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot-viewer.d.ts","sourceRoot":"","sources":["../../src/resources/screenshot-viewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAKrC,eAAO,MAAM,qBAAqB,sCAAsC,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAUtE"}
@@ -0,0 +1,15 @@
1
+ import { MCP_APP_MIME_TYPE } from '../ui/mcp-apps.js';
2
+ import { createScreenshotViewerAppUI } from '../ui/screenshot-viewer-app.js';
3
+ export const SCREENSHOT_VIEWER_URI = 'ui://appium-mcp/screenshot-viewer';
4
+ export default function screenshotViewerResource(server) {
5
+ server.addResource({
6
+ uri: SCREENSHOT_VIEWER_URI,
7
+ name: 'Appium Screenshot Viewer',
8
+ description: 'Interactive viewer for appium_screenshot results',
9
+ mimeType: MCP_APP_MIME_TYPE,
10
+ async load() {
11
+ return { text: createScreenshotViewerAppUI() };
12
+ },
13
+ });
14
+ }
15
+ //# sourceMappingURL=screenshot-viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot-viewer.js","sourceRoot":"","sources":["../../src/resources/screenshot-viewer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAE3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,mCAAmC,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,MAAe;IAC9D,MAAM,CAAC,WAAW,CAAC;QACjB,GAAG,EAAE,qBAAqB;QAC1B,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,kDAAkD;QAC/D,QAAQ,EAAE,iBAAiB;QAC3B,KAAK,CAAC,IAAI;YACR,OAAO,EAAC,IAAI,EAAE,2BAA2B,EAAE,EAAC,CAAC;QAC/C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { FastMCP } from 'fastmcp';
1
+ import type { ContentResult, FastMCP } from 'fastmcp';
2
2
  import { resolveScreenshotDir } from '../../utils/paths.js';
3
3
  export { resolveScreenshotDir };
4
4
  export interface ScreenshotDeps {
@@ -15,6 +15,7 @@ export declare function executeScreenshot(opts: {
15
15
  maxWidth?: number;
16
16
  returnRawBase64?: boolean;
17
17
  sessionId?: string;
18
- }): Promise<any>;
18
+ useMcpApps?: boolean;
19
+ }): Promise<ContentResult>;
19
20
  export default function screenshot(server: FastMCP): void;
20
21
  //# sourceMappingURL=screenshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../src/tools/interactions/screenshot.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAMrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAC,oBAAoB,EAAC,CAAC;AAE9B,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,OAAO,EAAE,MAAM,MAAM,CAAC;CACvB;AASD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,GAAG,CAAC,CAmEf;AAyBD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAiBxD"}
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../src/tools/interactions/screenshot.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,SAAS,CAAC;AAQpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAC,oBAAoB,EAAC,CAAC;AAE9B,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,OAAO,EAAE,MAAM,MAAM,CAAC;CACvB;AASD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmFzB;AAyBD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAuBxD"}
@@ -2,7 +2,9 @@ import { join } from 'node:path';
2
2
  import { fs, imageUtil } from '@appium/support';
3
3
  import z from 'zod';
4
4
  import { getScreenshot } from '../../command.js';
5
+ import { SCREENSHOT_VIEWER_URI } from '../../resources/screenshot-viewer.js';
5
6
  import { elementUUIDScheme } from '../../schema.js';
7
+ import { clientSupportsMcpApps, isMcpAppsEnabled } from '../../ui/mcp-apps.js';
6
8
  import { createUIResource, createScreenshotViewerUI, addUIResourceToResponse } from '../../ui/mcp-ui-utils.js';
7
9
  import { resolveScreenshotDir } from '../../utils/paths.js';
8
10
  import { resolveDriver, textResult, errorResult, toolErrorMessage } from '../tool-response.js';
@@ -14,7 +16,7 @@ const defaultDeps = {
14
16
  dateNow: () => Date.now(),
15
17
  };
16
18
  export async function executeScreenshot(opts) {
17
- const { deps = defaultDeps, elementId, maxWidth, returnRawBase64, sessionId } = opts;
19
+ const { deps = defaultDeps, elementId, maxWidth, returnRawBase64, sessionId, useMcpApps = false } = opts;
18
20
  const resolved = await resolveDriver(sessionId);
19
21
  if (!resolved.ok) {
20
22
  return resolved.result;
@@ -59,6 +61,21 @@ export async function executeScreenshot(opts) {
59
61
  // Save screenshot to disk
60
62
  await deps.writeFile(filepath, screenshotBuffer);
61
63
  const textResponse = textResult(`Screenshot saved successfully to: ${filepath}`);
64
+ // MCP Apps-capable clients receive the image through structuredContent.
65
+ // It remains available to the viewer without adding base64 data to model
66
+ // context or duplicating it inside generated HTML.
67
+ if (useMcpApps) {
68
+ return {
69
+ ...textResponse,
70
+ structuredContent: {
71
+ screenshot: {
72
+ data: displayBase64,
73
+ mimeType: 'image/png',
74
+ filepath,
75
+ },
76
+ },
77
+ };
78
+ }
62
79
  // Add interactive screenshot viewer UI
63
80
  return addUIResourceToResponse(textResponse, () => createUIResource(`ui://appium-mcp/screenshot-viewer/${Date.now()}`, createScreenshotViewerUI(displayBase64, filepath)));
64
81
  }
@@ -85,19 +102,22 @@ const screenshotSchema = z.object({
85
102
  sessionId: z.string().optional().describe('Session ID to target. If omitted, uses the active session.'),
86
103
  });
87
104
  export default function screenshot(server) {
105
+ const mcpAppsEnabled = isMcpAppsEnabled();
88
106
  server.addTool({
89
107
  name: 'appium_screenshot',
90
108
  description: 'Take a screenshot and save as PNG. Optionally provide elementUUID to capture only that element.',
109
+ _meta: mcpAppsEnabled ? { ui: { resourceUri: SCREENSHOT_VIEWER_URI } } : undefined,
91
110
  parameters: screenshotSchema,
92
111
  annotations: {
93
112
  readOnlyHint: false,
94
113
  openWorldHint: false,
95
114
  },
96
- execute: async (args, _context) => executeScreenshot({
115
+ execute: async (args, context) => executeScreenshot({
97
116
  elementId: args.elementUUID,
98
117
  maxWidth: args.maxWidth,
99
118
  returnRawBase64: args.returnRawBase64,
100
119
  sessionId: args.sessionId,
120
+ useMcpApps: mcpAppsEnabled && clientSupportsMcpApps(server, context),
101
121
  }),
102
122
  });
103
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../src/tools/interactions/screenshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../src/tools/interactions/screenshot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-ios-simulator.d.ts","sourceRoot":"","sources":["../../../src/tools/ios/prepare-ios-simulator.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,OAAO,KAAK,EAAgB,OAAO,EAAC,MAAM,SAAS,CAAC;AAgcpD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAwBjE"}
1
+ {"version":3,"file":"prepare-ios-simulator.d.ts","sourceRoot":"","sources":["../../../src/tools/ios/prepare-ios-simulator.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,OAAO,KAAK,EAAgB,OAAO,EAAC,MAAM,SAAS,CAAC;AA2cpD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAwBjE"}
@@ -1,4 +1,3 @@
1
- import os from 'node:os';
2
1
  import path from 'node:path';
3
2
  import { fs, net, plist, zip } from '@appium/support';
4
3
  import { Simctl } from 'node-simctl';
@@ -63,6 +62,11 @@ async function getLatestWDAVersionFromCache() {
63
62
  .sort((a, b) => b.localeCompare(a, undefined, { numeric: true }));
64
63
  return filteredVersions.length > 0 ? filteredVersions[0] : null;
65
64
  }
65
+ async function getSimulatorArchitecture(simulatorUdid) {
66
+ const { stdout } = await exec('xcrun', ['simctl', 'getenv', simulatorUdid, 'SIMULATOR_ARCHS']);
67
+ const archs = stdout.trim().split(/\s+/);
68
+ return archs;
69
+ }
66
70
  async function installAppOnSimulator(appPath, simulatorUdid) {
67
71
  await exec('xcrun', ['simctl', 'install', simulatorUdid, appPath]);
68
72
  }
@@ -141,7 +145,7 @@ async function getWDAState(simulatorUdid) {
141
145
  }
142
146
  }
143
147
  // ── Main pipeline ──
144
- async function resolveWdaAppPath(forceRefreshWda, platform = 'ios') {
148
+ async function resolveWdaAppPath(simulatorUdid, forceRefreshWda, platform = 'ios') {
145
149
  // Provide a way to override the WDA app path via an env variable (useful in environments where external downloads are blocked)
146
150
  const envAppPath = process.env.APPIUM_MCP_WDA_APP_PATH;
147
151
  if (envAppPath) {
@@ -160,8 +164,12 @@ async function resolveWdaAppPath(forceRefreshWda, platform = 'ios') {
160
164
  source: 'env',
161
165
  };
162
166
  }
163
- const arch = os.arch();
164
- const archStr = arch === 'arm64' ? 'arm64' : 'x86_64';
167
+ const archs = await getSimulatorArchitecture(simulatorUdid);
168
+ const archStr = archs.includes('arm64') ? 'arm64' : archs[0];
169
+ const isRosetta = await exec('sysctl', ['-in', 'sysctl.proc_translated']).then(({ stdout }) => stdout.trim() === '1');
170
+ if (isRosetta) {
171
+ log.info(`Running under Rosetta. Simulator architecture: ${archs.join(', ')}. Using ${archStr} WDA build.`);
172
+ }
165
173
  const artifactPrefix = platform === 'tvos' ? 'WebDriverAgentRunner_tvOS' : 'WebDriverAgentRunner';
166
174
  // Check cache first (unless force refresh)
167
175
  if (!forceRefreshWda) {
@@ -313,7 +321,7 @@ async function prepareSimulator(udid, skipWda, forceRefreshWda, platform = 'ios'
313
321
  // ── Step 2: Download WDA ──
314
322
  let wdaAppPath;
315
323
  try {
316
- const resolved = await resolveWdaAppPath(forceRefreshWda, platform);
324
+ const resolved = await resolveWdaAppPath(udid, forceRefreshWda, platform);
317
325
  wdaAppPath = resolved.wdaAppPath;
318
326
  result.wdaAppPath = wdaAppPath;
319
327
  if (resolved.source === 'download') {
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-ios-simulator.js","sourceRoot":"","sources":["../../../src/tools/ios/prepare-ios-simulator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare-ios-simulator.js","sourceRoot":"","sources":["../../../src/tools/ios/prepare-ios-simulator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,14 @@
1
- export default function generateLocators(server: any): void;
1
+ /**
2
+ * Tool to get page source from the Android session
3
+ *
4
+ * TOOL EXTENSION GUIDE:
5
+ * This tool demonstrates the traditional approach where metadata is defined inline.
6
+ *
7
+ * ALTERNATIVE APPROACH: You can also use YAML metadata files for better separation.
8
+ * See src/tools/metadata/ for examples and src/tools/scroll-with-yaml.example.ts
9
+ *
10
+ * For detailed documentation on adding tools, see docs/CONTRIBUTING.md
11
+ */
12
+ import type { FastMCP } from 'fastmcp';
13
+ export default function generateLocators(server: FastMCP): void;
2
14
  //# sourceMappingURL=locators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locators.d.ts","sourceRoot":"","sources":["../../../src/tools/test-generation/locators.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAyD1D"}
1
+ {"version":3,"file":"locators.d.ts","sourceRoot":"","sources":["../../../src/tools/test-generation/locators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAWrC,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAkE9D"}
@@ -1,24 +1,17 @@
1
- /**
2
- * Tool to get page source from the Android session
3
- *
4
- * TOOL EXTENSION GUIDE:
5
- * This tool demonstrates the traditional approach where metadata is defined inline.
6
- *
7
- * ALTERNATIVE APPROACH: You can also use YAML metadata files for better separation.
8
- * See src/tools/metadata/ for examples and src/tools/scroll-with-yaml.example.ts
9
- *
10
- * For detailed documentation on adding tools, see docs/CONTRIBUTING.md
11
- */
12
1
  import { z } from 'zod';
13
2
  import { getPageSource } from '../../command.js';
14
3
  import { generateAllElementLocators } from '../../locators/generate-all-locators.js';
4
+ import { LOCATOR_GENERATOR_URI } from '../../resources/locator-generator.js';
15
5
  import { isAndroidUiautomator2DriverSession, isXCUITestDriverSession } from '../../session-store.js';
6
+ import { clientSupportsMcpApps, isMcpAppsEnabled } from '../../ui/mcp-apps.js';
16
7
  import { createUIResource, createLocatorGeneratorUI, addUIResourceToResponse } from '../../ui/mcp-ui-utils.js';
17
8
  import { resolveDriver, textResult, errorResult, toolErrorMessage } from '../tool-response.js';
18
9
  export default function generateLocators(server) {
10
+ const mcpAppsEnabled = isMcpAppsEnabled();
19
11
  server.addTool({
20
12
  name: 'generate_locators',
21
13
  description: `Generate locators for all interactable elements on the current page. [PRIORITY 3: Use this for debugging/inspection or when you need comprehensive element info with locator suggestions]`,
14
+ _meta: mcpAppsEnabled ? { ui: { resourceUri: LOCATOR_GENERATOR_URI } } : undefined,
22
15
  parameters: z.object({
23
16
  sessionId: z.string().optional().describe('Session ID to target. If omitted, uses the active session.'),
24
17
  }),
@@ -26,7 +19,8 @@ export default function generateLocators(server) {
26
19
  readOnlyHint: true,
27
20
  openWorldHint: false,
28
21
  },
29
- execute: async (args, { log }) => {
22
+ execute: async (args, context) => {
23
+ const { log } = context;
30
24
  log.info('Getting page source');
31
25
  const resolved = await resolveDriver(args.sessionId);
32
26
  if (!resolved.ok) {
@@ -55,6 +49,11 @@ export default function generateLocators(server) {
55
49
  instruction: `These are the locators for the current page. Use this to generate code for the current page.
56
50
  Using the template provided by generate://code-with-locators resource.`,
57
51
  }));
52
+ // The static MCP App reads the existing JSON text result instead of
53
+ // receiving a second copy rendered into inline HTML.
54
+ if (mcpAppsEnabled && clientSupportsMcpApps(server, context)) {
55
+ return textResponse;
56
+ }
58
57
  return addUIResourceToResponse(textResponse, () => createUIResource(`ui://appium-mcp/locator-generator/${Date.now()}`, createLocatorGeneratorUI(interactableElements)));
59
58
  }
60
59
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"locators.js","sourceRoot":"","sources":["../../../src/tools/test-generation/locators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locators.js","sourceRoot":"","sources":["../../../src/tools/test-generation/locators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Static MCP App used by generate_locators.
3
+ *
4
+ * Locator data is read from the tool's existing JSON text result, avoiding a
5
+ * second rendered copy of the same element and locator strings in inline HTML.
6
+ */
7
+ export declare function createLocatorGeneratorAppUI(): string;
8
+ //# sourceMappingURL=locator-generator-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator-generator-app.d.ts","sourceRoot":"","sources":["../../src/ui/locator-generator-app.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAkRpD"}