claude-android

claude-android

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.

Category
Visit Server

README

claude-android

MCP server + Claude Code skills toolkit for Android dev workflows. Expose Gradle / Manifest / R8 context to Claude, ship a curated library of skills that consume it.

Status License Node MCP

What it does

Android projects with Kotlin DSL + convention plugins + KMP + AGP-upgrade pain repeat the same tasks: read versions, scan dependencies, plan migrations, audit R8 rules. Each task makes Claude grep files line by line.

claude-android is an MCP server that exposes a small set of read-only tools (Gradle, Manifest, ProGuard) so Claude can answer "what's my AGP version, what plugins, what permissions" in milliseconds — and a skills library (agp-upgrade, r8-audit, string-sync, …) that orchestrates those tools to deliver complete workflows.

┌──────────────────┐    stdio     ┌─────────────────────┐    fs    ┌──────────────┐
│  Claude Code     │  ────────▶   │  claude-android     │  ──────▶ │ your Android │
│  (CLI / agent)   │              │  MCP server         │           │ project      │
└──────────────────┘   tools list └─────────────────────┘  parsed   └──────────────┘
                                        ▲                  JSON
                                        │
                                ┌────────────────┐
                                │ skills/        │
                                │  agp-upgrade/  │
                                │  r8-audit/     │
                                │  ...           │
                                └────────────────┘

v0.1 scope

What ships today:

Component Status
MCP server (stdio transport)
Tool: get_project_info (settings.gradle + libs.versions.toml)
Tool: read_gradle (module build.gradle.kts)
Tool: read_manifest (AndroidManifest.xml)
Skill: agp-upgrade (workflow only — no auto-apply)
Tool: read_proguard_rules ⏳ v0.2
Tool: run_lint ⏳ v0.2
Skill: r8-audit ⏳ v0.2
Skill: string-sync ⏳ v0.3

Requirements

  • Node ≥ 20
  • Claude Code installed and authenticated (https://docs.claude.com/en/docs/claude-code/quickstart)
  • A real Android project with Kotlin DSL Gradle to point at

Install

Option A — From npm (after publish)

npm install -g @duonglkh/claude-android

Option B — From source (v0.1 preview)

git clone https://github.com/duonglkh/claude-android.git
cd claude-android
npm install
npm run build
npm link    # so `claude-android-mcp` is on your PATH

Register the MCP server with Claude Code

claude mcp add android claude-android-mcp

Verify:

claude mcp list
# expected: "android" with status "connected" (or similar)

Use the skills

Skills live in skills/. To use them in Claude Code:

# Copy / symlink skills into Claude Code's skills directory
mkdir -p ~/.claude/skills
cp -r ./skills/agp-upgrade ~/.claude/skills/

# Or, if installed via npm globally:
# Symlink from the global install:
ln -s "$(npm root -g)/@duonglkh/claude-android/skills/agp-upgrade" ~/.claude/skills/agp-upgrade

Then in any Android project:

cd ~/your-android-project
claude
> /agp-upgrade

Claude will:

  1. Call mcp__android__get_project_info to read AGP / Kotlin / modules.
  2. Ask which AGP version to target.
  3. For each module, call mcp__android__read_gradle to find breaking changes.
  4. Produce a step-by-step migration plan without applying any changes.
  5. Wait for confirmation before patching.

Tools reference

get_project_info

Input:

{ "projectPath": "/absolute/path/to/android/project" }

Output (example):

{
  "projectPath": "/Users/me/MyApp",
  "rootProjectName": "MyApp",
  "modules": ["app", "core:ui", "feature:home"],
  "agpVersion": "8.7.3",
  "kotlinVersion": "2.0.21",
  "composeBomVersion": "2024.12.01",
  "isKmp": false,
  "hasBuildLogic": true,
  "warnings": []
}

read_gradle

Input:

{ "modulePath": "/absolute/path/to/module" }

Output includes: plugins, namespace, compileSdk, minSdk, targetSdk, applicationId, versionCode, versionName, composeEnabled, dependencies.

read_manifest

Input:

{ "manifestPath": "/absolute/path/to/AndroidManifest.xml" }

Output includes: packageAttr, permissions, applicationName, applicationLabel, applicationIcon, applicationTheme, usesCleartextTraffic, activities, services, receivers, providers.

Roadmap

  • v0.1 (this release) — read-only tools + agp-upgrade skill
  • v0.2read_proguard_rules, run_lint; r8-audit skill
  • v0.3string-sync skill (locale catalogs)
  • v0.5 — first npm publish (@duonglkh/claude-android)
  • v1.0 — write tools (apply patches with confirmation), Crashlytics adapter

See issues for current work.

Status

v0.1 preview — tools are functional but parsers are regex-based, not full AST. They handle modern Kotlin DSL Gradle projects well; legacy Groovy build.gradle may parse poorly. Open an issue with a sample if you hit it.

Contributing

PRs welcome. Open an issue first for non-trivial changes. New skills are especially valued — if your team has an Android workflow that Claude could orchestrate, propose it.

Part of the hidev open-source ecosystem

See duonglkh.github.io for the full roster.

License

MIT © 2026 Hidev (Hung Duong)

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured