mcp-mobile-server

mcp
Security Audit
Fail
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 7 GitHub stars
Code Fail
  • rm -rf — Recursive force deletion command in src/tools/android.ts
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This is a Model Context Protocol (MCP) server that bridges AI assistants with mobile development toolchains. It provides 36 tools to help developers automate building, testing, and managing Android, iOS, and Flutter applications directly from an MCP-compatible client.

Security Assessment
The overall risk is rated as Medium. The server fundamentally acts as a wrapper for executing shell commands on your local machine to interact with development environments like Flutter and Android SDK. While no dangerous account permissions or hardcoded secrets were found, the automated code analysis flagged a critical failure: a recursive force deletion command (`rm -rf`) located in `src/tools/android.ts`. If an AI agent invokes this specific tool with an unsanitized or malformed path, it could result in catastrophic and unintended data loss on the host machine. The tool operates entirely locally and does not appear to make external network requests.

Quality Assessment
The project is under the permissive and standard MIT license. It is very actively maintained, with repository activity reported as recent as today. However, the project suffers from extremely low community visibility, having only 7 stars on GitHub. Because of this low adoption rate, the codebase has not been broadly peer-reviewed by the open-source community, meaning underlying bugs or security vulnerabilities in the tooling logic likely remain undiscovered.

Verdict
Use with caution — the active maintenance is a positive sign, but low community oversight and the presence of an `rm -rf` execution command in the code require you to carefully review and restrict the paths the AI agent is permitted to modify.
SUMMARY

Native MCP Server for Mobile Development (Android, iOS, Flutter)

README.md

MCP Mobile Server — AI-Powered Mobile Development for Android, iOS, and Flutter

NPM Version
License: MIT
MCP Compatible
Platforms: Android | iOS | Flutter
36 Tools
Node.js 18+

36 tools for mobile development automation, ready to use inside Claude Desktop and any MCP-compatible AI client.

by Cristiano Arêdes


What is this?

MCP Mobile Server is a Model Context Protocol server that gives AI assistants direct, structured access to your mobile development toolchain. It bridges Claude Desktop (and other MCP clients) to Flutter, Android SDK, and iOS/Xcode workflows through 36 typed tools and 10 high-level "super-tools" that orchestrate complete multi-step workflows.

Instead of switching between terminals and docs, you describe what you want in natural language and the server executes the right commands — with validation, error handling, and fallback strategies built in.

Supported platforms: Android · iOS · Flutter · macOS · Linux · Windows (partial)


Features

Category Tools What you can do
Core / Health 5 Environment diagnostics, Flutter doctor, device discovery
Device Management 9 List, create, start, and stop Android emulators and iOS simulators
Flutter Development 6 Hot reload sessions, builds, tests, dependency management
Utilities 4 Logcat, screenshots, simulator boot/shutdown
Setup & Configuration 2 Automated Flutter and Android SDK environment setup
Super-Tools (workflows) 10 Complete end-to-end workflows combining multiple atomic tools

Super-Tools — complete workflows in one call

Tool What it does
flutter_dev_session Selects best available device, runs doctor, starts hot reload — one command
flutter_test_suite Unit + widget + integration tests with coverage reporting
flutter_release_build Multi-platform release builds (APK, App Bundle, IPA)
flutter_deploy_pipeline End-to-end: test → build → sign
flutter_fix_common_issues Diagnoses and auto-fixes common Flutter build errors
flutter_inspector_session Widget inspection session
mobile_device_manager Intelligent device orchestration across platforms
android_full_debug Device selection → APK install → launch → logcat in one step
android_emulator_workflow AVD create → start → wait → ready
ios_simulator_manager Boot → wait → ready → screenshot lifecycle management

Security built in

  • All shell commands are validated against an allowlist before execution
  • Dangerous pattern detection blocks injection attempts
  • Path traversal protection on all file arguments
  • Runtime input validation via Zod
  • Configurable timeouts on long-running processes

Requirements

Requirement Version
Node.js 18.0.0 or later
npm or yarn any recent version
Flutter SDK 3.0+ (for Flutter tools)
Android SDK / Android Studio any recent (for Android tools)
Xcode 14+ on macOS (for iOS tools)

You only need the SDKs for the platforms you work on. The server starts and serves tools even when some SDKs are absent.


Installation

Option 1 — Run with npx (no install needed)

npx @cristianoaredes/mcp-mobile-server

Option 2 — Install globally

npm install -g @cristianoaredes/mcp-mobile-server
mcp-mobile-server

Option 3 — Build from source

git clone https://github.com/cristianoaredes/mcp-mobile-server.git
cd mcp-mobile-server
npm install
npm run build
npm start

Claude Desktop Setup

Add the server to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mobile-dev": {
      "command": "npx",
      "args": ["@cristianoaredes/mcp-mobile-server"]
    }
  }
}

Restart Claude Desktop after saving. The 36 mobile development tools will appear automatically.


Usage Examples

Check your environment

Use the health_check tool to verify the mobile development server is working
Run flutter_doctor to check my Flutter setup

Work with devices

List all connected Android devices and iOS simulators
Start a Flutter development session with hot reload on the best available device

Build and test

Run the full test suite for my Flutter project at /path/to/project
Build release versions for Android and iOS

Fix build problems

My Flutter app won't build. Use flutter_fix_common_issues to diagnose and fix it.

Validate the installation from the command line

# After building from source:
npm run mcp:validate

# Expected output:
# ✅ Server configuration is valid
# ✅ 36 tools registered

Project Structure

src/
  server.ts          # MCP server entry point
  tools/
    android.ts       # Android SDK tools
    ios.ts           # iOS / Xcode / Simulator tools
    flutter.ts       # Flutter SDK tools
    super-tools.ts   # High-level workflow automation
    setup-tools.ts   # Environment setup tools
  utils/
    process.ts       # Process execution and tracking
    security.ts      # Command validation and sandboxing
    fallbacks.ts     # Fallback strategies (ADB → native-run, etc.)
    tool-categories.ts # Tool registry

The server communicates over stdio using JSON-RPC 2.0, the standard MCP transport.


Contributing

# Clone and install
git clone https://github.com/cristianoaredes/mcp-mobile-server.git
cd mcp-mobile-server
npm install

# Run in development mode (watch)
npm run dev

# Run tests
npm test

# Run linter and full CI check
npm run ci

See CONTRIBUTING.md for guidelines and docs/ for the full documentation set.


Documentation

Resource Description
Quick Start Guide Get running in under 5 minutes
Tools Reference All 36 tools with parameters and examples
Architecture System design, security layer, and ADRs
Android Workflow Android development guide
iOS Workflow iOS development guide
Flutter Workflow Flutter development guide
Troubleshooting Common issues and solutions

Troubleshooting

Flutter not found

# Run the automated setup tool
# In Claude Desktop: "Use flutter_setup_environment to install Flutter"

Android SDK not configured

# In Claude Desktop: "Use android_sdk_setup to configure Android"

No devices available

# List what's available
# "Use android_list_emulators and ios_list_simulators to see available devices"

# Or start a new one
# "Use android_start_emulator to launch an Android emulator"

Claude Desktop not recognizing the server

  1. Verify the config file path is correct for your OS
  2. Check the JSON is valid (no trailing commas)
  3. Restart Claude Desktop completely
  4. Ask Claude: "Use health_check to verify the mobile server"

License

MIT — free to use, modify, and distribute.


Reviews (0)

No results found