appium-mcp 1.88.4 → 1.88.5

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [1.88.5](https://github.com/appium/appium-mcp/compare/v1.88.4...v1.88.5) (2026-07-26)
2
+
3
+ ### Performance Improvements
4
+
5
+ * cap tool discovery at 45k characters ([#475](https://github.com/appium/appium-mcp/issues/475)) ([2624412](https://github.com/appium/appium-mcp/commit/2624412367e5a2e4cd5ababc15a9fb4c2ffc25c9))
6
+
1
7
  ## [1.88.4](https://github.com/appium/appium-mcp/compare/v1.88.3...v1.88.4) (2026-07-25)
2
8
 
3
9
  ### Miscellaneous Chores
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,iBAAiB,aAEiD,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,iBAAiB,aAA8D,CAAC"}
package/dist/schema.js CHANGED
@@ -1,5 +1,3 @@
1
1
  import { z } from 'zod';
2
- export const elementUUIDScheme = z
3
- .string()
4
- .describe('The uuid of the element returned by appium_find_element to click');
2
+ export const elementUUIDScheme = z.string().describe('Element ID from appium_find_element.');
5
3
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,QAAQ,CAAC,kEAAkE,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/tools/app-management/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,OAAO,EAAC,MAAM,SAAS,CAAC;AAgBpD,QAAA,MAAM,WAAW,uIAWP,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AA4DrD,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA4EjD"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/tools/app-management/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,OAAO,EAAC,MAAM,SAAS,CAAC;AAgBpD,QAAA,MAAM,WAAW,uIAWP,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AA8BrD,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA4EjD"}
@@ -26,54 +26,32 @@ const APP_ACTIONS = [
26
26
  const schema = z.object({
27
27
  action: z
28
28
  .enum(APP_ACTIONS)
29
- .describe('Action to perform. ' +
30
- 'activate: bring app to foreground (requires id or name). ' +
31
- 'terminate: stop a running app (requires id or name). ' +
32
- 'install: install from file path (requires path). ' +
33
- 'uninstall: remove from device (requires id or name; optional keepData for Android). ' +
34
- 'list: list installed apps (optional applicationType for iOS). ' +
35
- 'is_installed: check if app is installed (requires id or name). ' +
29
+ .describe('activate: foreground app; terminate: stop app; is_installed: check installation; ' +
30
+ 'clear: clear app data without uninstalling (all require id or name). ' +
31
+ 'install: requires path. uninstall: requires id/name; Android keepData is optional. ' +
32
+ 'list: optional iOS applicationType. ' +
36
33
  'query_state: get state 0=not installed,1=not running,2=background suspended,3=background,4=foreground (requires id or name). ' +
37
- 'background: send foreground app to background (optional seconds, default 5). ' +
38
- 'clear: clear app data without uninstalling (requires id or name). ' +
39
- 'deep_link: open a URL with an app (requires url; optional id or name).'),
40
- id: z
41
- .string()
42
- .optional()
43
- .describe('App identifier (package name for Android, bundle ID for iOS). Takes precedence over name. Required for: activate, terminate, uninstall, is_installed, query_state, clear.'),
44
- name: z
45
- .string()
46
- .optional()
47
- .describe('Human-readable app name (e.g. "Spotify"). Used to resolve the app id. Required (as alternative to id) for: activate, terminate, uninstall, is_installed, query_state, clear.'),
48
- path: z.string().optional().describe('Path to the app file to install. Required for: install.'),
49
- keepData: z
50
- .boolean()
51
- .optional()
52
- .describe('Keep app data and cache after uninstall. Android only. Used with: uninstall.'),
53
- applicationType: z
54
- .enum(['User', 'System'])
55
- .optional()
56
- .describe('iOS only: filter by "User" (default) or "System" apps. Used with: list.'),
34
+ 'background: send foreground app to background; optional seconds (default 5). ' +
35
+ 'deep_link: requires url; id/name is optional.'),
36
+ id: z.string().optional().describe('Android package or iOS bundle ID; takes precedence over name.'),
37
+ name: z.string().optional().describe('Human-readable app name resolved to an ID; alternative to id.'),
38
+ path: z.string().optional().describe('App file path; required for install.'),
39
+ keepData: z.boolean().optional().describe('Android uninstall: preserve app data and cache.'),
40
+ applicationType: z.enum(['User', 'System']).optional().describe('iOS list filter: User (default) or System.'),
57
41
  seconds: z
58
42
  .number()
59
43
  .min(-1)
60
44
  .max(86400)
61
45
  .optional()
62
- .describe(`Seconds to keep the app in the background. Defaults to ${DEFAULT_BACKGROUND_SECONDS}. Use -1 to stay in background without auto-resuming. Used with: background.`),
63
- url: z
64
- .string()
65
- .optional()
66
- .describe('Deep link URL to open (e.g. https://example.com, myapp://path). Required for: deep_link.'),
67
- waitForLaunch: z
68
- .boolean()
69
- .optional()
70
- .describe('Android only. If false, ADB does not wait for the activity to return. Defaults to true. Used with: deep_link.'),
46
+ .describe(`Background duration; default ${DEFAULT_BACKGROUND_SECONDS}. Use -1 to remain in background.`),
47
+ url: z.string().optional().describe('URL for deep_link (e.g. https://example.com or myapp://path).'),
48
+ waitForLaunch: z.boolean().optional().describe('Android deep_link: wait for the activity to return; default true.'),
71
49
  sessionId: z.string().optional().describe('Session ID to target. If omitted, uses the active session.'),
72
50
  });
73
51
  export default function app(server) {
74
52
  server.addTool({
75
53
  name: 'appium_app_lifecycle',
76
- description: `Manage apps on the device. Use the action parameter to choose what to do: ${APP_ACTIONS.join(', ')}.`,
54
+ description: 'Manage app lifecycle, installation, state, data, and deep links.',
77
55
  parameters: schema,
78
56
  annotations: {
79
57
  readOnlyHint: false,
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/tools/app-management/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/tools/app-management/app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/tools/app-management/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,OAAO,EAAC,MAAM,SAAS,CAAC;AAUpD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA0J/D"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/tools/app-management/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,OAAO,EAAC,MAAM,SAAS,CAAC;AAUpD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAsJ/D"}
@@ -14,13 +14,11 @@ export default function mobilePermissions(server) {
14
14
  id: z
15
15
  .string()
16
16
  .optional()
17
- .describe('App identifier (package name for Android, bundle ID for iOS). Takes precedence over name. ' +
18
- 'Optional for Android (defaults to the app under test). Required for iOS get and update.'),
17
+ .describe('App ID; overrides name. Android defaults to the app under test; required for iOS get/update.'),
19
18
  name: z
20
19
  .string()
21
20
  .optional()
22
- .describe('Human-readable app name (e.g. "Spotify"). Used to resolve the app id. ' +
23
- 'Optional for Android (defaults to the app under test). Required (as alternative to id) for iOS get and update.'),
21
+ .describe('App name resolved to an ID. Android defaults to the app under test; alternative to id for iOS get/update.'),
24
22
  sessionId: z.string().optional().describe('Session ID to target. If omitted, uses the active session.'),
25
23
  permissionFilter: z
26
24
  .enum(['denied', 'granted', 'requested'])
@@ -47,7 +45,7 @@ export default function mobilePermissions(server) {
47
45
  });
48
46
  server.addTool({
49
47
  name: 'appium_mobile_permissions',
50
- description: 'Manage mobile app permissions in one place. action=get: Android lists runtime permissions for a package; iOS Simulator reads one service state for an app (needs id or name + service). action=update: Android changes permissions (grant/revoke or AppOps); iOS Simulator sets privacy via access map (needs id or name + access). action=reset: iOS only — resets one privacy service for the AUT (needs service).',
48
+ description: 'Get/update Android app permissions or iOS Simulator privacy services; reset iOS privacy prompts. See action-specific parameters.',
51
49
  parameters: schema,
52
50
  annotations: {
53
51
  readOnlyHint: false,
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/tools/app-management/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/tools/app-management/permissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"screen-recording.d.ts","sourceRoot":"","sources":["../../../src/tools/interactions/screen-recording.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,OAAO,EAAC,MAAM,SAAS,CAAC;AAQpD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5D,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0GAA0G;IAC1G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+GAA+G;IAC/G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+HAA+H;IAC/H,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;CAC/E;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0GAA0G;IAC1G,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAkDD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA0F7D"}
1
+ {"version":3,"file":"screen-recording.d.ts","sourceRoot":"","sources":["../../../src/tools/interactions/screen-recording.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,OAAO,EAAC,MAAM,SAAS,CAAC;AAQpD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5D,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0GAA0G;IAC1G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+GAA+G;IAC/G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+HAA+H;IAC/H,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;CAC/E;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0GAA0G;IAC1G,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAyCD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA0F7D"}
@@ -15,19 +15,14 @@ async function saveRecording(base64Video) {
15
15
  return filepath;
16
16
  }
17
17
  const screenRecordingSchema = z.object({
18
- action: z
19
- .enum(['start', 'stop'])
20
- .describe('Use start to begin recording. Use stop to end the current recording, retrieve it from the driver, and save it to disk.'),
18
+ action: z.enum(['start', 'stop']).describe('start begins recording; stop ends, retrieves, and saves it.'),
21
19
  timeLimit: z
22
20
  .number()
23
21
  .int()
24
22
  .min(1)
25
23
  .optional()
26
- .describe('Maximum recording duration in seconds for the underlying recorder. This does not automatically stop and save the recording through this tool; call action="stop" to retrieve/save the video. iOS default: 180 (max 4200). Android default: 180 (max 1800).'),
27
- forceRestart: z
28
- .boolean()
29
- .optional()
30
- .describe('If true, stop any active recording immediately and start a new one without returning the previous video. Default: false.'),
24
+ .describe('Recorder limit in seconds; it does not retrieve/save automatically, so call stop. iOS default 180/max 4200; Android default 180/max 1800.'),
25
+ forceRestart: z.boolean().optional().describe('Restart and discard any active recording; default false.'),
31
26
  videoQuality: z
32
27
  .enum(['low', 'medium', 'high', 'photo'])
33
28
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"screen-recording.js","sourceRoot":"","sources":["../../../src/tools/interactions/screen-recording.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screen-recording.js","sourceRoot":"","sources":["../../../src/tools/interactions/screen-recording.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-mcp",
3
- "version": "1.88.4",
3
+ "version": "1.88.5",
4
4
  "description": "Intelligent MCP server providing AI assistants with powerful tools and resources for Appium mobile automation",
5
5
  "bugs": {
6
6
  "url": "https://github.com/appium/appium-mcp/issues"
@@ -7,7 +7,7 @@ import {fileURLToPath} from 'node:url';
7
7
  import {Client} from '@modelcontextprotocol/sdk/client/index.js';
8
8
  import {StdioClientTransport} from '@modelcontextprotocol/sdk/client/stdio.js';
9
9
 
10
- const MAX_DISCOVERY_CHARS = 47_000;
10
+ const MAX_DISCOVERY_CHARS = 45_000;
11
11
  const ESTIMATED_CHARS_PER_TOKEN = 4;
12
12
  const LARGEST_TOOL_COUNT = 10;
13
13
 
package/server.json CHANGED
@@ -3,12 +3,12 @@
3
3
  "name": "io.github.appium/appium-mcp",
4
4
  "title": "MCP Appium - Mobile Development and Automation Server",
5
5
  "description": "MCP server for Appium mobile automation on iOS and Android devices with test creation tools.",
6
- "version": "1.88.4",
6
+ "version": "1.88.5",
7
7
  "packages": [
8
8
  {
9
9
  "registryType": "npm",
10
10
  "identifier": "appium-mcp",
11
- "version": "1.88.4",
11
+ "version": "1.88.5",
12
12
  "transport": {
13
13
  "type": "stdio"
14
14
  }
package/src/schema.ts CHANGED
@@ -1,5 +1,3 @@
1
1
  import {z} from 'zod';
2
2
 
3
- export const elementUUIDScheme = z
4
- .string()
5
- .describe('The uuid of the element returned by appium_find_element to click');
3
+ export const elementUUIDScheme = z.string().describe('Element ID from appium_find_element.');
@@ -33,64 +33,34 @@ const schema = z.object({
33
33
  action: z
34
34
  .enum(APP_ACTIONS)
35
35
  .describe(
36
- 'Action to perform. ' +
37
- 'activate: bring app to foreground (requires id or name). ' +
38
- 'terminate: stop a running app (requires id or name). ' +
39
- 'install: install from file path (requires path). ' +
40
- 'uninstall: remove from device (requires id or name; optional keepData for Android). ' +
41
- 'list: list installed apps (optional applicationType for iOS). ' +
42
- 'is_installed: check if app is installed (requires id or name). ' +
36
+ 'activate: foreground app; terminate: stop app; is_installed: check installation; ' +
37
+ 'clear: clear app data without uninstalling (all require id or name). ' +
38
+ 'install: requires path. uninstall: requires id/name; Android keepData is optional. ' +
39
+ 'list: optional iOS applicationType. ' +
43
40
  'query_state: get state 0=not installed,1=not running,2=background suspended,3=background,4=foreground (requires id or name). ' +
44
- 'background: send foreground app to background (optional seconds, default 5). ' +
45
- 'clear: clear app data without uninstalling (requires id or name). ' +
46
- 'deep_link: open a URL with an app (requires url; optional id or name).',
41
+ 'background: send foreground app to background; optional seconds (default 5). ' +
42
+ 'deep_link: requires url; id/name is optional.',
47
43
  ),
48
- id: z
49
- .string()
50
- .optional()
51
- .describe(
52
- 'App identifier (package name for Android, bundle ID for iOS). Takes precedence over name. Required for: activate, terminate, uninstall, is_installed, query_state, clear.',
53
- ),
54
- name: z
55
- .string()
56
- .optional()
57
- .describe(
58
- 'Human-readable app name (e.g. "Spotify"). Used to resolve the app id. Required (as alternative to id) for: activate, terminate, uninstall, is_installed, query_state, clear.',
59
- ),
60
- path: z.string().optional().describe('Path to the app file to install. Required for: install.'),
61
- keepData: z
62
- .boolean()
63
- .optional()
64
- .describe('Keep app data and cache after uninstall. Android only. Used with: uninstall.'),
65
- applicationType: z
66
- .enum(['User', 'System'])
67
- .optional()
68
- .describe('iOS only: filter by "User" (default) or "System" apps. Used with: list.'),
44
+ id: z.string().optional().describe('Android package or iOS bundle ID; takes precedence over name.'),
45
+ name: z.string().optional().describe('Human-readable app name resolved to an ID; alternative to id.'),
46
+ path: z.string().optional().describe('App file path; required for install.'),
47
+ keepData: z.boolean().optional().describe('Android uninstall: preserve app data and cache.'),
48
+ applicationType: z.enum(['User', 'System']).optional().describe('iOS list filter: User (default) or System.'),
69
49
  seconds: z
70
50
  .number()
71
51
  .min(-1)
72
52
  .max(86400)
73
53
  .optional()
74
- .describe(
75
- `Seconds to keep the app in the background. Defaults to ${DEFAULT_BACKGROUND_SECONDS}. Use -1 to stay in background without auto-resuming. Used with: background.`,
76
- ),
77
- url: z
78
- .string()
79
- .optional()
80
- .describe('Deep link URL to open (e.g. https://example.com, myapp://path). Required for: deep_link.'),
81
- waitForLaunch: z
82
- .boolean()
83
- .optional()
84
- .describe(
85
- 'Android only. If false, ADB does not wait for the activity to return. Defaults to true. Used with: deep_link.',
86
- ),
54
+ .describe(`Background duration; default ${DEFAULT_BACKGROUND_SECONDS}. Use -1 to remain in background.`),
55
+ url: z.string().optional().describe('URL for deep_link (e.g. https://example.com or myapp://path).'),
56
+ waitForLaunch: z.boolean().optional().describe('Android deep_link: wait for the activity to return; default true.'),
87
57
  sessionId: z.string().optional().describe('Session ID to target. If omitted, uses the active session.'),
88
58
  });
89
59
 
90
60
  export default function app(server: FastMCP): void {
91
61
  server.addTool({
92
62
  name: 'appium_app_lifecycle',
93
- description: `Manage apps on the device. Use the action parameter to choose what to do: ${APP_ACTIONS.join(', ')}.`,
63
+ description: 'Manage app lifecycle, installation, state, data, and deep links.',
94
64
  parameters: schema,
95
65
  annotations: {
96
66
  readOnlyHint: false,
@@ -20,16 +20,12 @@ export default function mobilePermissions(server: FastMCP): void {
20
20
  id: z
21
21
  .string()
22
22
  .optional()
23
- .describe(
24
- 'App identifier (package name for Android, bundle ID for iOS). Takes precedence over name. ' +
25
- 'Optional for Android (defaults to the app under test). Required for iOS get and update.',
26
- ),
23
+ .describe('App ID; overrides name. Android defaults to the app under test; required for iOS get/update.'),
27
24
  name: z
28
25
  .string()
29
26
  .optional()
30
27
  .describe(
31
- 'Human-readable app name (e.g. "Spotify"). Used to resolve the app id. ' +
32
- 'Optional for Android (defaults to the app under test). Required (as alternative to id) for iOS get and update.',
28
+ 'App name resolved to an ID. Android defaults to the app under test; alternative to id for iOS get/update.',
33
29
  ),
34
30
  sessionId: z.string().optional().describe('Session ID to target. If omitted, uses the active session.'),
35
31
  permissionFilter: z
@@ -65,7 +61,7 @@ export default function mobilePermissions(server: FastMCP): void {
65
61
  server.addTool({
66
62
  name: 'appium_mobile_permissions',
67
63
  description:
68
- 'Manage mobile app permissions in one place. action=get: Android lists runtime permissions for a package; iOS Simulator reads one service state for an app (needs id or name + service). action=update: Android changes permissions (grant/revoke or AppOps); iOS Simulator sets privacy via access map (needs id or name + access). action=reset: iOS only — resets one privacy service for the AUT (needs service).',
64
+ 'Get/update Android app permissions or iOS Simulator privacy services; reset iOS privacy prompts. See action-specific parameters.',
69
65
  parameters: schema,
70
66
  annotations: {
71
67
  readOnlyHint: false,
@@ -62,25 +62,16 @@ async function saveRecording(base64Video: string): Promise<string> {
62
62
  }
63
63
 
64
64
  const screenRecordingSchema = z.object({
65
- action: z
66
- .enum(['start', 'stop'])
67
- .describe(
68
- 'Use start to begin recording. Use stop to end the current recording, retrieve it from the driver, and save it to disk.',
69
- ),
65
+ action: z.enum(['start', 'stop']).describe('start begins recording; stop ends, retrieves, and saves it.'),
70
66
  timeLimit: z
71
67
  .number()
72
68
  .int()
73
69
  .min(1)
74
70
  .optional()
75
71
  .describe(
76
- 'Maximum recording duration in seconds for the underlying recorder. This does not automatically stop and save the recording through this tool; call action="stop" to retrieve/save the video. iOS default: 180 (max 4200). Android default: 180 (max 1800).',
77
- ),
78
- forceRestart: z
79
- .boolean()
80
- .optional()
81
- .describe(
82
- 'If true, stop any active recording immediately and start a new one without returning the previous video. Default: false.',
72
+ 'Recorder limit in seconds; it does not retrieve/save automatically, so call stop. iOS default 180/max 4200; Android default 180/max 1800.',
83
73
  ),
74
+ forceRestart: z.boolean().optional().describe('Restart and discard any active recording; default false.'),
84
75
  videoQuality: z
85
76
  .enum(['low', 'medium', 'high', 'photo'])
86
77
  .optional()