mcp-mobile-server
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Basarisiz
- rm -rf — Recursive force deletion command in src/tools/android.ts
Permissions Gecti
- Permissions — No dangerous permissions requested
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.
Native MCP Server for Mobile Development (Android, iOS, Flutter)
MCP Mobile Server — AI-Powered Mobile Development for Android, iOS, and Flutter
36 tools for mobile development automation, ready to use inside Claude Desktop and any MCP-compatible AI client.
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
- Verify the config file path is correct for your OS
- Check the JSON is valid (no trailing commas)
- Restart Claude Desktop completely
- Ask Claude: "Use health_check to verify the mobile server"
License
MIT — free to use, modify, and distribute.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi