MCP server by emran1993
🛡️ Mobile MCP Validator
Stop AI "Vibe Coding" — Enforce Disciplined Mobile Development
Quick Start • Features • Platforms • Tools • UI/UX • Author
🎯 The Problem I Solved
After 8 years of mobile development, I noticed a recurring issue with AI coding assistants:
"Vibe Coding" — AI agents that write scattered, unplanned code that breaks things, ignores patterns, and produces amateur-looking UIs.
Sound familiar? The AI:
- ❌ Jumps into coding without a plan
- ❌ Changes things that shouldn't be changed
- ❌ Ignores your architecture patterns
- ❌ Creates inconsistent, unprofessional UIs
- ❌ Forgets to handle loading, error, and empty states
- ❌ Produces files that are 500+ lines long
I built Mobile MCP Validator to fix this.
💡 The Solution
Mobile MCP Validator is an MCP (Model Context Protocol) server for Cursor IDE that acts as a guardian for your mobile codebase.
It forces AI agents to:
| Before | After (with MCP) | |--------|------------------| | Jump straight into coding | ✅ Create a task plan first | | Make random changes | ✅ Validate every change | | Ignore file size limits | ✅ Block files over 300 lines | | Forget UI states | ✅ Require loading/error/empty/success | | Break existing code | ✅ Detect breaking changes | | Produce ugly UIs | ✅ Follow UI/UX best practices |
📱 Supported Platforms
Works with ALL mobile development frameworks:
| Platform | Languages | Linter Integration |
|----------|-----------|-------------------|
| 💙 Flutter | Dart | flutter analyze |
| ⚛️ React Native | JavaScript, TypeScript | ESLint |
| 🍎 iOS Native | Swift, Objective-C | SwiftLint |
| 🤖 Android Native | Kotlin, Java | ktlint |
🚀 Quick Start
1. Clone the Repository
git clone https://github.com/emran1993/mobile-mcp-validator.git
cd mobile-mcp-validator
dart pub get
2. Add to Cursor
Add to your ~/.cursor/mcp.json:
{
"mcpServers": {
"mobile-mcp-validator": {
"command": "dart",
"args": ["run", "/path/to/mobile-mcp-validator/bin/mobile_mcp_validator.dart"]
}
}
}
3. Restart Cursor
That's it! The MCP is now protecting your codebase.
✨ Features
🎯 Task Planning (No More Random Changes)
The AI must create a plan before coding:
User: "Add a settings screen"
AI calls: create_task_plan()
→ Task 1: Analyze existing patterns
→ Task 2: Create settings controller
→ Task 3: Build settings screen with all UI states
→ Task 4: Run validation
→ Task 5: Verify code quality
🚫 Blocking Errors (Forces Fixes)
When the AI makes a mistake, it gets blocked:
{
"success": false,
"isBlocking": true,
"message": "BLOCKING: File exceeds 300 lines (found: 425)",
"fixSuggestion": "Split into smaller modules..."
}
The AI cannot proceed until it fixes the issue.
🔍 Breaking Change Detection
Before modifying existing code:
- AI takes a "snapshot" of the current state
- After changes, compares to detect unintended modifications
- Alerts if classes, methods, or APIs were accidentally removed
🎨 UI/UX Best Practices
Comprehensive guidelines built-in:
- Design Principles — Visual hierarchy, spacing, consistency
- Color Systems — Palettes, dark mode, contrast
- Typography — Font scales, weights, readability
- 8pt Grid System — Consistent spacing
- Animations — Timing, easing, micro-interactions
- Accessibility — Touch targets, screen readers, contrast
🛠️ Tools
Task Planning
| Tool | What It Does |
|------|--------------|
| create_task_plan | Creates checklist before coding |
| validate_task_completion | Ensures all tasks are done |
| update_task_status | Tracks progress |
Code Quality
| Tool | What It Does |
|------|--------------|
| validate_file_size | Blocks files over 300 lines |
| validate_function_complexity | Blocks functions over 50 lines |
| validate_widget_complexity | Blocks build methods over 120 lines |
| find_business_logic_in_widgets | Detects logic leaking into UI |
Breaking Changes
| Tool | What It Does |
|------|--------------|
| snapshot_ui_state | Captures state before changes |
| detect_breaking_changes | Finds unintended modifications |
| find_affected_usages | Lists all code using a file |
Platform Analysis
| Tool | What It Does |
|------|--------------|
| detect_project_framework | Auto-detects Flutter/RN/iOS/Android |
| run_project_analysis | Runs correct linter automatically |
| validate_ios_config | Checks Info.plist, Podfile |
| validate_android_config | Checks AndroidManifest, Gradle |
🎨 UI/UX Guidelines
The MCP includes comprehensive resources for building beautiful apps:
| Resource | Description |
|----------|-------------|
| uiux://design-principles | Core principles for professional UI |
| uiux://color-system | Colors, themes, dark mode |
| uiux://typography | Font selection and hierarchy |
| uiux://spacing-layout | 8pt grid system |
| uiux://animations | Motion and micro-interactions |
| uiux://accessibility | Inclusive design guidelines |
| uiux://platform-guidelines | iOS HIG & Material Design |
| uiux://common-mistakes | Anti-patterns to avoid |
⚙️ Configuration
Create flutter_guardian.yaml in your project:
rules:
max_file_lines: 300
max_build_method_lines: 120
max_function_lines: 50
architecture:
pattern: feature_first
require_separation: true
testing:
require_ui_states:
- loading
- error
- empty
- success
🔒 Pre-commit Hook
Validate code before every commit:
dart run mobile_mcp_validator:pre_commit --install
👨💻 About the Author
|
Emran Shiekh AhmadSenior Software Engineer @ SolarEdge 🚀 8+ years of mobile development experience 📱 Specializing in Flutter, iOS, and Android 💡 Passionate about code quality, architecture, and developer experience 🎯 Built this MCP to solve the "vibe coding" problem I kept seeing with AI assistants |
Why I Built This
"After years of building mobile apps, I've learned that the difference between amateur and professional code isn't just functionality — it's discipline. Planning before coding. Consistent patterns. Clean architecture. Beautiful, accessible UIs.
When AI assistants started helping with code, I noticed they often lacked this discipline. They'd jump into coding without a plan, create massive files, ignore patterns, and produce inconsistent UIs.
Mobile MCP Validator is my solution. It brings the discipline of a senior developer to AI-assisted coding. It's the guardian I wish I had when I started — and now it's available for everyone."
— Emran Shiekh Ahmad
🌟 Star This Project
If you find this useful, please ⭐ star this repository — it helps others discover it!
📄 License
MIT License — see LICENSE for details.
Copyright © 2025 Emran Shiekh Ahmad
🤝 Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
dart test - Submit a pull request
Built with ❤️ by Emran Shiekh Ahmad
Senior Software Engineer @ SolarEdge | 8+ Years Mobile Development