Skip to main content
Glama

AndroJack Banner

AndroJack — The Jack of All Android Trades

An MCP server that equips your AI coding assistant with live, verified Android knowledge — so it builds from official sources, not from memory.

Install in VS Code Install in Claude Desktop Install in Cursor Add to Kiro View on npm

Official Product Page Watch AndroJack in Action on YouTube

Also works with: Windsurf · VS Code Copilot · Google Antigravity · JetBrains AI — see Manual Config below ↓

VS Code distribution: Also live on the VS Code Marketplace as AndroJack MCP for VS Code.


Table of Contents


Related MCP server: Android Source Explorer

🔥 The Crisis That Created This Tool

In 2025, the Stack Overflow Developer Survey asked 49,000 developers about their experience with AI coding tools. The results should alarm every Android engineer:

  • 84% of developers now use AI coding tools — up from 76% the year before.

  • Trust in AI accuracy collapsed from 40% to just 29% in a single year.

  • 35% of all Stack Overflow visits in 2025 are now triggered by developers debugging and fixing AI-generated code.

The gap between usage and trust is not a coincidence. It is the product of a structural problem: AI models predict tokens, not APIs. They were trained on a snapshot of the world and have no mechanism to know what changed at API 30, what shipped at Google I/O 2025, or what Google Play now rejects at review time.

For Android developers, this failure mode is uniquely dangerous. Android has the fastest-moving ecosystem in mobile development — a new Compose BOM every month, Navigation 3 going stable after seven years of Nav2, Android 16 rewriting the rules on screen orientation locking — and most AI tools have training data that is six months to two years stale by the time you use them.

The result is not just bad code. It is confidently bad code.


⚡ What Actually Breaks In Practice — Documented Evidence

These are not hypothetical risks. They are documented failure modes from real developer projects.

A published case study from Atomic Robot documented a live Navigation 2 → Navigation 3 migration using both Gemini and Claude — with internet access enabled on both. The conclusion, verbatim:

"LLMs still hallucinate versions. Even with internet access, both agents wanted to use an outdated release candidate instead of the stable 1.0.0 release."

Navigation 3 went stable in November 2025 after seven years of the same library. It is a complete architectural rethink: back stacks are now plain Kotlin lists, the monolithic nav graph is gone, and NavDisplay replaces NavController. Google's own migration guide is so aware that AI tools get this wrong that it now contains special "AI Agent:" annotations — instructions embedded directly in the official docs for AI tools to follow. An AI tool that generates Nav2 code for a new Compose project in 2026 is not making a small mistake. It is creating an architectural incoherence that requires a full rewrite to fix.

Jetpack Compose ships a new BOM every month. Since most models' training cutoffs, these APIs changed:

API

Status

What goes wrong

ContextualFlowRow / ContextualFlowColumn

Deprecated in Compose 1.8

AI still generates them — compile warning today, removal tomorrow

TestCoroutineDispatcher

Removed from coroutines-test 1.8+

AI still generates it — non-deterministic test failures in CI

FlowRow overflow parameter

Deprecated in 1.8

Subtle behavioral regression at runtime, silent in most linting setups

AnchoredDraggableState.confirmValueChange

Deprecated

Incorrect drag behavior at anchor boundaries

Navigation 2 in new projects

Superseded by Nav3 stable Nov 2025

Architectural dead-end that requires a rewrite to fix

Every one of these compiles. Most run without errors. The bugs surface later in CI flakiness, UI regressions, or Play Store review failures.

Android 16 made a platform-level change affecting every published app: on devices ≥600dp — tablets, foldables, ChromeOS — apps can no longer lock screen orientation or restrict resizability. Since August 31, 2026, Google Play requires new apps and updates to target API 36 (extension available to November 1, 2026). Android 17 / API 37 removes the remaining opt-out.

An AI tool generating android:screenOrientation="portrait" or android:resizeableActivity="false" today is generating code that triggers App Compatibility warnings in Play Console, fails large-screen quality checks, and gets apps demoted in Play Store search results.

The business impact is not theoretical: Foldable users spend 14× more on apps than phone-only users. Tablet + phone users spend 9× more. FlipaClip saw 54% growth in tablet users within four months of going adaptive.

Kotlin Multiplatform went mainstream in 2025 — over 900 new KMP libraries published, Room added KMP support, companies now hire specifically for KMP skills. When a developer on a KMP project asks an AI tool to add database support, the AI generates Android-only Room code. It compiles. It runs perfectly on Android. The iOS build fails. The developer spends hours debugging before realizing the root cause: their AI tool does not know KMP exists.


🧩 What AndroJack Does

AndroJack is a documentation-grounded Android engineering MCP server. It gives your AI coding assistant 23 specialized tools that fetch live, verified answers from official Android and Kotlin sources — instead of predicting from stale training data.

It does not make the AI smarter. It makes the AI accountable to evidence.

Think of it as a pre-build linter for LLMs. While other tools retrieve documentation, AndroJack acts as a strict architectural gatekeeper.

Without AndroJack:  You ask → AI predicts from stale weights → Code (possibly wrong)

With AndroJack:     You ask → AI calls tool → Tool fetches official source live
                             → AI reads verified answer → Code (grounded)

⚠️ Honest Activation Model — Two Levels

IMPORTANT

This is the most important thing to understand before you install AndroJack.

Level

What's Active

What the AI Does

Level 1 — Tools only

23 tools registered in IDE

AI may call the right tool. Depends on the IDE and the AI's judgment.

Level 2 — Tools + Grounding Gate

23 tools + mandatory pre-generation rulebook

AI must call the correct tool for every decision before writing code.

Level 3 — Full loop-back

Level 2 + android_code_validator

AI validates every code block against 34 rules. Errors must be fixed before the user sees the code.

Level 1 is passive. The tools are available but the AI decides when to use them. An AI building a Compose screen may call architecture_reference but skip material3_expressive — and ship M3E violations silently.

Level 2 is active. The androjack_grounding_gate system prompt maps every task type to the correct tool. Building Compose UI? The AI is mandated to call material3_expressive first. Adding a dependency? It must call gradle_dependency_checker. No exceptions.

Level 3 is the loop-back. android_code_validator runs on every code block the AI generates before returning it to the user. 34 rules covering removed APIs, deprecated patterns, Android 16/17 compliance, and Compose-First migration signals. Comments are ignored, so a migration note like // replaced AsyncTask never triggers a false FAIL. Results come back as text and as structuredContent with an output schema. Verdict FAIL means the AI must fix and re-validate — the user never sees the broken code.

→ For full grounding, always activate Level 2 + Level 3. See Getting the Full Guarantee below.


🪲 What Can Still Break — Even at Level 3

IMPORTANT

AndroJack is a documentation-grounding and API-validation tool. It is not a Compose layout engine, a design system enforcer, or a runtime renderer. Level 3 catches removed APIs and deprecated patterns. It cannot catch every class of Android bug. This is not a limitation of AndroJack — it is a fundamental property of static text analysis applied to a visual, runtime-rendered UI framework.

The following bugs were encountered in a real Android app built with AndroJack at Level 2 (v1.4.0). They are documented here honestly so you know exactly what to watch for — and where to reach for different tools.

✅ What Level 3 Catches

// ❌ REMOVED — android_code_validator fires: REMOVED_ASYNCTASK
class MyTask : AsyncTask<Void, Void, String>()

// ❌ REMOVED — fires: REMOVED_TEST_COROUTINE_DISPATCHER
val dispatcher = TestCoroutineDispatcher()

// ❌ DEPRECATED — fires: DEPRECATED_CONTEXTUAL_FLOW_ROW
ContextualFlowRow { Text("hello") }

// ❌ LEAK — fires: GLOBALSCOPE_LAUNCH
GlobalScope.launch { fetchData() }

⚠️ What Level 3 Cannot Catch

WARNING

The following bugs were found in a real project. They are valid, API-current Compose code that violates design system constraints, accessibility minimums, or architectural boundaries. Static text scanning cannot detect them.

// Compiles and runs. Level 3 sees no violation.
// The bug: Text inside MultiChoiceSegmentedButtonRow truncates because a
// fixed height modifier prevents the Roboto Flex variable font from expanding.
MultiChoiceSegmentedButtonRow {
    SegmentedButton(/* fixed height modifier */) {
        Text("Light")
    }
}
NOTE

This is anabsence bug. The correct modifier is missing — no wrong one is present. Use visual testing or runtime inspection.

// Correct Material 3 API. Level 3 sees no violation.
// The bug: disabled state colours fail WCAG AA 4.5:1 contrast against surface.
Button(enabled = false, onClick = {}) {
    Text("INITIALIZE VAULT")
}
NOTE

This is aruntime visual property bug. Use paparazzi screenshot tests or Google's Accessibility Scanner.

