@ggboi360/mobile-dev-mcp 0.2.0 → 0.3.1

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/LICENSE CHANGED
@@ -2,21 +2,25 @@
2
2
 
3
3
  This project uses a dual-license model ("Open Core"):
4
4
 
5
- ## Basic Tools (17 tools) - MIT License
5
+ ## Free Tools (8 tools) - MIT License
6
6
 
7
- The **17 core tools** in the Basic tier are licensed under the **MIT License**.
7
+ The **8 free tools** are licensed under the **MIT License**.
8
8
  See [LICENSE-MIT](LICENSE-MIT) for the full text.
9
9
 
10
- These tools are free to use, modify, and distribute:
11
- - get_metro_logs, get_adb_logs, screenshot_emulator, list_devices
12
- - check_metro_status, get_app_info, clear_app_data, restart_adb
13
- - get_device_info, start_metro_logging, stop_metro_logging
14
- - list_ios_simulators, screenshot_ios_simulator, get_ios_simulator_logs
15
- - get_ios_simulator_info, get_license_status, set_license_key
10
+ These tools are open source - free to use, modify, and distribute:
16
11
 
17
- ## Advanced Tools (39 tools) - Elastic License 2.0
12
+ **Android Debugging (7 tools):**
13
+ - screenshot_emulator, list_devices, get_device_info, get_app_info
14
+ - get_adb_logs, get_metro_logs, check_metro_status
18
15
 
19
- The **39 advanced tools** are licensed under the **Elastic License 2.0**.
16
+ **License (1 tool):**
17
+ - get_license_status
18
+
19
+ Note: MIT license means the code is open source and free to use forever.
20
+
21
+ ## Advanced Tools (13 tools) - Elastic License 2.0
22
+
23
+ The **13 advanced tools** are licensed under the **Elastic License 2.0**.
20
24
  See [LICENSE-ELASTIC](LICENSE-ELASTIC) for the full text.
21
25
 
22
26
  This means:
@@ -26,19 +30,16 @@ This means:
26
30
  - You CANNOT remove or circumvent the license key functionality
27
31
 
28
32
  Advanced tools include:
29
- - Streaming & monitoring (stream_adb_realtime, screenshot_history, etc.)
30
- - Device interaction (tap_screen, input_text, swipe_screen, etc.)
31
- - iOS Simulator advanced (boot/shutdown, app management, push notifications)
32
- - React DevTools integration
33
- - Network inspection
34
- - Expo DevTools integration
35
- - Performance metrics
33
+ - iOS Simulator support (screenshots, logs, device info)
34
+ - UI tree inspection and element finding
35
+ - Screen analysis and text extraction
36
+ - Multi-device support
36
37
 
37
38
  ## Why Dual License?
38
39
 
39
40
  We believe in open source while also needing to sustain development:
40
41
 
41
- - **MIT for Basic**: Enables the community to freely use, learn from, and contribute to core functionality
42
+ - **MIT for Free**: Enables the community to freely use, learn from, and contribute to core Android debugging
42
43
  - **Elastic for Advanced**: Protects the commercial features that fund ongoing development
43
44
 
44
45
  ## Questions?
package/LICENSE-ELASTIC CHANGED
@@ -1,6 +1,6 @@
1
1
  Elastic License 2.0 (ELv2)
2
2
 
3
- This license applies to the 39 Advanced tier tools in Mobile Dev MCP.
3
+ This license applies to the 13 Advanced tier tools in Mobile Dev MCP.
4
4
 
5
5
  ## Acceptance
6
6
 
@@ -56,28 +56,16 @@ The **licensor** is the entity offering these terms, and the **software** is the
56
56
 
57
57
  ---
58
58
 
59
- This Elastic License 2.0 applies to the following 39 Advanced tier tools:
59
+ This Elastic License 2.0 applies to the following 13 Advanced tier tools:
60
60
 
