mobile-debug-mcp 0.30.1 → 0.31.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 (60) hide show
  1. package/README.md +50 -5
  2. package/dist/interact/index.js +546 -133
  3. package/dist/manage/ios.js +1 -1
  4. package/dist/server/tool-definitions.js +13 -9
  5. package/dist/server/tool-handlers.js +4 -4
  6. package/dist/server-core.js +1 -1
  7. package/dist/system/index.js +485 -48
  8. package/dist/system/ios.js +15 -7
  9. package/dist/utils/android/utils.js +4 -4
  10. package/dist/utils/cli/idb/check-idb.js +10 -3
  11. package/dist/utils/cli/idb/idb-helper.js +47 -13
  12. package/dist/utils/ios/utils.js +5 -9
  13. package/docs/CHANGELOG.md +6 -0
  14. package/docs/ROADMAP.md +88 -212
  15. package/docs/specs/baseline-spec-v0.md +1 -1
  16. package/docs/specs-deltas/015-adjustable-control-support.md +541 -0
  17. package/docs/specs-deltas/016-environment-tools.md +533 -0
  18. package/docs/tools/TOOLS.md +2 -0
  19. package/docs/tools/manage.md +4 -2
  20. package/docs/tools/system.md +9 -2
  21. package/package.json +1 -1
  22. package/skills/spec-review/SKILL.md +52 -0
  23. package/skills/spec-review/references/spec-review-checklist.md +13 -0
  24. package/skills/spec-review/references/spec-review-template.md +28 -0
  25. package/src/interact/index.ts +581 -138
  26. package/src/manage/ios.ts +1 -1
  27. package/src/server/tool-definitions.ts +13 -9
  28. package/src/server/tool-handlers.ts +4 -4
  29. package/src/server-core.ts +1 -1
  30. package/src/system/index.ts +572 -50
  31. package/src/system/ios.ts +14 -7
  32. package/src/types.ts +2 -0
  33. package/src/utils/android/utils.ts +3 -3
  34. package/src/utils/cli/idb/check-idb.ts +11 -2
  35. package/src/utils/cli/idb/idb-helper.ts +49 -12
  36. package/src/utils/ios/utils.ts +4 -8
  37. package/test/unit/interact/adjust_control.test.ts +586 -33
  38. package/test/unit/interact/tap_element.test.ts +1 -1
  39. package/test/unit/server/contract.test.ts +4 -0
  40. package/test/unit/system/get_system_status.test.ts +3 -0
  41. package/test/unit/system/system_status.test.ts +40 -0
  42. package/test/unit/utils/idb_health.test.ts +74 -0
  43. package/skills/rfc-review/SKILL.md +0 -52
  44. package/skills/rfc-review/references/rfc-review-checklist.md +0 -12
  45. package/skills/rfc-review/references/rfc-review-template.md +0 -28
  46. /package/docs/{rfcs → specs-deltas}/001-state-verification.md +0 -0
  47. /package/docs/{rfcs → specs-deltas}/002-richer-element-identity +0 -0
  48. /package/docs/{rfcs → specs-deltas}/003-wait-and-synchronization-reliability.md +0 -0
  49. /package/docs/{rfcs → specs-deltas}/004-action-verification-routing.md +0 -0
  50. /package/docs/{rfcs → specs-deltas}/005-unified-action-execution-and-verification-model.md +0 -0
  51. /package/docs/{rfcs → specs-deltas}/006-runtime-action-instrumentation-and-binding-layer.md +0 -0
  52. /package/docs/{rfcs → specs-deltas}/007-actionability-resolution-and-executable-target-selection.md +0 -0
  53. /package/docs/{rfcs → specs-deltas}/008-adjustable-control-support-and-semantic-value-manipulation.md +0 -0
  54. /package/docs/{rfcs → specs-deltas}/009-semantic-control-modeling-for-custom-and-composite-controls.md +0 -0
  55. /package/docs/{rfcs → specs-deltas}/010-verification-stabilization-and-temporal-convergence.md +0 -0
  56. /package/docs/{rfcs → specs-deltas}/011-recovery-and-replanning-for-failed-or-ambiguous-interaction-flows.md +0 -0
  57. /package/docs/{rfcs → specs-deltas}/011.1-recovery-contract-types-and-runtime-wiring-spec.md +0 -0
  58. /package/docs/{rfcs → specs-deltas}/012-action-trace-and-xecution-observability.md +0 -0
  59. /package/docs/{rfcs → specs-deltas}/013-wait-and-synchronization-reliability.md +0 -0
  60. /package/docs/{rfcs → specs-deltas}/014-actionability-resolution.md +0 -0
package/README.md CHANGED
@@ -16,11 +16,36 @@ A minimal, secure MCP server for AI-assisted mobile development. Build, install,
16
16
  - Xcode command-line tools for iOS support