// A missing try/catch produces no pattern match.
class VaultViewModel : ViewModel() {
    fun initializeVault() {
        viewModelScope.launch {
            val result = repository.initialize() // Missing try/catch
            _uiState.value = UiState.Success(result)
        }
    }
}
WARNING

UDF architecture violations require Detekt with custom rules or unit tests verifying exception mapping.


🗂️ Defence-in-Depth: The Right Tool for Each Bug Class

Bug Class

Real Example

Right Tool

Removed / deprecated API

AsyncTask, TestCoroutineDispatcher

✅ AndroJack Level 3

Android 16 violations

screenOrientation, resizeableActivity=false

✅ AndroJack Level 3

Android 17 violations

static final reflection, LAN without permission

✅ AndroJack Level 3

Architecture (flagged root)

GlobalScope leaking to UI

✅ AndroJack Level 3

Absent modifier / missing constraint

PH-UI-009 (innerPadding)

🔧 Android Lint / IDE inspector

Runtime contrast / colour failures

PH-UI-003 (WCAG)

🔧 paparazzi + Accessibility Scanner

Touch target violations

PH-UX-008

🔧 Accessibility Scanner

Architecture boundary (missing catch)

PH-AR-004 (stack trace to UI)

🔧 Detekt + ViewModel unit tests


🎯 The Killer Argument

"Can your agents.md file tell me the Gradle version that shipped last Tuesday?"

No markdown file can. No rules in .cursorrules can. No SKILL.md can.

✅ Only a live tool call can.

That's the job AndroJack exists to do — and nothing else in the current ecosystem does it for Android specifically.

What you need

agents.md / SKILL.md

AndroJack MCP

Format output a specific way

✅ Perfect

Works too

Follow team conventions

✅ Perfect

Works too

Latest Gradle version right now

❌ Guesses from memory

✅ Fetches live

Is AsyncTask removed?

❌ May be wrong

✅ Verified against SDK

Android 16 Play Store rules

❌ Unknown

✅ Official source

Prompt engineering controls how the AI responds. MCP controls what the AI knows.


✨ What AndroJack Covers — 23 Tools

#

Tool

What It Does

What Breaks Without It

1

🔍 search

Official doc excerpts — Google Developer Knowledge API (optional key) or a verified index of canonical pages

AI reasons from memory — possibly wrong today

2

⚠️ component

Deprecated/removed check on 40+ APIs

Compiles fine, breaks at runtime/review

3

📐 architecture

Guides for 40+ topics — MVVM, Nav3, MVI...

AI gives 2022 advice; misses Nav3

4

🐛 debugger

Parses stacktraces → official docs + Issue Tracker link

AI hallucinates fixes for known bugs

5

📦 gradle

Live lookup from Google Maven (highest stable, pre-release flagged) + BOM resolution

Stale Compose BOM, KAPT instead of KSP

6

📊 api-level

API 21–36 table, minSdk warnings

API 26+ calls in minSdk 21 apps

7

🎯 kotlin

10 patterns — coroutines, MVI, Compose state

GlobalScope.launch, runBlocking in UI

8

🎨 m3e

Material 3 Expressive components & Motion

M2 MaterialTheme in M3E app

9

🔐 permissions

40+ permissions rules & contracts

deprecated requestPermissions()

10

🧪 testing

Unit/Compose UI testing official patterns

Thread.sleep() in tests; missing Hilt

11

🏗️ build

R8, libs.versions.toml, signing, AAB

implementation instead of ksp

12

📱 large-screen

WindowSizeClass (5 breakpoints incl. Large/XL), Adaptive Scaffolds

Phone-only layouts on foldables and desktops

13

🚀 scalability

Paging 3, WorkManager, modularization

Naive loadAll(); unstable keys in lists

14

🧭 nav3

Nav3 (Nov 2025) — Scenes, migration

AI generates Nav2 dead-ends

15

✅ compliance

API 36 / Android 16 / 16 KB page size

Updates rejected — Play has required targetSdk 36 since Aug 31, 2026

16

🌐 kmp

Room KMP, Room 3 (stable, androidx.room3), Ktor, source sets

Android-only code in KMP projects

17

🤖 ondevice-ai

AICore, ML Kit Gen AI, Gemini Nano, AppFunctions (on-device MCP)

Cloud-only AI when offline is required

18

📋 policy

Play Store age-gating, billing openness, data safety

Apps rejected for unknown policy changes

19

🥽 xr

Android XR SDK, SpatialPanel, Orbiter

Works as 2D panel, misses spatial value

20

⌚ wear

Tiles, Health, M3 Expressive for Wear OS

Handheld patterns on round displays

21

🛡️ validator

Level 3 loop-back validation gate — 34 rules, structured output, also runs in CI

AI ships broken code without checking

22

🆕 api17

Android 17 / API 37 (stable) — static final, LAN, OTP, MessageQueue, native libs, Handoff

Apps crash on API 37 targets

23

🪪 dev-verification

Developer Verification Program — timeline, registration, CI/CD

Apps blocked from install on certified devices (enforced since Sept 30, 2026 in 4 countries)


🚀 Quick Start — Zero Install Required

npx -y androjack-mcp@2.1.0 install

Launches a full animated terminal wizard with auto-detection for VS Code, Cursor, Claude, Windsurf, JetBrains, Kiro, and Antigravity.

Option 2 — Targeted Installs

# Preview detected IDEs and config paths
npx -y androjack-mcp@2.1.0 install --list

# Auto-detect all
npx -y androjack-mcp@2.1.0 install --auto

# Install to a specific IDE
npx -y androjack-mcp@2.1.0 install --ide=cursor
npx -y androjack-mcp@2.1.0 install --ide=claude
npx -y androjack-mcp@2.1.0 install --ide=vscode
npx -y androjack-mcp@2.1.0 install --ide=windsurf
npx -y androjack-mcp@2.1.0 install --ide=jetbrains
npx -y androjack-mcp@2.1.0 install --ide=kiro
npx -y androjack-mcp@2.1.0 install --ide=antigravity

Option 3 — Test Without an IDE

npx -y @modelcontextprotocol/inspector npx -y androjack-mcp@2.1.0

Option 4 — Enforce the rules in CI (new in 2.1.0)

The same rule engine the agent is held to, run on every pull request — including code no agent touched:

npx -y androjack-mcp@2.1.0 validate app/src --target-sdk=37            # exit 1 on errors
npx -y androjack-mcp@2.1.0 validate . --format=sarif > androjack.sarif  # GitHub code scanning
# .github/workflows/androjack.yml
- run: npx -y androjack-mcp@2.1.0 validate . --target-sdk=37 --format=sarif > androjack.sarif || true
- uses: github/codeql-action/upload-sarif@v3
  with: { sarif_file: androjack.sarif }
- run: npx -y androjack-mcp@2.1.0 validate . --target-sdk=37   # fails the job on errors

Flags: --format=text|json|sarif, --target-sdk=N, --min-sdk=N, --fail-on=error|warning|never. Exit codes: 0 pass, 1 violations, 2 usage error or the scan could not check everything (no matching files, a file over 1 MiB, or the 20k-file cap) — a gate never passes on a partial scan.

Optional configuration

Variable

Effect

ANDROJACK_DEVELOPER_KNOWLEDGE_API_KEY

Use Google's Developer Knowledge API as the doc-search backend (full-text search over developer.android.com). Without it, AndroJack uses its verified index of canonical pages. Privacy: search queries — including exception messages from android_debugger — are sent to Google.

ANDROJACK_OFFLINE=1

Zero outbound requests — tools return canonical links only. For air-gapped setups.

ANDROJACK_HTTP_TOKEN

serve requires Authorization: Bearer <token>. Mandatory for remote binds when a Google API key is set.

ANDROJACK_ALLOW_REMOTE_HTTP=1

Same as serve --allow-remote; also applies to --http.

ANDROJACK_HTTP_STATELESS=1 / serve --stateless

No MCP sessions — each request is self-contained (load-balancer friendly).


🧩 Manual Config / Copy / Paste

If you prefer to wire the server manually, or want to inspect the exact JSON before writing anything:

  • Run npx -y androjack-mcp@2.1.0 install --list to preview detected IDEs and target config paths.

  • Ready-to-paste examples live in config/.

IDE / Client

Config file

Claude Desktop

config/claude_desktop_config.json

Cursor

config/cursor_mcp.json

VS Code / GitHub Copilot

config/vscode_mcp.json

Windsurf

config/windsurf_mcp.json

Android Studio / IntelliJ

config/jetbrains_mcp.json

AWS Kiro

config/kiro_mcp.json

Google Antigravity

config/antigravity_mcp.json

Every example keeps AndroJack local by default and runs the published package via npx -y androjack-mcp@2.1.0.


📍 The Ecosystem: AndroJack and Google's First-Party Agent Tools

Google now ships its own agent stack for Android. Being straight about the overlap:

Google Developer Knowledge MCP/API

Android CLI + Android skills + Knowledge Base

AndroJack MCP

Job

Retrieve docs (search, get, answer)

Run the toolchain; give agents task instructions; android docs search

Enforce: validate code, encode time-bound mandates, gate CI

Retrieval quality

Best available — Google's own index

Google's own index

Uses Google's API when you set a key; otherwise a verified index of canonical pages

Fails a build?

No

No (skills are advisory; android studio check needs Studio)

Yes — deterministic rule IDs, exit codes, SARIF

Setup

Google Cloud project + API key

Install the CLI

npx androjack-mcp@2.1.0 — no account

Where it runs

Remote (googleapis.com)

Local CLI

Local stdio / HTTP, works offline

Recommended setup: use Google's tools for retrieval and task skills, and AndroJack as the enforcement step — android_code_validator inside the agent loop and androjack-mcp validate in CI. AndroJack does not try to out-search Google's own documentation index. With ANDROJACK_DEVELOPER_KNOWLEDGE_API_KEY set, it uses that index.


🔒 Security & Privacy

Property

Implementation

Domain allowlist

Requests only to Google/Android/Kotlin official domains, default HTTPS port, no embedded credentials

Redirects re-validated

Every redirect hop is checked against the allowlist (2.1.0) — an allowlisted host cannot bounce a fetch elsewhere

Untrusted-content boundary

All fetched text is normalized, scrubbed of injection patterns and spoofed boundary tags, and wrapped as untrusted before it reaches the agent

HTTPS only

Outbound documentation fetches refuse non-HTTPS URLs, cap body size, and redact query strings in retry logs

Local by default

serve binds to loopback only unless you explicitly pass --allow-remote

HTTP hardening

Origin/Host validation, body cap, session cap with idle eviction, optional bearer token, stateless mode

Transparent agent

User-Agent: AndroJack-MCP/2.1.0

Read-only

All 23 tools annotated readOnlyHint: true, destructiveHint: false, idempotentHint: true

Credentials

None required. The optional Google API key is sent only as a header, never in URLs or logs

Offline mode

ANDROJACK_OFFLINE=1 guarantees zero outbound requests

Security policy

Disclosure process and supported versions in SECURITY.md


📋 Changelog

v2.1.0 — Fix what didn't work, harden what did, enforce in CI

  • Doc search actually returns docs. v2.0 scraped client-rendered search pages and returned no documentation for any query. 2.1 uses Google's Developer Knowledge API (optional key) or a verified index of canonical pages.

  • Security: redirect allowlist bypass closed; all fetched content now goes through the untrusted-content boundary (v2.0 claimed this but only one tool did it); boundary-tag spoofing and zero-width/full-width evasion fixed; HTTP session-exhaustion DoS fixed; bearer auth and stateless mode; 7 dependency vulnerabilities (1 critical) patched.

  • No more confident wrong answers: Row → "DEPRECATED", Task → "REMOVED" registry false positives fixed; Android 17 games exemption corrected; fabricated Handoff API removed; Room 3 is stable (was described as alpha); Google Maven alphas no longer labelled "Latest Stable"; 19 dead documentation links replaced.

  • Validator: comments ignored (ends agent fix-loops), Kotlin DSL kapt(...) detected, API 37 thresholds corrected, 6 new Android 17 rules (34 total), structured output.

  • New: androjack-mcp validate CLI (text/JSON/SARIF) for CI; MCP resources for the rule catalogue; full tool annotations; AppFunctions guidance; Android Studio Rabbit 1 / AGP 9.4.

  • Lower token cost: tools/list ~28.5 KB → ~20.5 KB; repeated identical results in a session are replaced by a short pointer (pass refresh: true to get them again).

  • Tests: 85 → 196 (+1 opt-in live), including a 17-scenario black-box UAT suite driven through the real MCP SDK client. See test/uat/UAT_PLAN.md.

Full details: CHANGELOG.md.

