mcp-maestro-mobile-ai 1.3.1 → 1.6.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/CHANGELOG.md CHANGED
@@ -1,152 +1,344 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [Unreleased]
9
-
10
- ### Planned
11
- - Security boundaries (Safe Mode)
12
- - JUnit XML report generation
13
- - CI headless mode
14
- - iOS support
15
-
16
- ---
17
-
18
- ## [1.3.1] - 2025-01-06
19
-
20
- ### Fixed
21
- - **MCP Schema Fix**: Fixed `generate_report` tool array parameter missing `items` definition
22
- - This was causing "tool parameters array type must have items" validation error
23
- - Now properly defines the structure of test result objects
24
-
25
- ---
26
-
27
- ## [1.2.0] - 2025-01-06
28
-
29
- ### Added
30
- - **YAML Generation Instructions System**: Ensures consistent YAML generation across different environments
31
- - `get_yaml_instructions` - AI MUST call this before generating YAML (provides exact rules)
32
- - `validate_yaml_structure` - Validates YAML for common issues (like missing tapOn before inputText)
33
- - `get_test_pattern` - Get standard patterns for login, search, navigation, form tests
34
- - **Critical Fix**: Input text pattern now enforced - prevents password going to username field issue
35
- - Standard test patterns for common scenarios (login, search, navigation, form)
36
-
37
- ### Fixed
38
- - YAML generation inconsistency between different environments
39
- - Text input going to wrong fields due to missing tapOn commands
40
-
41
- ---
42
-
43
- ## [1.1.1] - 2025-01-06
44
-
45
- ### Fixed
46
- - Version bump for npm publish
47
-
48
- ---
49
-
50
- ## [1.1.0] - 2025-01-06
51
-
52
- ### Changed
53
- - **Package Renamed**: Changed from `@krunal.mahera/maestro-mcp` to `mcp-maestro-mobile-ai` for easier configuration
54
- - **YAML Storage**: Temp YAML files now stored in hidden system directory (`~/.maestro-mcp/`) instead of project folder
55
- - Test results and screenshots now stored in `~/.maestro-mcp/output/`
56
-
57
- ### Added
58
- - **Automatic Prerequisites Check**:
59
- - Runs automatically after `npm install`
60
- - Checks for Node.js 18+, Java 17+, Maestro CLI, Android SDK
61
- - Shows clear error messages with installation hints
62
- - Manual check available via `npm run check`
63
- - **Runtime Validation**: Server validates prerequisites on startup and exits gracefully if critical deps missing
64
- - **App Context Training System**: New tools to teach the AI about your app's UI
65
- - `register_elements` - Register testIDs, accessibilityLabels for app elements
66
- - `register_screen` - Define screen structures and available actions
67
- - `save_successful_flow` - Save working test patterns for AI reference
68
- - `get_saved_flows` - Retrieve saved flow patterns
69
- - `delete_flow` - Remove saved patterns
70
- - `get_ai_context` - Get formatted context for AI (call before generating tests!)
71
- - `get_full_context` - Get complete raw context data
72
- - `clear_app_context` - Clear all context for an app
73
- - `list_app_contexts` - List all apps with saved context
74
-
75
- ### Improved
76
- - AI test generation accuracy when context is provided
77
- - Cleaner project directory (no temp files visible)
78
-
79
- ---
80
-
81
- ## [1.0.0] - 2025-01-05
82
-
83
- ### Added
84
- - Initial public release on npm as `mcp-maestro-mobile-ai`
85
- - MCP server implementation with stdio transport
86
- - 14 MCP tools for mobile test automation:
87
- - `read_prompt_file` - Read test prompts from files
88
- - `list_prompt_files` - List available prompt files
89
- - `list_devices` - List connected Android devices
90
- - `select_device` - Select specific device for testing
91
- - `clear_device` - Clear device selection
92
- - `check_device` - Verify device connection
93
- - `check_app` - Verify app installation
94
- - `get_app_config` - Get server configuration
95
- - `validate_maestro_yaml` - Validate YAML syntax
96
- - `run_test` - Execute single test
97
- - `run_test_suite` - Execute multiple tests
98
- - `get_test_results` - Retrieve test results
99
- - `take_screenshot` - Capture device screen
100
- - `cleanup_results` - Clean up old results
101
- - Automatic retry mechanism for failed tests
102
- - Pre-flight checks (device, app) before test execution
103
- - Screenshot capture on test failure
104
- - Auto-cleanup of old results based on `MAX_RESULTS`
105
- - Improved error messages with hints
106
- - Support for physical devices via USB
107
- - Device selection for multi-device environments
108
- - Winston-based logging
109
- - Environment variable configuration
110
- - Example prompt files
111
-
112
- ### Documentation
113
- - Comprehensive README with setup guides
114
- - MCP client configuration examples (Cursor, VS Code, Claude Desktop)
115
- - Template configuration files
116
- - React Native automation guidelines
117
-
118
- ---
119
-
120
- ## [0.1.0] - 2025-01-01
121
-
122
- ### Added
123
- - Initial proof of concept
124
- - Basic Maestro CLI integration
125
- - Simple test execution
126
-
127
- ---
128
-
129
- ## Release Notes Format
130
-
131
- ### Version Numbering
132
-
133
- - **MAJOR** (X.0.0): Breaking API changes
134
- - **MINOR** (0.X.0): New features, backward compatible
135
- - **PATCH** (0.0.X): Bug fixes, backward compatible
136
-
137
- ### Change Categories
138
-
139
- - **Added**: New features
140
- - **Changed**: Changes in existing functionality
141
- - **Deprecated**: Features to be removed in future
142
- - **Removed**: Removed features
143
- - **Fixed**: Bug fixes
144
- - **Security**: Security-related changes
145
-
146
- ---
147
-
148
- [Unreleased]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/compare/v1.1.0...HEAD
149
- [1.1.0]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v1.1.0
150
- [1.0.0]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v1.0.0
151
- [0.1.0]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v0.1.0
152
-
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Planned
11
+
12
+ - JUnit XML report generation
13
+ - CI headless mode (`--ci` flag)
14
+ - iOS support
15
+ - TypeScript migration
16
+
17
+ ---
18
+
19
+ ## [1.6.0] - 2025-01-07
20
+
21
+ ### Added
22
+
23
+ - **YAML Caching System**: Intelligent caching for faster recurring test execution
24
+
25
+ - `save_to_cache` - Save successful test YAML for future reuse
26
+ - `lookup_cache` - Check if a cached YAML exists for a prompt
27
+ - `list_cache` - List all cached tests with usage statistics
28
+ - `clear_cache` - Clear all cached YAMLs
29
+ - `delete_from_cache` - Delete specific cached test
30
+ - `get_cache_stats` - Get cache statistics (total cached, execution counts)
31
+ - `run_test_with_cache` - Run test with automatic cache lookup
32
+
33
+ - **Prompt-Based Hashing**: Unique identification of test prompts
34
+ - SHA-256 based hashing with normalization
35
+ - Handles minor formatting differences (whitespace, quotes)
36
+ - AppId included in hash for app-specific caching
37
+
38
+ - **Hidden Cache Storage**: Internal cache location (`~/.maestro-mcp/cache/`)
39
+ - Index file for fast lookup
40
+ - YAML files stored with hash-based names
41
+ - Not visible to end users
42
+
43
+ - **Usage Statistics**: Track cache effectiveness
44
+ - Execution count per cached test
45
+ - Last used timestamp
46
+ - Most used tests identification
47
+
48
+ - **Auto-Cache on Success**: After successful test execution
49
+ - Automatically saves YAML to cache (no user prompt needed)
50
+ - Failed tests are NOT cached (fix and re-run to cache)
51
+ - Automatic reuse when same prompt is run again
52
+
53
+ ### Changed
54
+
55
+ - **Server Version**: Updated to v1.6.0
56
+ - **runTest function**: Now includes cache prompt for successful tests
57
+ - **runTestSuiteWithReport**: Offers bulk caching for successful tests
58
+
59
+ ### Benefits
60
+
61
+ | Feature | Benefit |
62
+ |---------|---------|
63
+ | Faster Execution | Skip YAML generation for recurring tests |
64
+ | Reduced AI Calls | Cached YAML reused automatically |
65
+ | Clean Separation | Cache hidden from user-facing directories |
66
+ | Smart Invalidation | New YAML generated if prompt changes |
67
+
68
+ ---
69
+
70
+ ## [1.5.0] - 2025-01-07
71
+
72
+ ### Added
73
+
74
+ - **Prompt Analysis System (Action-Element-Verification Model)**: Intelligent prompt parsing for reliable YAML generation
75
+
76
+ - `validate_prompt` - PRIMARY tool for converting natural language to Maestro YAML
77
+ - `analyze_prompt` - Analyze prompts without generating YAML (debugging/inspection)
78
+ - Extracts: Actions, Elements, Values, Verifications, Sequence
79
+
80
+ - **Tiered Clarification System**: Smart handling of incomplete prompts
81
+
82
+ - **COMPLETE**: All required info present → generates clean YAML
83
+ - **GENERATABLE**: Missing some info → asks clarification OR generates with warnings
84
+ - **NEEDS_CLARIFICATION**: Missing important info asks specific questions
85
+ - **INSUFFICIENT**: Missing critical info (app ID) → requests minimum required info
86
+
87
+ - **Force Generate with Warnings**: Option to generate YAML with assumptions
88
+ - Automatically adds warning comments for assumed values
89
+ - Lists all assumptions made during generation
90
+ - Placeholder values clearly marked for user to replace
91
+
92
+ - **New Utilities**:
93
+ - `src/mcp-server/utils/promptAnalyzer.js` - Action-Element-Verification parser
94
+ - `src/mcp-server/utils/yamlGenerator.js` - YAML generation with warnings support
95
+ - `validateAndGenerate()` - Orchestrator function in contextTools.js
96
+
97
+ - **Intelligent Clarification Questions**: Context-aware questions based on what's missing
98
+ - Critical questions (blocking): App ID
99
+ - Important questions: Field labels, button text
100
+ - Recommended questions: Verification elements, dropdown options
101
+
102
+ ### Changed
103
+
104
+ - **Server Version**: Updated to v1.5.0
105
+ - **Description**: Updated to highlight prompt analysis and tiered clarification
106
+ - **Keywords**: Added `prompt-analysis`, `natural-language`, `yaml-generator`
107
+
108
+ ### Developer Experience
109
+
110
+ - Generic, framework-agnostic approach works for ANY mobile app
111
+ - No hard-coded app-specific values
112
+ - Interaction patterns automatically applied
113
+ - Comprehensive test script for verification
114
+
115
+ ---
116
+
117
+ ## [1.4.0] - 2025-01-07
118
+
119
+ ### Security
120
+
121
+ - **Safe Mode (v1.1.0 Roadmap)**: Enterprise-grade security boundaries now implemented
122
+
123
+ - Safe Mode enabled by default (`SAFE_MODE=true`)
124
+ - Blocks potentially destructive operations (install/uninstall apps, clear data)
125
+ - Set `SAFE_MODE=false` to enable full mode (use with caution)
126
+
127
+ - **Command Allowlists**: Strict validation of all CLI commands
128
+
129
+ - Maestro commands restricted to: `test`, `validate`, `screenshot`, `--version`, `hierarchy`
130
+ - ADB commands categorized into Safe Mode and Full Mode allowlists
131
+ - 40+ dangerous ADB commands permanently blocked (rm, root, reboot, settings, etc.)
132
+
133
+ - **Blocked Pattern Detection**: Prevents injection attacks
134
+
135
+ - Shell injection: `; & | && ||`
136
+ - Command substitution: `` `cmd` ``, `$(cmd)`
137
+ - Path traversal: `../`
138
+ - Environment variable expansion: `${VAR}`, `$HOME`
139
+ - Null byte injection: `\x00`, `%00`
140
+ - Script injection: `<script>`, `javascript:`
141
+
142
+ - **Input Validation with Zod**: All 30 MCP tools now have strict input validation
143
+
144
+ - App ID format validation (`com.example.app`)
145
+ - Device ID format validation
146
+ - File path security (no traversal)
147
+ - YAML content security checks
148
+ - String length limits and type checking
149
+
150
+ - **Security Audit Logging**: Comprehensive event logging for compliance
151
+ - `TOOL_EXECUTION_START/SUCCESS/ERROR` events
152
+ - `TOOL_VALIDATION_FAILED` for rejected inputs
153
+ - `TOOL_SECURITY_ERROR` for security violations
154
+ - `SERVER_STARTED` with security config summary
155
+
156
+ ### Added
157
+
158
+ - **New Security Module**: `src/mcp-server/utils/security.js`
159
+
160
+ - `SecurityError` class with error codes
161
+ - `isSafeModeEnabled()`, `getSecurityMode()`, `getSecurityConfig()`
162
+ - `validateAppId()`, `validateDeviceId()`, `sanitizeInput()`
163
+ - `isMaestroCommandAllowed()`, `isAdbCommandAllowed()`
164
+ - `containsBlockedPattern()`, `assertNoBlockedPatterns()`
165
+ - `checkYamlSecurity()` for YAML content validation
166
+ - `logSecurityEvent()` for audit trail
167
+
168
+ - **Zod Schema Validation**: `src/mcp-server/schemas/toolSchemas.js`
169
+
170
+ - Individual schemas for all 30 MCP tools
171
+ - Reusable schema components (`safeFilePath`, `appIdSchema`, etc.)
172
+ - `validateToolInput()` utility function
173
+ - `toolSchemas` registry for easy lookup
174
+
175
+ - **Validation Middleware**: Integrated into main request handler
176
+ - All tool inputs validated before execution
177
+ - Clear error messages with field-level details
178
+ - Security error handling with proper response format
179
+
180
+ ### Changed
181
+
182
+ - **Server Version**: Updated to v1.4.0
183
+ - **Startup Logging**: Now displays security configuration summary
184
+ - **Error Responses**: Enhanced with validation details and security codes
185
+ - **Command Execution**: All Maestro/ADB commands validated against allowlists
186
+
187
+ ### Environment Variables
188
+
189
+ - `SAFE_MODE` - Enable/disable Safe Mode (default: `true`)
190
+ - `LOG_SECURITY_EVENTS` - Enable security event logging (default: `true`)
191
+ - `MAESTRO_DEVICE` - Pre-select a specific device for testing
192
+
193
+ ---
194
+
195
+ ## [1.3.1] - 2025-01-06
196
+
197
+ ### Fixed
198
+
199
+ - **MCP Schema Fix**: Fixed `generate_report` tool array parameter missing `items` definition
200
+ - This was causing "tool parameters array type must have items" validation error
201
+ - Now properly defines the structure of test result objects
202
+
203
+ ---
204
+
205
+ ## [1.2.0] - 2025-01-06
206
+
207
+ ### Added
208
+
209
+ - **YAML Generation Instructions System**: Ensures consistent YAML generation across different environments
210
+ - `get_yaml_instructions` - AI MUST call this before generating YAML (provides exact rules)
211
+ - `validate_yaml_structure` - Validates YAML for common issues (like missing tapOn before inputText)
212
+ - `get_test_pattern` - Get standard patterns for login, search, navigation, form tests
213
+ - **Critical Fix**: Input text pattern now enforced - prevents password going to username field issue
214
+ - Standard test patterns for common scenarios (login, search, navigation, form)
215
+
216
+ ### Fixed
217
+
218
+ - YAML generation inconsistency between different environments
219
+ - Text input going to wrong fields due to missing tapOn commands
220
+
221
+ ---
222
+
223
+ ## [1.1.1] - 2025-01-06
224
+
225
+ ### Fixed
226
+
227
+ - Version bump for npm publish
228
+
229
+ ---
230
+
231
+ ## [1.1.0] - 2025-01-06
232
+
233
+ ### Changed
234
+
235
+ - **Package Renamed**: Changed from `@krunal.mahera/maestro-mcp` to `mcp-maestro-mobile-ai` for easier configuration
236
+ - **YAML Storage**: Temp YAML files now stored in hidden system directory (`~/.maestro-mcp/`) instead of project folder
237
+ - Test results and screenshots now stored in `~/.maestro-mcp/output/`
238
+
239
+ ### Added
240
+
241
+ - **Automatic Prerequisites Check**:
242
+ - Runs automatically after `npm install`
243
+ - Checks for Node.js 18+, Java 17+, Maestro CLI, Android SDK
244
+ - Shows clear error messages with installation hints
245
+ - Manual check available via `npm run check`
246
+ - **Runtime Validation**: Server validates prerequisites on startup and exits gracefully if critical deps missing
247
+ - **App Context Training System**: New tools to teach the AI about your app's UI
248
+ - `register_elements` - Register testIDs, accessibilityLabels for app elements
249
+ - `register_screen` - Define screen structures and available actions
250
+ - `save_successful_flow` - Save working test patterns for AI reference
251
+ - `get_saved_flows` - Retrieve saved flow patterns
252
+ - `delete_flow` - Remove saved patterns
253
+ - `get_ai_context` - Get formatted context for AI (call before generating tests!)
254
+ - `get_full_context` - Get complete raw context data
255
+ - `clear_app_context` - Clear all context for an app
256
+ - `list_app_contexts` - List all apps with saved context
257
+
258
+ ### Improved
259
+
260
+ - AI test generation accuracy when context is provided
261
+ - Cleaner project directory (no temp files visible)
262
+
263
+ ---
264
+
265
+ ## [1.0.0] - 2025-01-05
266
+
267
+ ### Added
268
+
269
+ - Initial public release on npm as `mcp-maestro-mobile-ai`
270
+ - MCP server implementation with stdio transport
271
+ - 14 MCP tools for mobile test automation:
272
+ - `read_prompt_file` - Read test prompts from files
273
+ - `list_prompt_files` - List available prompt files
274
+ - `list_devices` - List connected Android devices
275
+ - `select_device` - Select specific device for testing
276
+ - `clear_device` - Clear device selection
277
+ - `check_device` - Verify device connection
278
+ - `check_app` - Verify app installation
279
+ - `get_app_config` - Get server configuration
280
+ - `validate_maestro_yaml` - Validate YAML syntax
281
+ - `run_test` - Execute single test
282
+ - `run_test_suite` - Execute multiple tests
283
+ - `get_test_results` - Retrieve test results
284
+ - `take_screenshot` - Capture device screen
285
+ - `cleanup_results` - Clean up old results
286
+ - Automatic retry mechanism for failed tests
287
+ - Pre-flight checks (device, app) before test execution
288
+ - Screenshot capture on test failure
289
+ - Auto-cleanup of old results based on `MAX_RESULTS`
290
+ - Improved error messages with hints
291
+ - Support for physical devices via USB
292
+ - Device selection for multi-device environments
293
+ - Winston-based logging
294
+ - Environment variable configuration
295
+ - Example prompt files
296
+
297
+ ### Documentation
298
+
299
+ - Comprehensive README with setup guides
300
+ - MCP client configuration examples (Cursor, VS Code, Claude Desktop)
301
+ - Template configuration files
302
+ - React Native automation guidelines
303
+
304
+ ---
305
+
306
+ ## [0.1.0] - 2025-01-01
307
+
308
+ ### Added
309
+
310
+ - Initial proof of concept
311
+ - Basic Maestro CLI integration
312
+ - Simple test execution
313
+
314
+ ---
315
+
316
+ ## Release Notes Format
317
+
318
+ ### Version Numbering
319
+
320
+ - **MAJOR** (X.0.0): Breaking API changes
321
+ - **MINOR** (0.X.0): New features, backward compatible
322
+ - **PATCH** (0.0.X): Bug fixes, backward compatible
323
+
324
+ ### Change Categories
325
+
326
+ - **Added**: New features
327
+ - **Changed**: Changes in existing functionality
328
+ - **Deprecated**: Features to be removed in future
329
+ - **Removed**: Removed features
330
+ - **Fixed**: Bug fixes
331
+ - **Security**: Security-related changes
332
+
333
+ ---
334
+
335
+ [Unreleased]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/compare/v1.6.0...HEAD
336
+ [1.6.0]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v1.6.0
337
+ [1.5.0]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v1.5.0
338
+ [1.4.0]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v1.4.0
339
+ [1.3.1]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v1.3.1
340
+ [1.2.0]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v1.2.0
341
+ [1.1.1]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v1.1.1
342
+ [1.1.0]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v1.1.0
343
+ [1.0.0]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v1.0.0
344
+ [0.1.0]: https://github.com/krunal-mahera/mcp-maestro-mobile-ai/releases/tag/v0.1.0
package/ROADMAP.md CHANGED
@@ -37,16 +37,18 @@ Transform how teams approach mobile testing by enabling:
37
37
 
