Skip to main content
Glama

android-dev-mcp

Unified MCP server for Android mobile development — combines project knowledge, Android CLI execution, live dependency versions, and agentic workflow tools for Claude Code.

Install

curl -fsSL https://raw.githubusercontent.com/maheshmishra271090-design/android-dev-mcp/main/scripts/install.sh | bash

That's it. No cloning, no manual steps. The installer handles everything:

  • Node.js ≥ 18 (installs or upgrades)

  • Git + ITGD aliases

  • Android CLI + Google Android Skills

  • android-dev-mcp global npm package

  • MCP config for Claude Code (via claude mcp add) and Claude Desktop (via claude_desktop_config.json)

  • CLAUDE.md block in current project

  • Git hooks (pre-commit lint + commit-msg Conventional Commits)

android-dev-mcp init registers the server in both places it can be used — the claude CLI's own MCP config (for Claude Code / the VSCode extension) and claude_desktop_config.json (for the Claude Desktop app). If the claude CLI isn't on PATH, Claude Code registration is skipped with a warning and the manual command to run instead (see below).

After install — verify

android-dev-mcp check
  MCP server built:    ✔
  Claude configured:   ✔
  Android CLI:         ✔  android 1.x.x
  CLAUDE.md (cwd):     ✔  block present
claude mcp get android-dev-mcp
android-dev-mcp:
  Status: ✔ Connected
  Type: stdio
  Command: node
  Args: <path-to-package>/dist/index.js

Then inside Claude Code, start a new session (registration only takes effect on session start):

/mcp   → should show android-dev-mcp with 24 tools

Manual registration (Claude Code)

If init reports it couldn't find the claude CLI, or you're setting this up without the installer, register it directly:

claude mcp add android-dev-mcp -- node "$(npm root -g)/@maheshmishra271090-design/android-dev-mcp/dist/index.js"

Or, when working from a local clone/checkout of this repo:

npm run build
claude mcp add android-dev-mcp -- node "$(pwd)/dist/index.js"

Remove it with:

claude mcp remove android-dev-mcp -s local

Related MCP server: claude-android

What It Does

One MCP server that gives Claude Code both the knowledge and the execution power to complete full Android development workflows autonomously:

Layer

Tools

What it provides

Knowledge

14

MVVM, Hilt, Compose, ExoPlayer, Retrofit, tests, git, prompts, model routing

Android CLI

5

Scaffold, lint, render @Preview, deploy APK, live dep versions

Execution

4

Direct adb, git, gradle, and shell command execution

Tools (24 total)

Knowledge Layer (14)

Tool

Returns

get_full_context

All 14 knowledge domains — call at session start

get_project_structure

Module layout, package naming, file conventions

get_architecture_patterns

MVVM, Hilt, ViewModel, StateFlow, Coroutines

get_ui_compose_standards

Compose screens, Material 3, Navigation, Player UI

get_api_backend_patterns

Retrofit, AuthInterceptor, DTO mapping, error codes

get_player_patterns

ExoPlayer/Media3, HLS, Widevine DRM, lifecycle

get_cicd_commands

Gradle flavors, signing, CI pipeline

check_ui_fluidity

Frame rate · jank · recomposition · ACR crash analysis

generate_tests

ViewModel · Repository · Compose UI · API templates

get_git_workflow

Branch strategy, Conventional Commits, hooks

get_prompt_templates

Ask CIO, few-shot CoT, compact tasks

get_session_hygiene

/clear vs /compact, context window rules

get_model_routing

Haiku/Sonnet/Opus routing + task recommendation

get_tooling_setup

Graphify, RTK, Caveman, Superpowers guides

Android CLI Integration Layer (5)

Tool

What it does

get_android_cli_guide

Full CLI command reference + workflow protocols

run_android_cli

Executes any android command, returns stdout

get_live_versions

Current agp/kotlin/compose/media3 from Google Maven*

scaffold_feature

Context + live versions + CLI scaffold in one call

verify_ui

Renders @Preview + validates against ITGD Compose standards*

fluidity_debug_workflow

Full debug protocol: ADB + layout tree + screenshot + ACR + lint

*Requires Android Studio running with Gemini signed in.

Execution Layer (4)

Tool

What it does

run_adb

Executes any adb command, returns stdout

run_git

Executes any git command, returns stdout

run_gradle

Executes a Gradle task — uses ./gradlew if present, else global gradle

run_bash

Executes an arbitrary shell command, returns stdout/stderr

Agentic Workflows

New Feature

get_full_context → get_live_versions → scaffold_feature → studio analyze-file → verify_ui → android run

Fluidity Debug

fluidity_debug_workflow("player") → android layout --diff → android screen capture → ACR → fix → verify

New Developer Onboarding

curl -fsSL https://raw.githubusercontent.com/maheshmishra271090-design/android-dev-mcp/main/scripts/install.sh | bash
# Done in ~3 minutes — no pair session needed

Per-Project CLAUDE.md

To add or update the MCP block in any project:

android-dev-mcp setup-claude-md                       # current project
android-dev-mcp setup-claude-md --dir=~/projects/App  # specific project

Safe to re-run — never overwrites existing content.

Customising Knowledge

All knowledge is plain markdown in knowledge/. Edit to match your project.

License

MIT

Available Tools

24 tools
check_ui_fluidityB

Returns frame rate thresholds, ADB commands, Macrobenchmark templates, ACR crash analysis, and screen-specific guidance. screen: home|player|search|all

Inputs: screen.

fluidity_debug_workflowB

Agentic workflow: runs the full fluidity debug protocol — loads fluidity standards + generates Android CLI commands for layout inspection, screenshot capture, and ACR analysis. screen: home|player|search

Inputs: screen (required), project_dir.

generate_testsB

Returns test templates. target: viewmodel:X | repository:X | ui:X | api:X | all

Inputs: target.

get_android_cli_guideA

Returns the full Android CLI command reference, available Google Skills, and ITGD agentic workflow protocols (new feature, fluidity debug, onboarding, dependency upgrade).

Inputs: section.

get_api_backend_patternsA

Returns Retrofit, AuthInterceptor, repository patterns, error handling, and streaming API conventions.

Inputs: no named parameters.

get_architecture_patternsB

Returns MVVM, Hilt DI, ViewModel, StateFlow, and Coroutine patterns.

Inputs: no named parameters.

get_cicd_commandsA

Returns Gradle build commands, flavors, signing config, and CI pipeline steps.

Inputs: no named parameters.

get_full_contextA

Returns complete ITGD Android project context — all knowledge domains. Call once at session start.

Inputs: no named parameters.

get_git_workflowA

Returns branch strategy, Conventional Commits, Git hooks, and alias setup. topic: branches|commits|commands|hooks|all

Inputs: topic.

get_live_versionsA

Fetches live recommended dependency versions from Google Maven via Android CLI (agp, kotlin, compose, media3, hilt). Returns current versions to use in build.gradle.kts. Requires Android Studio + Android CLI.

Inputs: packages.

get_model_routingA

Returns Haiku/Sonnet/Opus routing guide. Optionally pass task description for a specific recommendation.

Inputs: task.

get_player_patternsA

Returns ExoPlayer/Media3 setup, HLS, Widevine DRM, and lifecycle management in Compose.

Inputs: no named parameters.

get_project_structureB

Returns module layout, package naming, and file naming conventions.

Inputs: no named parameters.

get_prompt_templatesC

Returns token-efficient prompt templates: Ask CIO, few-shot CoT, compact tasks, anti-patterns. topic: ask-cio|few-shot|compact-tasks|anti-patterns|all

Inputs: topic.

get_session_hygieneA

Returns /clear vs /compact rules, context window facts, autocompact buffer thresholds, and CLAUDE.md hygiene.

