@ggboi360/mobile-dev-mcp 0.1.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.
- package/LICENSE +53 -0
- package/README.md +193 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2320 -0
- package/dist/index.js.map +1 -0
- package/dist/license.d.ts +103 -0
- package/dist/license.d.ts.map +1 -0
- package/dist/license.js +606 -0
- package/dist/license.js.map +1 -0
- package/dist/license.test.d.ts +2 -0
- package/dist/license.test.d.ts.map +1 -0
- package/dist/license.test.js +198 -0
- package/dist/license.test.js.map +1 -0
- package/dist/tools.test.d.ts +2 -0
- package/dist/tools.test.d.ts.map +1 -0
- package/dist/tools.test.js +337 -0
- package/dist/tools.test.js.map +1 -0
- package/package.json +57 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
Elastic License 2.0 (ELv2)
|
|
2
|
+
|
|
3
|
+
## Acceptance
|
|
4
|
+
|
|
5
|
+
By using the software, you agree to all of the terms and conditions below.
|
|
6
|
+
|
|
7
|
+
## Copyright License
|
|
8
|
+
|
|
9
|
+
The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license to use, copy, distribute, make available, and prepare derivative works of the software, in each case subject to the limitations and conditions below.
|
|
10
|
+
|
|
11
|
+
## Limitations
|
|
12
|
+
|
|
13
|
+
You may not provide the software to third parties as a hosted or managed service, where the service provides users with access to any substantial set of the features or functionality of the software.
|
|
14
|
+
|
|
15
|
+
You may not move, change, disable, or circumvent the license key functionality in the software, and you may not remove or obscure any functionality in the software that is protected by the license key.
|
|
16
|
+
|
|
17
|
+
You may not alter, remove, or obscure any licensing, copyright, or other notices of the licensor in the software. Any use of the licensor's trademarks is subject to applicable law.
|
|
18
|
+
|
|
19
|
+
## Patents
|
|
20
|
+
|
|
21
|
+
The licensor grants you a license, under any patent claims the licensor can license, or becomes able to license, to make, have made, use, sell, offer for sale, import and have imported the software, in each case subject to the limitations and conditions in this license. This license does not cover any patent claims that you cause to be infringed by modifications or additions to the software. If you or your company make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
|
|
22
|
+
|
|
23
|
+
## Notices
|
|
24
|
+
|
|
25
|
+
You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms.
|
|
26
|
+
|
|
27
|
+
If you modify the software, you must include in any modified copies of the software prominent notices stating that you have modified the software.
|
|
28
|
+
|
|
29
|
+
## No Other Rights
|
|
30
|
+
|
|
31
|
+
These terms do not imply any licenses other than those expressly granted in these terms.
|
|
32
|
+
|
|
33
|
+
## Termination
|
|
34
|
+
|
|
35
|
+
If you use the software in violation of these terms, such use is not licensed, and your licenses will automatically terminate. If the licensor provides you with a notice of your violation, and you cease all violation of this license no later than 30 days after you receive that notice, your licenses will be reinstated retroactively. However, if you violate these terms after such reinstatement, any additional violation of these terms will cause your licenses to terminate automatically and permanently.
|
|
36
|
+
|
|
37
|
+
## No Liability
|
|
38
|
+
|
|
39
|
+
*As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.*
|
|
40
|
+
|
|
41
|
+
## Definitions
|
|
42
|
+
|
|
43
|
+
The **licensor** is the entity offering these terms, and the **software** is the software the licensor makes available under these terms, including any portion of it.
|
|
44
|
+
|
|
45
|
+
**you** refers to the individual or entity agreeing to these terms.
|
|
46
|
+
|
|
47
|
+
**your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
|
|
48
|
+
|
|
49
|
+
**your licenses** are all the licenses granted to you for the software under these terms.
|
|
50
|
+
|
|
51
|
+
**use** means anything you do with the software requiring one of your licenses.
|
|
52
|
+
|
|
53
|
+
**trademark** means trademarks, service marks, and similar rights.
|
package/README.md
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# Claude Mobile Dev MCP
|
|
2
|
+
|
|
3
|
+
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!
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Metro Log Streaming** - Claude can read Metro bundler output in real-time
|
|
8
|
+
- **ADB Logcat Integration** - Get React Native logs directly from your device/emulator
|
|
9
|
+
- **iOS Simulator Support** - Screenshots and logs from iOS Simulators (macOS only)
|
|
10
|
+
- **Screenshot Capture** - Claude can see your app's current screen (Android & iOS)
|
|
11
|
+
- **Device Management** - List devices, check status, restart ADB
|
|
12
|
+
- **App Management** - Get app info, clear data for fresh testing
|
|
13
|
+
- **React DevTools Integration** - Inspect React component trees, props, and state
|
|
14
|
+
|
|
15
|
+
## Pricing
|
|
16
|
+
|
|
17
|
+
| Tier | Price | Features |
|
|
18
|
+
|------|-------|----------|
|
|
19
|
+
| **TRIAL** | Free (50 requests) | Try all 41 tools, then purchase to continue |
|
|
20
|
+
| **BASIC** | $6/month | 17 core tools (Android + iOS basics), 50 log lines max, 1 device |
|
|
21
|
+
| **ADVANCED** | $8/week, $12/month, or $99/year | All 41 tools, unlimited logs, 3 devices, real-time streaming, React DevTools |
|
|
22
|
+
|
|
23
|
+
Purchase at: https://mobile-dev-mcp.com
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
### Option 1: Claude Code Plugin (Recommended)
|
|
28
|
+
```bash
|
|
29
|
+
# In Claude Code
|
|
30
|
+
/plugin install GGBoi360/claude-mobile-dev-mcp
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Option 2: Manual MCP Setup
|
|
34
|
+
```bash
|
|
35
|
+
# Clone the repo
|
|
36
|
+
git clone https://github.com/GGBoi360/claude-mobile-dev-mcp.git
|
|
37
|
+
cd claude-mobile-dev-mcp
|
|
38
|
+
|
|
39
|
+
# Install dependencies
|
|
40
|
+
npm install
|
|
41
|
+
|
|
42
|
+
# Build
|
|
43
|
+
npm run build
|
|
44
|
+
|
|
45
|
+
# Add to Claude Code
|
|
46
|
+
claude mcp add mobile-dev -- node /path/to/claude-mobile-dev-mcp/dist/index.js
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Option 3: NPX (Coming Soon)
|
|
50
|
+
```bash
|
|
51
|
+
claude mcp add mobile-dev -- npx claude-mobile-dev-mcp
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Requirements
|
|
55
|
+
|
|
56
|
+
- **Node.js** >= 18.0.0
|
|
57
|
+
- **For Android:**
|
|
58
|
+
- **ADB** (Android Debug Bridge) - Part of Android SDK Platform Tools
|
|
59
|
+
- [Download Platform Tools](https://developer.android.com/tools/releases/platform-tools)
|
|
60
|
+
- Make sure `adb` is in your PATH
|
|
61
|
+
- **For iOS (macOS only):**
|
|
62
|
+
- **Xcode** with Command Line Tools
|
|
63
|
+
- Run `xcode-select --install` if not installed
|
|
64
|
+
|
|
65
|
+
## Available Tools
|
|
66
|
+
|
|
67
|
+
### Core Tools - Android (All Tiers)
|
|
68
|
+
|
|
69
|
+
| Tool | Description |
|
|
70
|
+
|------|-------------|
|
|
71
|
+
| `get_metro_logs` | Get recent Metro bundler logs with optional filtering |
|
|
72
|
+
| `get_adb_logs` | Get React Native logs from device via ADB logcat |
|
|
73
|
+
| `screenshot_emulator` | Capture screenshot from Android emulator |
|
|
74
|
+
| `list_devices` | List connected Android devices/emulators |
|
|
75
|
+
| `check_metro_status` | Check if Metro bundler is running |
|
|
76
|
+
| `get_app_info` | Get info about an installed app |
|
|
77
|
+
| `clear_app_data` | Clear app data for fresh testing |
|
|
78
|
+
| `restart_adb` | Restart ADB server when it gets stuck |
|
|
79
|
+
| `get_device_info` | Get detailed device information |
|
|
80
|
+
| `start_metro_logging` | Start capturing Metro logs in background |
|
|
81
|
+
| `stop_metro_logging` | Stop Metro log capture |
|
|
82
|
+
|
|
83
|
+
### Core Tools - iOS Simulator (All Tiers, macOS only)
|
|
84
|
+
|
|
85
|
+
| Tool | Description |
|
|
86
|
+
|------|-------------|
|
|
87
|
+
| `list_ios_simulators` | List all available iOS Simulators |
|
|
88
|
+
| `screenshot_ios_simulator` | Capture screenshot from iOS Simulator |
|
|
89
|
+
| `get_ios_simulator_logs` | Get logs from iOS Simulator |
|
|
90
|
+
| `get_ios_simulator_info` | Get detailed simulator information |
|
|
91
|
+
|
|
92
|
+
### License Tools (All Tiers)
|
|
93
|
+
|
|
94
|
+
| Tool | Description |
|
|
95
|
+
|------|-------------|
|
|
96
|
+
| `get_license_status` | Check your current license tier and limits |
|
|
97
|
+
| `set_license_key` | Activate a license key to unlock paid features |
|
|
98
|
+
|
|
99
|
+
### Advanced Tools - Android (Advanced Tier Only)
|
|
100
|
+
|
|
101
|
+
| Tool | Description |
|
|
102
|
+
|------|-------------|
|
|
103
|
+
| `stream_adb_realtime` | Start real-time ADB log streaming in background |
|
|
104
|
+
| `stop_adb_streaming` | Stop real-time ADB log streaming |
|
|
105
|
+
| `screenshot_history` | Get previously captured screenshots (stores up to 20) |
|
|
106
|
+
| `watch_for_errors` | Monitor logs for specific error patterns |
|
|
107
|
+
| `multi_device_logs` | Get logs from multiple devices simultaneously |
|
|
108
|
+
| `tap_screen` | Tap on the screen at specific coordinates |
|
|
109
|
+
| `input_text` | Type text into the currently focused input field |
|
|
110
|
+
| `press_button` | Press hardware buttons (back, home, recent, volume, power) |
|
|
111
|
+
| `swipe_screen` | Swipe/scroll on the screen |
|
|
112
|
+
| `launch_app` | Launch an app by package name |
|
|
113
|
+
| `install_apk` | Install an APK file to the device |
|
|
114
|
+
|
|
115
|
+
### Advanced Tools - iOS Simulator (Advanced Tier Only, macOS)
|
|
116
|
+
|
|
117
|
+
| Tool | Description |
|
|
118
|
+
|------|-------------|
|
|
119
|
+
| `boot_ios_simulator` | Boot an iOS Simulator by UDID or name |
|
|
120
|
+
| `shutdown_ios_simulator` | Shutdown an iOS Simulator (or all) |
|
|
121
|
+
| `install_ios_app` | Install an app (.app bundle) on simulator |
|
|
122
|
+
| `launch_ios_app` | Launch an app by bundle identifier |
|
|
123
|
+
| `terminate_ios_app` | Force quit an app on simulator |
|
|
124
|
+
| `ios_open_url` | Open a URL (deep links, universal links) |
|
|
125
|
+
| `ios_push_notification` | Send a push notification to simulator |
|
|
126
|
+
| `ios_set_location` | Set simulated GPS location |
|
|
127
|
+
|
|
128
|
+
### Advanced Tools - React DevTools (Advanced Tier Only)
|
|
129
|
+
|
|
130
|
+
| Tool | Description |
|
|
131
|
+
|------|-------------|
|
|
132
|
+
| `setup_react_devtools` | Configure React DevTools connection and port forwarding |
|
|
133
|
+
| `check_devtools_connection` | Check if DevTools is connected to your app |
|
|
134
|
+
| `get_react_component_tree` | Get the React component hierarchy |
|
|
135
|
+
| `inspect_react_component` | Inspect a component's props, state, and hooks |
|
|
136
|
+
| `search_react_components` | Search for components by name |
|
|
137
|
+
|
|
138
|
+
## Usage Examples
|
|
139
|
+
|
|
140
|
+
Once installed, Claude can use these tools automatically:
|
|
141
|
+
|
|
142
|
+
**You:** "Check if my Metro bundler is running"
|
|
143
|
+
**Claude:** *Uses check_metro_status tool* "Metro is running on port 8081..."
|
|
144
|
+
|
|
145
|
+
**You:** "Show me the recent React Native errors"
|
|
146
|
+
**Claude:** *Uses get_adb_logs with filter='E'* "I found 3 errors in the logs..."
|
|
147
|
+
|
|
148
|
+
**You:** "Take a screenshot of my app"
|
|
149
|
+
**Claude:** *Uses screenshot_emulator* "Here's what your app looks like..." [shows image]
|
|
150
|
+
|
|
151
|
+
**You:** "What's happening with my app? It crashed"
|
|
152
|
+
**Claude:** *Uses get_adb_logs and screenshot_emulator* "I can see a null pointer exception in the logs, and the screen shows..."
|
|
153
|
+
|
|
154
|
+
**You:** "Show me the React component tree"
|
|
155
|
+
**Claude:** *Uses get_react_component_tree* "Here's your component hierarchy: App > Navigator > HomeScreen > ..."
|
|
156
|
+
|
|
157
|
+
**You:** "Inspect the UserProfile component"
|
|
158
|
+
**Claude:** *Uses search_react_components and inspect_react_component* "Found UserProfile with props: {userId: '123'}, state: {loading: false, data: {...}}"
|
|
159
|
+
|
|
160
|
+
## Workflow
|
|
161
|
+
|
|
162
|
+
1. Start your Metro bundler: `npx expo start` or `npx react-native start`
|
|
163
|
+
2. Start your emulator (Genymotion, Android Studio, etc.)
|
|
164
|
+
3. Start Claude Code with this MCP server installed
|
|
165
|
+
4. Ask Claude about your app - it can now see logs and screenshots!
|
|
166
|
+
|
|
167
|
+
## Roadmap
|
|
168
|
+
|
|
169
|
+
- [x] Real-time log streaming (Advanced tier)
|
|
170
|
+
- [x] Screenshot history (Advanced tier)
|
|
171
|
+
- [x] Multi-device support (Advanced tier)
|
|
172
|
+
- [x] Error pattern watching (Advanced tier)
|
|
173
|
+
- [x] iOS Simulator support (screenshots, logs, app management)
|
|
174
|
+
- [x] React DevTools integration (component tree, props, state inspection)
|
|
175
|
+
- [ ] Expo DevTools integration
|
|
176
|
+
- [ ] Network request inspection
|
|
177
|
+
- [ ] Performance metrics
|
|
178
|
+
- [ ] Team tier with centralized license management
|
|
179
|
+
|
|
180
|
+
## License Activation
|
|
181
|
+
|
|
182
|
+
1. Purchase a license at https://mobile-dev-mcp.com
|
|
183
|
+
2. You'll receive a license key via email
|
|
184
|
+
3. Use the `set_license_key` tool to activate: `set_license_key` with your key
|
|
185
|
+
4. Or add to config file: `~/.mobiledev-mcp/config.json`
|
|
186
|
+
|
|
187
|
+
## Contributing
|
|
188
|
+
|
|
189
|
+
PRs welcome! Help us make mobile dev with Claude actually usable.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
Built with frustration and determination by the mobile dev community.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|