38
38
  **Theme**: Enterprise Trust & Automation
39
39
 
40
- ### v1.1.0 - Security Boundaries
40
+ ### v1.4.0 - Security Boundaries ✅ RELEASED
41
41
 
42
42
  | Feature | Priority | Status |
43
43
  |---------|----------|--------|
44
- | Safe Mode (default ON) | 🔴 Critical | 🔲 Planned |
45
- | Command allowlist | 🔴 Critical | 🔲 Planned |
46
- | Blocked operations list | 🔴 Critical | 🔲 Planned |
47
- | Input validation (Zod schemas) | 🟠 High | 🔲 Planned |
44
+ | Safe Mode (default ON) | 🔴 Critical | Done |
45
+ | Command allowlist | 🔴 Critical | Done |
46
+ | Blocked operations list | 🔴 Critical | Done |
47
+ | Input validation (Zod schemas) | 🟠 High | Done |
48
+ | Security audit logging | 🟠 High | ✅ Done |
49
+ | Pattern detection (injection prevention) | 🟠 High | ✅ Done |
48
50
 
49
- ### v1.2.0 - CI/CD Mode
51
+ ### v1.5.0 - CI/CD Mode
50
52
 
51
53
  | Feature | Priority | Status |
52
54
  |---------|----------|--------|