61
- **Android Streaming & Monitoring:**
62
- - stream_adb_realtime, stop_adb_streaming, screenshot_history, watch_for_errors, multi_device_logs
61
+ **iOS Simulator Support:**
62
+ - screenshot_ios_simulator, list_ios_simulators, get_ios_simulator_info, get_ios_simulator_logs
63
63
 
64
- **Android Interaction:**
65
- - tap_screen, input_text, press_button, swipe_screen, launch_app, install_apk
64
+ **UI Inspection:**
65
+ - get_ui_tree, find_element, wait_for_element, get_element_property, assert_element
66
66
 
67
- **iOS Simulator Advanced:**
68
- - boot_ios_simulator, shutdown_ios_simulator, install_ios_app, launch_ios_app
69
- - terminate_ios_app, ios_open_url, ios_push_notification, ios_set_location
67
+ **Screen Analysis:**
68
+ - suggest_action, analyze_screen, get_screen_text
70
69
 
71
- **React DevTools:**
72
- - setup_react_devtools, check_devtools_connection, get_react_component_tree
73
- - inspect_react_component, search_react_components
74
-
75
- **Network Inspection:**
76
- - get_network_requests, start_network_monitoring, stop_network_monitoring
77
- - get_network_stats, analyze_request
78
-
79
- **Expo DevTools:**
80
- - check_expo_status, get_expo_config, expo_dev_menu, expo_reload, get_eas_builds
81
-
82
- **Performance Metrics:**
83
- - get_cpu_usage, get_memory_usage, get_fps_stats, get_battery_stats, get_performance_snapshot
70
+ **License:**
71
+ - set_license_key
package/README.md CHANGED
@@ -1,34 +1,29 @@
1
- # Claude Mobile Dev MCP
1
+ # Mobile Dev MCP
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@ggboi360/mobile-dev-mcp.svg)](https://www.npmjs.com/package/@ggboi360/mobile-dev-mcp)
4
4
  [![License: MIT (Core)](https://img.shields.io/badge/License-MIT%20(Core)-green.svg)](LICENSE-MIT)
5
5
  [![License: Elastic 2.0 (Advanced)](https://img.shields.io/badge/License-Elastic%202.0%20(Advanced)-blue.svg)](LICENSE-ELASTIC)
6
6
 
7
- An MCP (Model Context Protocol) server that gives Claude real-time access to mobile development tools. Stop copy-pasting logs and screenshots - let Claude see your app directly!
7
+ A **read-only** MCP server that gives Claude direct access to your mobile development environment. Stop copy-pasting logs and screenshots - let Claude see your app directly!
8
8
 
9
- **Open Core**: 17 core tools are MIT licensed (free forever). 39 advanced tools are source-available under Elastic License 2.0.
9
+ **Open Core**: 8 free tools are MIT licensed. 13 advanced tools are source-available under Elastic License 2.0.
10
10
 
11
11
  ## Features
12
12
 
13
- - **Metro Log Streaming** - Claude can read Metro bundler output in real-time
14
- - **ADB Logcat Integration** - Get React Native logs directly from your device/emulator
15
- - **iOS Simulator Support** - Screenshots and logs from iOS Simulators (macOS only)
16
- - **Screenshot Capture** - Claude can see your app's current screen (Android & iOS)
17
- - **Device Management** - List devices, check status, restart ADB
18
- - **App Management** - Get app info, clear data for fresh testing
19
- - **React DevTools Integration** - Inspect React component trees, props, and state
20
- - **Expo DevTools Integration** - Check Expo server status, manage config, trigger reloads, EAS builds
21
- - **Performance Metrics** - CPU, memory, FPS, and battery monitoring for your app
13
+ - **Screenshots** - Claude can see your app's current screen (Android & iOS)
14
+ - **Logs** - Metro bundler, ADB logcat, and iOS Simulator logs
15
+ - **Device Info** - List devices, check status, get detailed info
16
+ - **UI Inspection** - Get the full UI hierarchy with element details (Advanced)
17
+ - **Screen Analysis** - Find elements, suggest actions, extract text (Advanced)
22
18
 
23
19
  ## Pricing
24
20
 
25
- | Tier | Price | Features |
26
- |------|-------|----------|
27
- | **TRIAL** | Free (50 requests) | Try all 56 tools, then purchase to continue |
28
- | **BASIC** | $6/month | 17 core tools (Android + iOS basics), 50 log lines max, 1 device |
29
- | **ADVANCED** | $8/week, $12/month, or $99/year | All 56 tools, unlimited logs, 3 devices, streaming, DevTools, network, Expo, performance |
21
+ | Tier | Price | Tools | Description |
22
+ |------|-------|-------|-------------|
23
+ | **Free** | $0 | 8 | Android debugging - screenshots, logs, device info |
24
+ | **Advanced** | $18/month | 21 | + iOS support, UI inspection, screen analysis, multi-device |
30
25
 
31
- Purchase at: https://mobile-dev-mcp.com
26
+ **Need automation?** Screen streaming, tapping, typing, and workflows are available in [CodeControl](https://codecontrol.ai).
32
27
 
33
28
  ## Installation
34
29
 
@@ -52,17 +47,10 @@ Or add to your `~/.claude/claude_desktop_config.json`:
52
47
 
53
48
  ### Option 2: Manual Setup (Development)
54
49
  ```bash
55
- # Clone the repo
56
50
  git clone https://github.com/GGBoi360/mobile-dev-mcp.git
57
51
  cd mobile-dev-mcp
58
-
59
- # Install dependencies
60
52
  npm install
61
-
62
- # Build
63
53
  npm run build
64
-
65
- # Add to Claude Code
66
54
  claude mcp add mobile-dev -- node /path/to/mobile-dev-mcp/dist/index.js
67
55
  ```
68
56
 
@@ -72,191 +60,82 @@ claude mcp add mobile-dev -- node /path/to/mobile-dev-mcp/dist/index.js
72
60
  - **For Android:**
73
61
  - **ADB** (Android Debug Bridge) - Part of Android SDK Platform Tools
74
62
  - [Download Platform Tools](https://developer.android.com/tools/releases/platform-tools)
75
- - Make sure `adb` is in your PATH
76
- - **For iOS (macOS only):**
63
+ - **For iOS (macOS only, Advanced tier):**
77
64
  - **Xcode** with Command Line Tools
78
65
  - Run `xcode-select --install` if not installed
79
66
 
80
67
  ## Available Tools
81
68
 
82
- ### Core Tools - Android (All Tiers)
69
+ ### Free Tier (8 tools) - Android Only
83
70
 
84
71
  | Tool | Description |
85
72
  |------|-------------|
86
- | `get_metro_logs` | Get recent Metro bundler logs with optional filtering |
87
- | `get_adb_logs` | Get React Native logs from device via ADB logcat |
88
- | `screenshot_emulator` | Capture screenshot from Android emulator |
73
+ | `screenshot_emulator` | Capture screenshot from Android emulator/device |
89
74
  | `list_devices` | List connected Android devices/emulators |
75
+ | `get_device_info` | Get detailed Android device information |
76
+ | `get_app_info` | Get info about an installed Android app |
77
+ | `get_adb_logs` | Get React Native logs from device via ADB logcat |
78
+ | `get_metro_logs` | Get recent Metro bundler logs |
90
79
  | `check_metro_status` | Check if Metro bundler is running |
91
- | `get_app_info` | Get info about an installed app |
92
- | `clear_app_data` | Clear app data for fresh testing |
93
- | `restart_adb` | Restart ADB server when it gets stuck |
94
- | `get_device_info` | Get detailed device information |
95
- | `start_metro_logging` | Start capturing Metro logs in background |
96
- | `stop_metro_logging` | Stop Metro log capture |
97
-
98
- ### Core Tools - iOS Simulator (All Tiers, macOS only)
99
-
100
- | Tool | Description |
101
- |------|-------------|
102
- | `list_ios_simulators` | List all available iOS Simulators |
103
- | `screenshot_ios_simulator` | Capture screenshot from iOS Simulator |
104
- | `get_ios_simulator_logs` | Get logs from iOS Simulator |
105
- | `get_ios_simulator_info` | Get detailed simulator information |
106
-
107
- ### License Tools (All Tiers)
108
-
109
- | Tool | Description |
110
- |------|-------------|
111
80
  | `get_license_status` | Check your current license tier and limits |
112
- | `set_license_key` | Activate a license key to unlock paid features |
113
-
114
- ### Advanced Tools - Android (Advanced Tier Only)
115
-
116
- | Tool | Description |
117
- |------|-------------|
118
- | `stream_adb_realtime` | Start real-time ADB log streaming in background |
119
- | `stop_adb_streaming` | Stop real-time ADB log streaming |
120
- | `screenshot_history` | Get previously captured screenshots (stores up to 20) |
121
- | `watch_for_errors` | Monitor logs for specific error patterns |
122
- | `multi_device_logs` | Get logs from multiple devices simultaneously |
123
- | `tap_screen` | Tap on the screen at specific coordinates |
124
- | `input_text` | Type text into the currently focused input field |
125
- | `press_button` | Press hardware buttons (back, home, recent, volume, power) |
126
- | `swipe_screen` | Swipe/scroll on the screen |
127
- | `launch_app` | Launch an app by package name |
128
- | `install_apk` | Install an APK file to the device |
129
-
130
- ### Advanced Tools - iOS Simulator (Advanced Tier Only, macOS)
131
-
132
- | Tool | Description |
133
- |------|-------------|
134
- | `boot_ios_simulator` | Boot an iOS Simulator by UDID or name |
135
- | `shutdown_ios_simulator` | Shutdown an iOS Simulator (or all) |
136
- | `install_ios_app` | Install an app (.app bundle) on simulator |
137
- | `launch_ios_app` | Launch an app by bundle identifier |
138
- | `terminate_ios_app` | Force quit an app on simulator |
139
- | `ios_open_url` | Open a URL (deep links, universal links) |
140
- | `ios_push_notification` | Send a push notification to simulator |
141
- | `ios_set_location` | Set simulated GPS location |
142
-
143
- ### Advanced Tools - React DevTools (Advanced Tier Only)
144
-
145
- | Tool | Description |
146
- |------|-------------|
147
- | `setup_react_devtools` | Configure React DevTools connection and port forwarding |
148
- | `check_devtools_connection` | Check if DevTools is connected to your app |
149
- | `get_react_component_tree` | Get the React component hierarchy |
150
- | `inspect_react_component` | Inspect a component's props, state, and hooks |
151
- | `search_react_components` | Search for components by name |
152
-
153
- ### Advanced Tools - Network Inspection (Advanced Tier Only)
154
-
155
- | Tool | Description |
156
- |------|-------------|
157
- | `get_network_requests` | Get recent HTTP/HTTPS requests from app logs |
158
- | `start_network_monitoring` | Start real-time network request capture |
159
- | `stop_network_monitoring` | Stop monitoring and get summary |
160
- | `get_network_stats` | Get device network statistics (WiFi, data usage) |
161
- | `analyze_request` | Analyze a specific captured request in detail |
162
81
 
163
- ### Advanced Tools - Expo DevTools (Advanced Tier Only)
82
+ ### Advanced Tier (+13 tools = 21 total) - $18/month
164
83
 
165
84
  | Tool | Description |
166
85
  |------|-------------|
167
- | `check_expo_status` | Check Expo dev server status and connected devices |
168
- | `get_expo_config` | Get Expo project configuration (app.json/app.config.js) |
169
- | `expo_dev_menu` | Open the Expo developer menu on device |
170
- | `expo_reload` | Trigger a reload of the Expo app |
171
- | `get_eas_builds` | Get recent EAS build status and download links |
86
+ | `screenshot_ios_simulator` | Capture screenshot from iOS Simulator (macOS) |
87
+ | `list_ios_simulators` | List all available iOS Simulators (macOS) |
88
+ | `get_ios_simulator_info` | Get detailed iOS Simulator information (macOS) |
89
+ | `get_ios_simulator_logs` | Get logs from iOS Simulator (macOS) |
90
+ | `get_ui_tree` | Get the full UI hierarchy with element details |
91
+ | `find_element` | Find elements by text, resourceId, or contentDescription |
92
+ | `wait_for_element` | Wait for an element to appear (with configurable timeout) |
93
+ | `get_element_property` | Get specific property of an element |
94
+ | `assert_element` | Verify element exists or has expected state |
95
+ | `suggest_action` | Get AI-suggested actions based on current screen state |
96
+ | `analyze_screen` | Analyze current screen content and layout |
97
+ | `get_screen_text` | Extract all visible text from current screen |
98
+ | `set_license_key` | Activate a license key to unlock paid features |
172
99
 
173
- ### Advanced Tools - Performance Metrics (Advanced Tier Only)
100
+ ### Tier Limits
174
101
 
175
- | Tool | Description |
176
- |------|-------------|
177
- | `get_cpu_usage` | Get CPU usage for device or specific app |
178
- | `get_memory_usage` | Get memory usage (heap, native, PSS) for an app |
179
- | `get_fps_stats` | Get frame rendering stats (jank frames, percentiles) |
180
- | `get_battery_stats` | Get battery consumption by app |
181
- | `get_performance_snapshot` | Get all metrics at once for quick profiling |
102
+ | Feature | Free | Advanced |
103
+ |---------|------|----------|
104
+ | Tools | 8 | 21 |
105
+ | Log lines | 50 | 200 |
106
+ | Devices | 1 | 3 |
182
107
 
183
108
  ## Usage Examples
184
109
 
185
- Once installed, Claude can use these tools automatically:
186
-
187
- **You:** "Check if my Metro bundler is running"
188
- **Claude:** *Uses check_metro_status tool* "Metro is running on port 8081..."
189
-
190
- **You:** "Show me the recent React Native errors"
191
- **Claude:** *Uses get_adb_logs with filter='E'* "I found 3 errors in the logs..."
192
-
193
110
  **You:** "Take a screenshot of my app"
194
111
  **Claude:** *Uses screenshot_emulator* "Here's what your app looks like..." [shows image]
195
112
 
196
- **You:** "What's happening with my app? It crashed"
197
- **Claude:** *Uses get_adb_logs and screenshot_emulator* "I can see a null pointer exception in the logs, and the screen shows..."
198
-
199
- **You:** "Show me the React component tree"
200
- **Claude:** *Uses get_react_component_tree* "Here's your component hierarchy: App > Navigator > HomeScreen > ..."
201
-
202
- **You:** "Inspect the UserProfile component"
203
- **Claude:** *Uses search_react_components and inspect_react_component* "Found UserProfile with props: {userId: '123'}, state: {loading: false, data: {...}}"
204
-
205
- **You:** "What API calls is my app making?"
206
- **Claude:** *Uses get_network_requests* "Found 15 requests: GET /api/users (200), POST /api/login (200), GET /api/feed (500 error)..."
207
-
208
- **You:** "Monitor network traffic while I use the app"
209
- **Claude:** *Uses start_network_monitoring* "Network monitoring started. Make some requests, then I'll summarize them."
210
-
211
- **You:** "Is my Expo server running?"
212
- **Claude:** *Uses check_expo_status* "Expo is running on port 8081. Metro bundler active, 1 device connected."
213
-
214
- **You:** "Reload the app"
215
- **Claude:** *Uses expo_reload* "App reloaded! The JavaScript bundle has been refreshed."
216
-
217
- **You:** "Show me my EAS builds"
218
- **Claude:** *Uses get_eas_builds* "Found 3 recent builds: Android production (complete), iOS staging (in progress)..."
219
-
220
- **You:** "Is my app using too much memory?"
221
- **Claude:** *Uses get_memory_usage* "Your app is using 145 MB (PSS). Java heap: 45 MB, Native: 78 MB. This is within normal range."
113
+ **You:** "Show me the recent React Native errors"
114
+ **Claude:** *Uses get_adb_logs with level='E'* "I found 3 errors in the logs..."
222
115
 
223
- **You:** "Check the performance of com.myapp"
224
- **Claude:** *Uses get_performance_snapshot* "CPU: 12%, Memory: 145 MB, Frames: 2450 rendered, 3% janky. Battery: 85%, temp 32°C"
116
+ **You:** "What's on the screen right now?"
117
+ **Claude:** *Uses get_ui_tree* "I can see a login form with email and password fields..."
225
118
 
226
- **You:** "Why is my app laggy?"
227
- **Claude:** *Uses get_fps_stats* "Found 15% janky frames. 90th percentile frame time is 24ms (should be <16ms). Consider optimizing heavy UI operations."
119
+ **You:** "Find the Submit button"
120
+ **Claude:** *Uses find_element* "Found a clickable button with text 'Submit' at coordinates [540, 1200]"
228
121
 
229
122
  ## Workflow
230
123
 
231
124
  1. Start your Metro bundler: `npx expo start` or `npx react-native start`
232
- 2. Start your emulator (Genymotion, Android Studio, etc.)
125
+ 2. Start your emulator or connect your device
233
126
  3. Start Claude Code with this MCP server installed
234
127
  4. Ask Claude about your app - it can now see logs and screenshots!
235
128
 
236
- ## Roadmap
237
-
238
- - [x] Real-time log streaming (Advanced tier)
239
- - [x] Screenshot history (Advanced tier)
240
- - [x] Multi-device support (Advanced tier)
241
- - [x] Error pattern watching (Advanced tier)
242
- - [x] iOS Simulator support (screenshots, logs, app management)
243
- - [x] React DevTools integration (component tree, props, state inspection)
244
- - [x] Network request inspection (capture, monitor, analyze HTTP traffic)
245
- - [x] Expo DevTools integration (server status, config, reload, EAS builds)
246
- - [x] Performance metrics (CPU, memory, FPS, battery monitoring)
247
- - [ ] Team tier with centralized license management
248
-
249
129
  ## License Activation
250
130
 
251
- 1. Purchase a license at https://mobile-dev-mcp.com
131
+ 1. Purchase at https://codecontrol.ai/mcp
252
132
  2. You'll receive a license key via email
253
- 3. Use the `set_license_key` tool to activate: `set_license_key` with your key
254
- 4. Or add to config file: `~/.mobiledev-mcp/config.json`
133
+ 3. Use the `set_license_key` tool to activate
255
134
 
256
135
  ## Contributing
257
136
 
258
- PRs welcome! Help us make mobile dev with Claude actually usable.
137
+ PRs welcome! This is an open-core project - the 8 free tools are MIT licensed.
259
138
 
260
139
  ---
261
140
 
262
- Built with frustration and determination by the mobile dev community.
141
+ Built with frustration and determination. [Website](https://codecontrol.ai/mcp) | [GitHub](https://github.com/GGBoi360/mobile-dev-mcp)
package/dist/index.d.ts CHANGED
@@ -1,3 +1,15 @@
1
1
  #!/usr/bin/env node
2
+ /**
3
+ * Mobile Dev MCP - Read-Only Debugging Tools for Mobile Development
4
+ *
5
+ * A read-only MCP server for observing and debugging mobile apps:
6
+ * - Taking screenshots
7
+ * - Viewing device information
8
+ * - Reading logs
9
+ * - Inspecting UI hierarchy
10
+ * - Analyzing screen content
11
+ *
12
+ * License: Dual (MIT + Elastic License 2.0)
13
+ */
2
14
  export {};
3
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG"}