v2.0.0 — Security Hardening, Compose-First, Developer Verification

  • Content sanitizer for indirect prompt injection — src/content-sanitizer.ts neutralizes structural injection patterns (fake role markers, instruction-reset framing) in any externally-fetched text before it reaches the calling agent's context. android_debugger results from issuetracker.google.com — the only allowlisted domain indexing free-text, user-submitted content — are wrapped in an explicit untrusted-data boundary.

  • Dependency vulnerabilities patched — resolved 7 vulnerabilities (3 high) in transitive undici/qs via a cheerio update. Zero breaking changes, 0 vulnerabilities in the shipped tree.

  • Tool 23: android_developer_verification — Google's developer verification program enforces from September 30, 2026 (Brazil, Indonesia, Singapore, Thailand first; global 2027). Covers registration paths, timeline, enterprise exemptions, and CI/CD bulk-registration APIs.

  • Compose-First platform shift reflected — as of May 19, 2026, Android UI development is officially Compose First; View-based patterns (Fragments, RecyclerView, ViewPager) are flagged as maintenance-mode wherever queried, sourced directly from Google's own announcement rather than left silently outdated.

  • Compose 1.11 v2 Testing Framework — full migration guide for the new default StandardTestDispatcher behavior, plus a validator rule (UNCONFINED_DISPATCHER_COMPOSE_TEST) that flags the old assumption.

  • Navigation 3 Scene Decorators (1.1) — persistent chrome (bottom bars, rails, dialogs) without per-screen awareness.

  • Android Studio codename corrected — was two full codenames stale ("Panda 2"). Now correctly reflects Quail (2026.1.x) as current stable, AGP 9.2.0.

  • Android Skills positioning — documents Google's first-party Android Skills/CLI (April 2026) and positions AndroJack's validator as the complementary post-generation enforcement gate, not a competing retrieval layer.

  • 28 validator rules (was 26) — added UNCONFINED_DISPATCHER_COMPOSE_TEST and NEW_FRAGMENT_CLASS_COMPOSE_FIRST.

  • Fabricated version numbers removed — a prior session's dependency version catalog example asserted several unverified version numbers. Replaced with only-confirmed values plus explicit CHECK_LIVE_VIA_gradle_dependency_checker placeholders.

  • Full version sync — closed a gap where src/version.ts had been bumped without propagating to package.json, all IDE config files, and manifest files — now enforced as a release checklist item.

v1.7.1 — Engineering Hardening & Community Parity

  • 54-Test Coverage — Implemented comprehensive unit and contract tests for validator rules, HTML parser, LRU cache, and HTTP security layer.

  • Discovery Parity — Fixed /.well-known/mcp endpoint to correctly report tools: 22.

  • Dependency Sanitization — Removed node-fetch (migrated to native fetch) and pruned stale overrides for a cleaner supply chain.

  • Rule Hardening — Improved Compose component detection for NavHost and BottomAppBar.

  • URL Remediation — Fixed broken documentation anchors for Android 17 ACCESS_LOCAL_NETWORK and handoff.

v1.7.0 — Android 17 / API 37 Support

  • Tool 22: android_api17_compliance — Full reference for Android 17 platform stability (March 26, 2026).

  • Validator rule expansion — (Corrected in 2.1.0: these notes originally claimed 31 rules, including Room 3.0 and ACCESS_LOCAL_NETWORK checks that never shipped. The real count was 26 → 28 in 2.0.0 and 34 in 2.1.0.)

  • WindowManager 1.5.0 — Added Large (1200dp) and Extra-large (1600dp) breakpoints and layout patterns.

  • Room 3.0 alpha — Support for modern SQLiteDriver migration paths.


👥 Authorship & Ownership

Vikas Sahani — Product Lead (vikassahani17@gmail.com)
Claude AI — AI Engineering Lead


MIT License © 2026 Vikas Sahani | SECURITY.md

Built because 35% of Stack Overflow visits in 2025 are developers debugging AI-generated code.
AndroJack exists so none of those visits are yours.

Available Tools

23 tools
android_api17_complianceAndroid 17 / API 37 ComplianceC
Read-onlyIdempotent

Android 17 / targetSdk 37 breaking changes: static final reflection, ACCESS_LOCAL_NETWORK, SMS OTP delay, large-screen opt-out removed (games exempt), lock-free MessageQueue, read-only System.load, NPU declaration, Handoff. Topics: overview, checklist, static final, local network, sms otp, large screen, messagequeue, npu, handoff.

Inputs: topic, refresh.

android_api36_complianceAndroid 16 / API 36 Compliance CheckerB
Read-onlyIdempotent

Android 16 / targetSdk 36 (required by Play for new apps and updates since Aug 31, 2026): orientation and resizability locks are ignored on ≥600dp; predictive back; 16 KB pages. Topics: compliance, layouts, checklist, predictive back, page size.

Inputs: topic, refresh.

android_api_level_checkAndroid API Level ReferenceA
Read-onlyIdempotent