@@ -55,11 +57,11 @@ Transform how teams approach mobile testing by enabling:
55
57
  | `--prompt-file` direct execution | 🟠 High | 🔲 Planned |
56
58
  | JUnit XML output | 🟠 High | 🔲 Planned |
57
59
 
58
- ### v1.3.0 - Audit & Observability
60
+ ### v1.6.0 - Audit & Observability
59
61
 
60
62
  | Feature | Priority | Status |
61
63
  |---------|----------|--------|
62
- | Enhanced audit trail | 🟠 High | 🔲 Planned |
64
+ | Enhanced audit trail | 🟠 High | ⚠️ Partial (security events) |
63
65
  | YAML preservation | 🟠 High | 🔲 Planned |
64
66
  | Structured logging (JSON) | 🟡 Medium | 🔲 Planned |
65
67
  | Health check tool | 🟡 Medium | 🔲 Planned |
@@ -212,6 +214,17 @@ Transform how teams approach mobile testing by enabling:
212
214
 
213
215
  ## Completed Milestones
214
216
 
217
+ ### ✅ v1.4.0 - Security Boundaries (January 2025)
218
+
219
+ - [x] Safe Mode (default ON) - blocks destructive operations
220
+ - [x] Command allowlists for Maestro and ADB
221
+ - [x] 40+ blocked dangerous commands
222
+ - [x] Pattern detection (shell injection, path traversal, etc.)
223
+ - [x] Input validation with Zod schemas for all 30 tools
224
+ - [x] Security audit logging
225
+ - [x] SecurityError class with error codes
226
+ - [x] Validation middleware in request handler
227
+
215
228
  ### ✅ v1.0.0 - Foundation (January 2025)
216
229
 
217
230
  - [x] MCP server implementation
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "mcp-maestro-mobile-ai",
3
- "version": "1.3.1",
3
+ "version": "1.6.0",
4
4
  "private": false,
5
- "description": "MCP Server for AI-Assisted Mobile Automation using Maestro - Run mobile tests with natural language prompts",
5
+ "description": "MCP Server for AI-Assisted Mobile Automation using Maestro - Run mobile tests with natural language prompts. Features prompt analysis, tiered clarification, and enterprise-grade security.",
6
6
  "main": "src/mcp-server/index.js",
7
7
  "type": "module",
8
8
  "bin": {
@@ -51,7 +51,13 @@
51
51
  "cursor",
52
52
  "testing",
53
53
  "automation",
54
- "ai"
54
+ "ai",
55
+ "security",
56
+ "validation",
57
+ "zod",
58
+ "prompt-analysis",
59
+ "natural-language",
60
+ "yaml-generator"
55
61
  ],
56
62
  "author": "Krunal Mahera <krunal.mahera@gmail.com>",
57
63
  "license": "MIT",