Inputs: no named parameters.

get_tooling_setupA

Returns install guides for Graphify, RTK, Caveman, Superpowers. tool: graphify|rtk|caveman|superpowers|all

Inputs: tool.

get_ui_compose_standardsA

Returns Compose screen structure, Material 3, Navigation, and Player UI standards.

Inputs: no named parameters.

run_adbA

Executes an adb command and returns stdout. Use for: adb shell, adb logcat, adb pull/push, adb devices, adb install, adb dumpsys, etc. Requires adb on PATH.

Inputs: command (required), cwd.

run_android_cliA

Executes an Android CLI command and returns stdout. Use for: android create, android run, android studio analyze-file, android studio version-lookup, android layout, android screen capture, android emulator, android skills, android docs. Requires Android CLI installed.

Inputs: command (required), cwd.

run_bashA

Executes an arbitrary shell command and returns stdout/stderr. Use for anything not covered by run_adb/run_git/run_gradle/run_android_cli.

Inputs: command (required), cwd.

run_gitA

Executes a git command and returns stdout. Use for: git status, diff, log, add, commit, branch, push, etc. Requires git on PATH.

Inputs: command (required), cwd.

run_gradleA

Executes a Gradle command and returns stdout. Uses ./gradlew if present in cwd, otherwise falls back to the global 'gradle' binary. Use for: build, assembleDebug, test, lint, dependencies, etc.

Inputs: command (required), cwd.

scaffold_featureA

Agentic workflow: loads ITGD conventions + fetches live versions + scaffolds a new feature. Returns the context + version data + Android CLI scaffold command for Claude to execute. Steps: get_full_context → get_live_versions → android create guidance.

Inputs: feature_name (required), template.

verify_uiA

Agentic workflow: renders a @Preview composable via Android CLI and cross-checks its semantics tree against ITGD Compose standards. Returns render command + standards to validate against.

Inputs: file_path (required), composable_name (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 24 tools

    Disambiguation4/5

    Most tools are clearly distinct by domain or action, such as the get_* knowledge tools for architecture, UI, API, player, etc. However, some overlap exists between check_ui_fluidity and fluidity_debug_workflow, which both address UI fluidity, and between get_full_context and the individual get_* tools, though descriptions clarify their intended usage.

    Naming Consistency3/5

    The tool names use consistent prefixes within categories: get_ for knowledge, run_ for command execution. However, the set mixes multiple verb styles (check_, generate_, scaffold_, verify_, fluidity_debug_workflow) which reduces overall consistency, though the names remain readable and descriptive.

    Tool Count3/5

    With 24 tools, the server is on the heavier side, approaching the threshold where the count becomes burdensome. While each tool has a specific purpose, many knowledge tools could potentially be consolidated, making the set feel slightly over-sized for a coherent assistant.

    Completeness4/5

    The tool surface covers the core Android development lifecycle: knowledge retrieval, command execution, and higher-level workflows for scaffolding, UI verification, and debugging. Minor gaps exist, such as no direct tool for editing project configuration, but these can be worked around via run_bash or run_gradle.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Kotlin MCP Server for Android app development using OpenAI, Gemini, or OpenRouter. Enables AI-assisted coding via Aider, Gradle build/test integration, Kotlin LSP, and Docker-based portability.
      31
      AGPL 3.0
    • A
      license
      A
      quality
      C
      maintenance
      MCP server for Android dev workflows that exposes Gradle, Manifest, and ProGuard context to Claude, with a library of skills for tasks like AGP upgrade and R8 audit.
      3
      MIT
    • F
      license
      Not graded
      quality
      A
      maintenance
      MCP server that provides AI coding agents real Android development tools—Gradle, adb, logcat, lint, crash triage—through a local, permissioned interface. Enables agents to inspect projects, run safe Gradle tasks, capture logs/screenshots, and triage crashes.
      1
      -