Map an API level, version name, or codename to features and minSdk warnings. Pass 'all' for the full table.

Inputs: api_level_or_name (required).

android_build_and_publishAndroid Build & Publish GuideB
Read-onlyIdempotent

Build and release reference: R8/ProGuard, version catalogs, kapt→KSP, signing, AAB/Play publishing, Baseline Profiles, current Android Studio/AGP, Google's Android CLI and skills.

Inputs: topic, refresh.

android_code_validatorAndroid Code ValidatorA
Read-onlyIdempotent

Call after generating every Android code block, before returning it. Checks Kotlin, XML, and Gradle against 34 rules (removed/deprecated APIs, Android 16/17 behaviour, coroutine misuse, kapt). Returns PASS/WARN/FAIL with line-level fixes and doc links, plus structuredContent. Comments are ignored. On FAIL, fix and re-run.

Inputs: code (required), minSdk, language, targetSdk. Returns: counts, minSdk, verdict, language, +3 more

android_component_statusAndroid Component Status ValidatorA
Read-onlyIdempotent

Is an Android/Kotlin class or library stable, deprecated, or removed? Call before using any android., androidx. or kotlin.* API. Returns status, replacement, and doc link; unknown names are reported as unconfirmed, never guessed.

Inputs: component_name (required).

android_debuggerAndroid Error DebuggerA
Read-onlyIdempotent

Parse an Android/Kotlin stacktrace and return the error class, matching official docs, and an Issue Tracker search link. Paste the exception line and 'at' frames.

Inputs: stacktrace (required), refresh.

android_developer_verificationAndroid Developer Verification ProgramB
Read-onlyIdempotent

Android developer verification (identity check; enforced since Sept 30, 2026 in BR/ID/SG/TH, global 2027): who is affected, registration paths, enterprise exemptions. Topics: overview, timeline, registration, enterprise, studio.

Inputs: topic, refresh.

android_kmp_guideKotlin Multiplatform (KMP) GuideA
Read-onlyIdempotent

Kotlin Multiplatform reference: project setup, KMP libraries (Ktor not Retrofit, Koin not Hilt in commonMain), Room KMP and Room 3, expect/actual. Topics: overview, libraries, room, ktor, expect actual, gradle.

Inputs: topic, refresh.

android_large_screen_guideAndroid Large Screen & Adaptive Layout GuideA
Read-onlyIdempotent

Large-screen/tablet/foldable reference: WindowSizeClass, NavigationSuiteScaffold, ListDetailPaneScaffold, hinge handling, continuity, Play large-screen quality checklist.

Inputs: topic, refresh.

android_navigation3_guideAndroid Navigation 3 GuideA
Read-onlyIdempotent

Navigation 3 reference (current official library). Call before any navigation code — do not generate Navigation 2 NavController/NavHost for new projects. Topics: overview, migration, scenes, testing, backstack, key.

Inputs: topic, refresh.

android_ondevice_aiAndroid On-Device AI / AICore GuideB
Read-onlyIdempotent

On-device AI: AICore / Gemini Nano via ML Kit GenAI, ML Kit, repository pattern for on-device vs cloud, and AppFunctions (expose app functions to agents; experimental). Topics: overview, setup, smart reply, ml kit, appfunctions.

Inputs: topic, refresh.

android_permission_advisorAndroid Permission AdvisorA
Read-onlyIdempotent

Permission reference: type, runtime-request need, Play restrictions, and the request pattern. Call before adding . Query 'runtime pattern' for request code; empty lists all.

Inputs: refresh, permission.

android_play_policy_advisorGoogle Play Store Policy AdvisorA
Read-onlyIdempotent

Play policy reference: target API requirement, Restrict Minor Access, subscription transparency, restricted permissions and Data Safety, large-screen quality. Call before Play submission or new monetization.

Inputs: topic, refresh.

android_scalability_guideAndroid Scalability Architecture GuideC
Read-onlyIdempotent

Scale patterns: Paging 3 + RemoteMediator, offline-first sync (WorkManager + Room), HTTP caching, cold start, modularization, Compose recomposition performance.

Inputs: topic, refresh.

android_testing_guideAndroid Testing GuideA
Read-onlyIdempotent

Testing reference: unit tests (JUnit4, MockK, Turbine, coroutines-test), Compose UI tests, Espresso, ViewModel and Room tests, Hilt testing, test pyramid. Call before writing tests.

Inputs: topic, refresh.

android_wearos_guideWear OS Developer GuideA
Read-onlyIdempotent

