Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Mobile Development Validator

БесплатноНе проверен

Enforces structured development practices for mobile projects by validating code architecture, preventing oversized files, and detecting breaking changes across

GitHubEmbed

Описание

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

🛡️ Mobile MCP Validator

Stop AI "Vibe Coding" — Enforce Disciplined Mobile Development

Quick StartFeaturesPlatformsToolsUI/UXAuthor

License Dart Platforms Tests


🎯 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:

  1. AI takes a "snapshot" of the current state
  2. After changes, compares to detect unintended modifications
  3. 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 Ahmad

Senior 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:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: dart test
  5. Submit a pull request

Built with ❤️ by Emran Shiekh Ahmad
Senior Software Engineer @ SolarEdge | 8+ Years Mobile Development

GitHubLinkedIn

from github.com/emran1993/mobile-mcp-validator

Установка Mobile Development Validator

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/emran1993/mobile-mcp-validator

FAQ

Mobile Development Validator MCP бесплатный?

Да, Mobile Development Validator MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Mobile Development Validator?

Нет, Mobile Development Validator работает без API-ключей и переменных окружения.

Mobile Development Validator — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Mobile Development Validator в Claude Desktop, Claude Code или Cursor?

Открой Mobile Development Validator на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Mobile Development Validator with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development