Mobile Development Validator
FreeNot checkedEnforces structured development practices for mobile projects by validating code architecture, preventing oversized files, and detecting breaking changes across
About
Enforces structured development practices for mobile projects by validating code architecture, preventing oversized files, and detecting breaking changes across Flutter, React Native, iOS, and Android platforms.
README
🛡️ 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
Installing Mobile Development Validator
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/emran1993/mobile-mcp-validatorFAQ
Is Mobile Development Validator MCP free?
Yes, Mobile Development Validator MCP is free — one-click install via Unyly at no cost.
Does Mobile Development Validator need an API key?
No, Mobile Development Validator runs without API keys or environment variables.
Is Mobile Development Validator hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Mobile Development Validator in Claude Desktop, Claude Code or Cursor?
Open Mobile Development Validator on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Mobile Development Validator with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