Wear OS reference — uses different Compose artifacts than phones (ScalingLazyColumn, SwipeDismissableNavHost, Wear Material 3). Covers Tiles and Health Services. Topics: overview, compose, tiles, health services, navigation.

Inputs: topic, refresh.

android_xr_guideAndroid XR Developer GuideA
Read-onlyIdempotent

Android XR / Jetpack XR reference (Compose for XR beta, SceneCore and ARCore RC): SpatialPanel, UserSubspace, Orbiter, ARCore for XR, shipping one app for XR and non-XR. Topics: overview, setup, spatial ui, arcore, compatibility.

Inputs: topic, refresh.

architecture_referenceAndroid Architecture ReferenceA
Read-onlyIdempotent

Official Android architecture guide for a topic (mvvm, compose, navigation, hilt, viewmodel, room, workmanager, paging, datastore, coroutines, flow, testing, lifecycle, modularization, security…). Call before proposing app structure. Pass 'list' for all topics.

Inputs: topic (required), refresh.

gradle_dependency_checkerGradle Dependency Version CheckerA
Read-onlyIdempotent

Current stable version and ready-to-paste Gradle (Kotlin DSL / TOML) for an Android, Kotlin, or Jetpack library from Google Maven / Maven Central, including BOM handling. Accepts a name ('room', 'compose-bom', 'coil') or exact 'group:artifact'. Call before adding or bumping any dependency.

Inputs: library_name (required), refresh.

kotlin_best_practicesKotlin & Android Best PracticesA
Read-onlyIdempotent

Official Kotlin/Android code patterns with anti-patterns: coroutines-viewmodel, stateflow-ui, compose-state, room-dao, hilt-injection, navigation-compose, workmanager-task, sealed-result. Empty topic lists all.

Inputs: topic, refresh.

material3_expressiveMaterial 3 Expressive ReferenceA
Read-onlyIdempotent

Material 3 Expressive reference: MaterialExpressiveTheme, MotionScheme, ButtonGroup, FloatingToolbar, LoadingIndicator, MaterialShapes, typography, Wear, migration from M3. Call before building Compose UI or theming. Empty topic lists all.

Inputs: topic, refresh.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 23 tools

    Disambiguation4/5

    Most tools have clearly distinct domains (XR, Wear OS, KMP, Play policy, testing, build/publish), and descriptions give explicit call triggers. However, several knowledge tools overlap: architecture_reference, kotlin_best_practices, and android_navigation3_guide all touch navigation/room/compose topics, and large-screen concerns appear in both android_large_screen_guide and android_api36_compliance, creating some misselection risk.

    Naming Consistency4/5

    All names use predictable snake_case noun-phrase style that is easy to scan and reason about. The only inconsistency is the 'android_' prefix, which is applied to most but not all tools (architecture_reference, gradle_dependency_checker, kotlin_best_practices, material3_expressive lack it).

    Tool Count4/5

    23 tools is on the heavy side and borders the 'too many' threshold, but the breadth of covered domains (Wear, XR, KMP, Play policy, testing, publishing, compliance) justifies most of them. Each tool appears to own a distinct topic rather than duplicating another.

    Completeness5/5

    The surface is remarkably complete for an Android/Kotlin assistant: official search, API status, architecture and framework guides, dependency versioning, API-level mapping, permissions, testing, build/publish, code validation, plus Play compliance and developer verification. General fallback (android_official_search) covers residual lookups, leaving few obvious dead ends.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      A
      maintenance
      Provides AI tools with on-demand, precise access to real AOSP framework and AndroidX source code, so they can search classes, extract exact method bodies with Javadoc, inspect inheritance hierarchies, and trace definitions and references across the entire tree. Sources are synced locally for fast, offline lookups, with optional language-server features for cross-file navigation.
      -
    • F
      license
      Not graded
      quality
      B
      maintenance
      Provides AI assistants with on-demand, precise access to real AOSP and AndroidX source code, enabling class and method lookups, class member and hierarchy inspection, source-wide text/regex search, and optional cross-file definition, reference, and type resolution via LSP. Sources are synced locally for instant offline queries against framework internals like the Activity lifecycle, ViewModel restoration, and Compose internals.
      -
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables AI tools to perform on-demand, precise lookups of AOSP and AndroidX source code, including class and method extraction, inheritance hierarchy, cross-file references, and type information. Supports local syncing and updating of framework and Jetpack sources for offline, instant exploration.
      -