17
17
  - [idb](https://github.com/facebook/idb) for iOS device support
18
18
 
19
+ ## Environment Setup
20
+
21
+ The server discovers Android and iOS tools automatically from standard locations by default. Manual environment setup is still supported, but it should be treated as the fallback for non-standard installs, overrides, or reproducible pinned toolchains.
22
+
23
+ Use explicit paths when:
24
+ - you have multiple SDKs installed
25
+ - the tools live outside standard locations
26
+ - you want deterministic setup across machines
27
+ - automatic discovery does not find the expected binary
28
+
29
+ Leave the variables unset when:
30
+ - the tools are already on `PATH`
31
+ - the standard Android and Xcode locations are enough
32
+
33
+ Common environment variables:
34
+ - `ADB_PATH`: explicit path to `adb`
35
+ - `ANDROID_SDK_ROOT` or `ANDROID_HOME`: Android SDK root
36
+ - `XCRUN_PATH`: explicit path to `xcrun`
37
+ - `MCP_IDB_PATH` or `IDB_PATH`: explicit path to `idb`
38
+ - `GRADLE_JAVA_HOME` or `JAVA_HOME`: Java home for Gradle-backed operations
39
+
40
+ For normal use, call `get_system_status` first. It reports the detected host, Android, and iOS toolchain state so the client can decide whether automatic discovery is sufficient or whether explicit overrides are needed.
41
+
19
42
  ## Configuration
20
43
 
21
44
  <details>
22
45
 
23
- <summary>Android Studio</summary>
46
+ <summary>Android setup</summary>
47
+
48
+ Recommended when you want Android only, or when you want to make the Android toolchain explicit.
24
49
 
25
50
  ```json
26
51
  {
@@ -28,17 +53,25 @@ A minimal, secure MCP server for AI-assisted mobile development. Build, install,
28
53
  "mobile-debug": {
29
54
  "command": "npx",
30
55
  "args": ["--yes","mobile-debug-mcp","server"],
31
- "env": { "ADB_PATH": "/path/to/adb", "XCRUN_PATH": "/usr/bin/xcrun", "IDB_PATH": "/path/to/idb" }
56
+ "env": {
57
+ "ADB_PATH": "/path/to/adb",
58
+ "ANDROID_SDK_ROOT": "/path/to/android/sdk",
59
+ "GRADLE_JAVA_HOME": "/path/to/jdk"
60
+ }
32
61
  }
33
62
  }
34
63
  }
35
64
  ```
36
65
 
66
+ For Android-only setups, `XCRUN_PATH` and `IDB_PATH` are not required unless you want to pin them explicitly.
67
+
37
68
  </details>
38
69
 
39
70
  <details>
40
71
 
41
- <summary>Copilot</summary>
72
+ <summary>iOS setup</summary>
73
+
74
+ Recommended when you want iOS simulator or device support, or when `idb` lives in a non-standard location.
42
75
 
43
76
  ```json
44
77
  {
@@ -46,12 +79,18 @@ A minimal, secure MCP server for AI-assisted mobile development. Build, install,
46
79
  "mobile-debug": {
47
80
  "command": "npx",
48
81
  "args": ["--yes","mobile-debug-mcp","server"],
49
- "env": { "ADB_PATH": "/path/to/adb", "XCRUN_PATH": "/usr/bin/xcrun", "IDB_PATH": "/path/to/idb" }
82
+ "env": {
83
+ "XCRUN_PATH": "/usr/bin/xcrun",
84
+ "MCP_IDB_PATH": "/path/to/idb",
85
+ "IDB_PATH": "/path/to/idb"
86
+ }
50
87
  }
51
88
  }
52
89
  }
53
90
  ```
54
91
 
92
+ For iOS-only setups, `ADB_PATH` and `ANDROID_SDK_ROOT` are not required unless you want to pin them explicitly.
93
+
55
94
  </details>
56
95
 
57
96
  <details>
@@ -69,7 +108,13 @@ args:
69
108
  environment variables:
70
109
  * ADB_PATH: /path/to/adb
71
110
  * XCRUN_PATH: /usr/bin/xcrun
72
- * IDC_PATH: /path/to/idb"
111
+ * IDB_PATH: /path/to/idb
112
+ * MCP_IDB_PATH: /path/to/idb
113
+ * ANDROID_SDK_ROOT: /path/to/android/sdk
114
+ * GRADLE_JAVA_HOME: /path/to/jdk
115
+ * JAVA_HOME: /path/to/jdk
116
+
117
+ If you are unsure whether the environment is configured correctly, run `get_system_status` first. It reports the detected host, Android, and iOS toolchain state in a structured form.
73
118
 
74
119
  </details>
75
120