mcp-maestro-mobile-ai 1.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.
@@ -0,0 +1,180 @@
1
+ # MCP Server Setup Guide
2
+
3
+ ## Setting up Maestro MCP Server with AI Clients
4
+
5
+ This guide explains how to configure the Maestro MCP Server with different AI clients.
6
+
7
+ ---
8
+
9
+ ## Prerequisites
10
+
11
+ 1. **Node.js 18+** installed
12
+ 2. **Java 17+** installed
13
+ 3. **Maestro CLI** installed
14
+ 4. **Android Emulator** running
15
+ 5. Dependencies installed: `npm install`
16
+
17
+ ---
18
+
19
+ ## Cursor Setup
20
+
21
+ ### Step 1: Find your Cursor MCP config file
22
+
23
+ The config file is located at:
24
+ - **Windows**: `%USERPROFILE%\.cursor\mcp.json`
25
+ - **macOS**: `~/.cursor/mcp.json`
26
+ - **Linux**: `~/.cursor/mcp.json`
27
+
28
+ ### Step 2: Add the Maestro server
29
+
30
+ Edit the `mcp.json` file and add:
31
+
32
+ ```json
33
+ {
34
+ "mcpServers": {
35
+ "maestro": {
36
+ "command": "node",
37
+ "args": ["C:/path/to/ai-automation-mobile/src/mcp-server/index.js"],
38
+ "env": {
39
+ "APP_ID": "com.google.android.youtube"
40
+ }
41
+ }
42
+ }
43
+ }
44
+ ```
45
+
46
+ **Important:** Replace the path with your actual project path.
47
+
48
+ ### Step 3: Restart Cursor
49
+
50
+ Close and reopen Cursor for the changes to take effect.
51
+
52
+ ### Step 4: Verify
53
+
54
+ In Cursor's AI chat, type:
55
+ ```
56
+ List the available MCP tools
57
+ ```
58
+
59
+ You should see the Maestro tools listed.
60
+
61
+ ---
62
+
63
+ ## VS Code with GitHub Copilot
64
+
65
+ ### Option 1: Copilot MCP Extension (if available)
66
+
67
+ If there's an MCP extension for VS Code Copilot, configure it similarly to Cursor.
68
+
69
+ ### Option 2: Run Server Manually
70
+
71
+ 1. Start the MCP server:
72
+ ```bash
73
+ cd C:\Krunal\Practice\ai-automation-mobile
74
+ npm start
75
+ ```
76
+
77
+ 2. The server will run on stdio and can be connected to compatible clients.
78
+
79
+ ---
80
+
81
+ ## Testing the Setup
82
+
83
+ ### 1. Check Configuration
84
+
85
+ Ask the AI:
86
+ ```
87
+ Get the app configuration
88
+ ```
89
+
90
+ Expected response:
91
+ ```json
92
+ {
93
+ "success": true,
94
+ "config": {
95
+ "appId": "com.google.android.youtube",
96
+ "platform": "android"
97
+ }
98
+ }
99
+ ```
100
+
101
+ ### 2. List Prompt Files
102
+
103
+ Ask the AI:
104
+ ```
105
+ List available prompt files
106
+ ```
107
+
108
+ ### 3. Run a Test
109
+
110
+ Ask the AI:
111
+ ```
112
+ Run a test: "Test that user can open YouTube and search for TechGuru"
113
+ ```
114
+
115
+ ---
116
+
117
+ ## Environment Variables
118
+
119
+ You can pass environment variables in the MCP config:
120
+
121
+ ```json
122
+ {
123
+ "mcpServers": {
124
+ "maestro": {
125
+ "command": "node",
126
+ "args": ["path/to/src/mcp-server/index.js"],
127
+ "env": {
128
+ "APP_ID": "com.mycompany.myapp",
129
+ "ANDROID_HOME": "C:/Users/Me/Android/Sdk",
130
+ "LOG_LEVEL": "debug"
131
+ }
132
+ }
133
+ }
134
+ }
135
+ ```
136
+
137
+ Or create a `.env` file in the project root.
138
+
139
+ ---
140
+
141
+ ## Troubleshooting
142
+
143
+ ### Server doesn't start
144
+
145
+ 1. Check Node.js version: `node --version` (must be 18+)
146
+ 2. Check dependencies: `npm install`
147
+ 3. Check for errors in `output/logs/mcp-server.log`
148
+
149
+ ### Tools not appearing
150
+
151
+ 1. Restart your editor
152
+ 2. Check the MCP config path is correct
153
+ 3. Verify the server path in the config
154
+
155
+ ### Tests fail with "No emulator"
156
+
157
+ 1. Start an Android emulator
158
+ 2. Verify with `adb devices`
159
+
160
+ ### "APP_ID not configured"
161
+
162
+ Set the `APP_ID` in either:
163
+ - The MCP config's `env` section
164
+ - A `.env` file in the project root
165
+
166
+ ---
167
+
168
+ ## Available Tools
169
+
170
+ | Tool | Description |
171
+ |------|-------------|
172
+ | `read_prompt_file` | Read test prompts from a file |
173
+ | `list_prompt_files` | List available prompt files |
174
+ | `get_app_config` | Get app configuration |
175
+ | `validate_maestro_yaml` | Validate Maestro YAML |
176
+ | `run_test` | Run a single test |
177
+ | `run_test_suite` | Run multiple tests |
178
+ | `get_test_results` | Get test results |
179
+ | `take_screenshot` | Take a screenshot |
180
+
@@ -0,0 +1,198 @@
1
+ # Privacy Policy
2
+
3
+ > **Maestro MCP Server** - Data Privacy Statement
4
+
5
+ ---
6
+
7
+ ## Summary
8
+
9
+ **Maestro MCP does not collect, transmit, or store any user data externally.**
10
+
11
+ All operations are performed locally on your machine. No data is sent to external servers, cloud services, or third parties.
12
+
13
+ ---
14
+
15
+ ## Data Collection
16
+
17
+ ### What We DO NOT Collect
18
+
19
+ | Data Type | Collected? | Notes |
20
+ |-----------|------------|-------|
21
+ | Personal information | ❌ No | Never collected |
22
+ | Usage analytics | ❌ No | No tracking |
23
+ | Crash reports | ❌ No | Not sent anywhere |
24
+ | Test results | ❌ No | Stays local |
25
+ | Screenshots | ❌ No | Stays local |
26
+ | Device information | ❌ No | Not transmitted |
27
+ | IP addresses | ❌ No | No network calls |
28
+
29
+ ### What Stays Local
30
+
31
+ | Data Type | Location | Purpose |
32
+ |-----------|----------|---------|
33
+ | Test results | `output/results/` | Test history |
34
+ | Screenshots | `output/screenshots/` | Failure debugging |
35
+ | Logs | `output/logs/` | Troubleshooting |
36
+ | Configuration | `.env` | Your settings |
37
+
38
+ ---
39
+
40
+ ## Network Activity
41
+
42
+ ### External Connections
43
+
44
+ **Maestro MCP makes ZERO external network connections.**
45
+
46
+ The only network activity is:
47
+
48
+ 1. **npm install** - When you install the package (npm registry)
49
+ 2. **ADB** - Local connection to Android device/emulator
50
+
51
+ ### No Telemetry
52
+
53
+ - ❌ No usage statistics sent
54
+ - ❌ No error reports sent
55
+ - ❌ No heartbeats or pings
56
+ - ❌ No update checks (beyond npm)
57
+ - ❌ No analytics of any kind
58
+
59
+ ---
60
+
61
+ ## Third-Party Services
62
+
63
+ ### Dependencies
64
+
65
+ Maestro MCP uses the following npm packages:
66
+
67
+ | Package | Purpose | Privacy |
68
+ |---------|---------|---------|
69
+ | @modelcontextprotocol/sdk | MCP protocol | No telemetry |
70
+ | winston | Logging | Local only |
71
+ | js-yaml | YAML parsing | Local only |
72
+ | zod | Validation | Local only |
73
+ | dotenv | Config loading | Local only |
74
+
75
+ None of these dependencies collect or transmit data.
76
+
77
+ ### External Tools
78
+
79
+ | Tool | Privacy |
80
+ |------|---------|
81
+ | Maestro CLI | Local execution only |
82
+ | ADB | Local device communication |
83
+ | Android Emulator | Local execution |
84
+
85
+ ---
86
+
87
+ ## Your Data
88
+
89
+ ### Data Ownership
90
+
91
+ - **You own all data** generated by Maestro MCP
92
+ - Test results, screenshots, and logs are yours
93
+ - You control retention and deletion
94
+
95
+ ### Data Location
96
+
97
+ All data is stored in your project directory:
98
+
99
+ ```
100
+ your-project/
101
+ ├── output/
102
+ │ ├── results/ ← Your test results
103
+ │ ├── screenshots/ ← Your screenshots
104
+ │ └── logs/ ← Your logs
105
+ └── .env ← Your configuration
106
+ ```
107
+
108
+ ### Data Deletion
109
+
110
+ You can delete all generated data at any time:
111
+
112
+ ```bash
113
+ # Delete all results
114
+ rm -rf output/
115
+
116
+ # Or use the cleanup tool
117
+ cleanup_results --keepLast 0 --deleteScreenshots true
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Screenshots & Sensitive Data
123
+
124
+ ### Warning
125
+
126
+ Screenshots captured during testing may contain:
127
+
128
+ - Personal information visible on screen
129
+ - Authentication credentials
130
+ - Financial data
131
+ - Health information
132
+ - Business confidential information
133
+
134
+ ### Recommendations
135
+
136
+ 1. **Use test accounts** with fake data
137
+ 2. **Review screenshots** before sharing
138
+ 3. **Implement cleanup policies** for old screenshots
139
+ 4. **Do not commit** screenshots to version control
140
+ 5. **Mask sensitive data** in test applications
141
+
142
+ ---
143
+
144
+ ## Compliance
145
+
146
+ ### GDPR
147
+
148
+ Maestro MCP is GDPR-friendly:
149
+
150
+ - ✅ No personal data collection
151
+ - ✅ No data processing
152
+ - ✅ No data transfer
153
+ - ✅ Full user control
154
+
155
+ ### CCPA
156
+
157
+ Maestro MCP complies with CCPA:
158
+
159
+ - ✅ No sale of personal information
160
+ - ✅ No data collection to sell
161
+ - ✅ Complete transparency
162
+
163
+ ### Other Regulations
164
+
165
+ | Regulation | Status |
166
+ |------------|--------|
167
+ | GDPR | ✅ Compatible |
168
+ | CCPA | ✅ Compatible |
169
+ | HIPAA | ⚠️ User responsibility* |
170
+ | PCI DSS | ⚠️ User responsibility* |
171
+ | SOC 2 | ✅ Compatible (no cloud) |
172
+
173
+ *Screenshots may contain regulated data - user must manage appropriately.
174
+
175
+ ---
176
+
177
+ ## Contact
178
+
179
+ For privacy inquiries:
180
+
181
+ - **GitHub Issues**: [Public questions](https://github.com/krunal-mahera/mcp-maestro-mobile-ai/issues)
182
+ - **Email**: For sensitive privacy matters
183
+
184
+ ---
185
+
186
+ ## Changes to This Policy
187
+
188
+ We will update this policy as needed. Changes will be:
189
+
190
+ - Documented in CHANGELOG.md
191
+ - Announced in release notes
192
+ - Effective immediately upon publication
193
+
194
+ ---
195
+
196
+ *Last Updated: January 2025*
197
+ *Version: 1.0.0*
198
+