mobile-device-mcp 0.2.3 → 0.2.4
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/README.md +13 -7
- package/assets/icon.png +0 -0
- package/assets/icon.svg +63 -0
- package/dist/license.d.ts.map +1 -1
- package/dist/license.js +5 -3
- package/dist/license.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/icon.png" alt="mobile-device-mcp" width="128" height="128" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
<h1 align="center">mobile-device-mcp</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/mobile-device-mcp"><img src="https://img.shields.io/npm/v/mobile-device-mcp" alt="npm version" /></a>
|
|
9
|
+
<a href="https://www.npmjs.com/package/mobile-device-mcp"><img src="https://img.shields.io/npm/dm/mobile-device-mcp" alt="npm downloads" /></a>
|
|
10
|
+
<a href="https://github.com/saranshbamania/mobile-device-mcp"><img src="https://img.shields.io/github/stars/saranshbamania/mobile-device-mcp" alt="GitHub stars" /></a>
|
|
11
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/License-BSL%201.1-blue.svg" alt="License: BSL 1.1" /></a>
|
|
12
|
+
</p>
|
|
7
13
|
|
|
8
14
|
MCP server that gives AI coding assistants (Claude Code, Cursor, Windsurf) the ability to **see and interact with mobile devices**. 49 tools for screenshots, UI inspection, touch interaction, AI-powered visual analysis, Flutter widget tree inspection, video recording, and test generation.
|
|
9
15
|
|
|
@@ -135,9 +141,9 @@ Copy `.mcp.json` into any mobile project -- Flutter, React Native, Kotlin, Swift
|
|
|
135
141
|
| `get_current_app` | Get the foreground app |
|
|
136
142
|
| `get_logs` | Get logcat entries with filtering |
|
|
137
143
|
|
|
138
|
-
### Pro (35 additional tools) --
|
|
144
|
+
### Pro (35 additional tools) -- [$9/mo](https://rzp.io/rzp/fCvY9mNK)
|
|
139
145
|
|
|
140
|
-
|
|
146
|
+
**[Get Pro License](https://rzp.io/rzp/fCvY9mNK)** -- unlock all 49 tools. After payment, you'll receive a license key. Add it to your `.mcp.json`:
|
|
141
147
|
|
|
142
148
|
```json
|
|
143
149
|
{
|
package/assets/icon.png
ADDED
|
Binary file
|
package/assets/icon.svg
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" style="stop-color:#6366f1"/>
|
|
5
|
+
<stop offset="100%" style="stop-color:#8b5cf6"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
<linearGradient id="screen" x1="0%" y1="0%" x2="0%" y2="100%">
|
|
8
|
+
<stop offset="0%" style="stop-color:#1e1b4b"/>
|
|
9
|
+
<stop offset="100%" style="stop-color:#312e81"/>
|
|
10
|
+
</linearGradient>
|
|
11
|
+
<linearGradient id="eye" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
12
|
+
<stop offset="0%" style="stop-color:#06b6d4"/>
|
|
13
|
+
<stop offset="100%" style="stop-color:#22d3ee"/>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
</defs>
|
|
16
|
+
|
|
17
|
+
<!-- Rounded square background -->
|
|
18
|
+
<rect x="16" y="16" width="480" height="480" rx="96" ry="96" fill="url(#bg)"/>
|
|
19
|
+
|
|
20
|
+
<!-- Phone body -->
|
|
21
|
+
<rect x="156" y="72" width="200" height="368" rx="24" ry="24" fill="#1e1b4b" stroke="#a5b4fc" stroke-width="4"/>
|
|
22
|
+
|
|
23
|
+
<!-- Phone screen -->
|
|
24
|
+
<rect x="172" y="108" width="168" height="280" rx="8" ry="8" fill="url(#screen)"/>
|
|
25
|
+
|
|
26
|
+
<!-- AI Eye on screen -->
|
|
27
|
+
<!-- Outer eye shape -->
|
|
28
|
+
<path d="M196 248 Q256 200 316 248 Q256 296 196 248 Z" fill="none" stroke="url(#eye)" stroke-width="5" stroke-linecap="round"/>
|
|
29
|
+
|
|
30
|
+
<!-- Iris -->
|
|
31
|
+
<circle cx="256" cy="248" r="24" fill="url(#eye)" opacity="0.3"/>
|
|
32
|
+
|
|
33
|
+
<!-- Pupil -->
|
|
34
|
+
<circle cx="256" cy="248" r="14" fill="#22d3ee"/>
|
|
35
|
+
|
|
36
|
+
<!-- Pupil highlight -->
|
|
37
|
+
<circle cx="250" cy="242" r="5" fill="#ffffff" opacity="0.7"/>
|
|
38
|
+
|
|
39
|
+
<!-- Scan lines on screen (subtle) -->
|
|
40
|
+
<line x1="188" y1="160" x2="244" y2="160" stroke="#4f46e5" stroke-width="3" stroke-linecap="round" opacity="0.5"/>
|
|
41
|
+
<line x1="188" y1="176" x2="268" y2="176" stroke="#4f46e5" stroke-width="3" stroke-linecap="round" opacity="0.4"/>
|
|
42
|
+
<line x1="188" y1="192" x2="228" y2="192" stroke="#4f46e5" stroke-width="3" stroke-linecap="round" opacity="0.3"/>
|
|
43
|
+
|
|
44
|
+
<!-- Bottom UI dots on screen -->
|
|
45
|
+
<circle cx="228" cy="340" r="6" fill="#4f46e5" opacity="0.5"/>
|
|
46
|
+
<circle cx="256" cy="340" r="6" fill="#22d3ee" opacity="0.8"/>
|
|
47
|
+
<circle cx="284" cy="340" r="6" fill="#4f46e5" opacity="0.5"/>
|
|
48
|
+
|
|
49
|
+
<!-- Connection signals from phone (left side) -->
|
|
50
|
+
<path d="M148 200 Q120 220 128 248" fill="none" stroke="#a5b4fc" stroke-width="3" stroke-linecap="round" opacity="0.6"/>
|
|
51
|
+
<path d="M136 188 Q100 216 112 252" fill="none" stroke="#a5b4fc" stroke-width="3" stroke-linecap="round" opacity="0.4"/>
|
|
52
|
+
|
|
53
|
+
<!-- Connection signals from phone (right side) -->
|
|
54
|
+
<path d="M364 200 Q392 220 384 248" fill="none" stroke="#a5b4fc" stroke-width="3" stroke-linecap="round" opacity="0.6"/>
|
|
55
|
+
<path d="M376 188 Q412 216 400 252" fill="none" stroke="#a5b4fc" stroke-width="3" stroke-linecap="round" opacity="0.4"/>
|
|
56
|
+
|
|
57
|
+
<!-- Touch indicator (tap finger) -->
|
|
58
|
+
<circle cx="300" cy="296" r="10" fill="#f472b6" opacity="0.6"/>
|
|
59
|
+
<circle cx="300" cy="296" r="18" fill="none" stroke="#f472b6" stroke-width="2" opacity="0.3"/>
|
|
60
|
+
|
|
61
|
+
<!-- Home button / bar -->
|
|
62
|
+
<rect x="228" y="408" width="56" height="6" rx="3" ry="3" fill="#a5b4fc" opacity="0.5"/>
|
|
63
|
+
</svg>
|
package/dist/license.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,sCAAsC;AACtC,eAAO,MAAM,UAAU,aAoBrB,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB;;;;;;
|
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,sCAAsC;AACtC,eAAO,MAAM,UAAU,aAoBrB,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB;;;;;;CAiB/B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAU7C;AAED,sCAAsC;AACtC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAMxD"}
|
package/dist/license.js
CHANGED
|
@@ -30,11 +30,13 @@ export const PRO_UPGRADE_MESSAGE = {
|
|
|
30
30
|
{
|
|
31
31
|
type: "text",
|
|
32
32
|
text: [
|
|
33
|
-
"This is a Pro feature. Upgrade to unlock all 49 tools
|
|
33
|
+
"This is a Pro feature. Upgrade to Pro to unlock all 49 tools.",
|
|
34
34
|
"",
|
|
35
|
-
"
|
|
35
|
+
"Pro includes: AI vision, Flutter inspection, iOS simulator, video recording, test generation, and more.",
|
|
36
36
|
"",
|
|
37
|
-
"
|
|
37
|
+
"Get Pro: https://rzp.io/rzp/fCvY9mNK",
|
|
38
|
+
"",
|
|
39
|
+
"After payment, you'll receive a license key. Add it to your .mcp.json:",
|
|
38
40
|
' "MOBILE_MCP_LICENSE_KEY": "your-key-here"',
|
|
39
41
|
].join("\n"),
|
|
40
42
|
},
|
package/dist/license.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license.js","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,6CAA6C;AAC7C,+DAA+D;AAE/D,MAAM,MAAM,GAAG,qBAAqB,CAAC;AASrC,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IAChC,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,4BAA4B;IAC5B,iBAAiB;IACjB,iBAAiB;IACjB,wBAAwB;IACxB,KAAK;IACL,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,WAAW;IACX,WAAW;IACX,2BAA2B;IAC3B,WAAW;IACX,iBAAiB;IACjB,WAAW;IACX,UAAU;CACX,CAAC,CAAC;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE;QACP;YACE,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE;gBACJ,
|
|
1
|
+
{"version":3,"file":"license.js","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,6CAA6C;AAC7C,+DAA+D;AAE/D,MAAM,MAAM,GAAG,qBAAqB,CAAC;AASrC,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IAChC,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,4BAA4B;IAC5B,iBAAiB;IACjB,iBAAiB;IACjB,wBAAwB;IACxB,KAAK;IACL,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,WAAW;IACX,WAAW;IACX,2BAA2B;IAC3B,WAAW;IACX,iBAAiB;IACjB,WAAW;IACX,UAAU;CACX,CAAC,CAAC;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE;QACP;YACE,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE;gBACJ,+DAA+D;gBAC/D,EAAE;gBACF,yGAAyG;gBACzG,EAAE;gBACF,sCAAsC;gBACtC,EAAE;gBACF,wEAAwE;gBACxE,6CAA6C;aAC9C,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;KACF;IACD,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAE/C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,qEAAqE;IACrE,6DAA6D;IAC7D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,gBAAgB,CAAC,IAAiB;IAChD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,wCAAwC,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,yDAAyD,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mobile-device-mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "MCP server that gives AI coding assistants (Claude, Cursor, Windsurf) the ability to see and interact with Android mobile devices via ADB — AI-powered visual inspection, element finding, and device automation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|