• v2.0.0 f9ab6c88ba

    v2.0.0 - Complete Refactor
    All checks were successful
    Publish Package / publish (push) Successful in 35s
    Stable

    jack released this 2025-10-10 11:40:46 +02:00 | 0 commits to main since this release

    🎉 Major Release - Complete Refactor

    This release represents a complete architectural overhaul of the mobile-emulator-mcp server, transitioning from a monolithic structure to a modular, maintainable, and type-safe codebase.

    New Features

    • Pagination Support: Added limit and offset parameters to list_emulators tool for better handling of large device lists
    • Platform-Aware Tool Registration: Tools are now dynamically registered based on available platform tools (ADB for Android, simctl for iOS)
    • Service-Oriented Architecture: Separate AndroidEmulatorService and IosSimulatorService classes for platform-specific operations
    • Testing Infrastructure: Added Vitest testing framework with 13 unit tests and coverage reporting

    🏗️ Architecture

    • Modular Structure: Refactored from 657-line monolithic index.ts to clean separation of concerns:

      • types.ts: All TypeScript interfaces and type definitions (66 lines)
      • emulator-service.ts: Base service class with Android and iOS implementations (355 lines)
      • tool-definitions.ts: Tool schema definitions with platform detection (216 lines)
      • handlers.ts: Tool execution handlers (138 lines)
      • index.ts: Minimal server setup (117 lines, 82% reduction)
    • 100% TypeScript Type Safety: Eliminated all any types, replaced with proper interfaces

    • Complete JSDoc Documentation: Every public method and class now has comprehensive documentation

    📦 Dependencies

    • Updated MCP SDK: Upgraded from 1.0.4 to 1.20.0
    • Testing Tools: Added Vitest 3.2.4 and @vitest/coverage-v8

    🧪 Testing

    • 13 unit tests with 100% pass rate
    • Test coverage reporting configured
    • Automated testing for tool definitions and types

    📄 Features

    Android Tools (requires ADB):

    • android_screenshot: Take screenshots from Android emulators
    • android_install_app: Install APK files
    • android_start_emulator: Start emulators by AVD name
    • android_tap: Simulate screen taps
    • android_input_text: Input text into apps
    • android_logs: Retrieve logcat output

    iOS Tools (requires simctl):

    • ios_screenshot: Take screenshots from iOS simulators
    • ios_install_app: Install .app bundles
    • ios_start_simulator: Start iOS simulators
    • ios_logs: Retrieve system logs

    Cross-Platform Tools:

    • list_emulators: List all available devices with pagination

    Full changelog: https://git.customable.host/customable-mcp/mobile-emulator-mcp/src/branch/main/CHANGELOG.md

    Downloads