Command Palette

Search for a command to run...

UnylyUnyly
Browse all

AOSP Platform Builder

FreeNot checked

Connects to a GCP-hosted AOSP build VM via IAP tunnel, uploads APKs as privileged system apps, and builds system.img.

GitHubEmbed

About

Connects to a GCP-hosted AOSP build VM via IAP tunnel, uploads APKs as privileged system apps, and builds system.img.

README

MCP server that connects to a GCP-hosted AOSP build VM via IAP tunnel, uploads APKs as privileged system apps, and builds system.img.

Project Structure

aosp-platform-builder-mcp/
├── connection.json          ← Your GCP/AOSP config (edit this)
├── .env.example
├── pyproject.toml
├── requirements.txt
├── skills.md                ← Exhaustive Claude skill definition
├── README.md
└── src/
    ├── server.py            ← MCP server (8 tools)
    ├── tools/
    │   ├── gcp.py           ← connect_gcp
    │   ├── apk.py           ← upload_apk
    │   ├── module.py        ← create_priv_app_module
    │   ├── config.py        ← patch_product_config
    │   └── build.py         ← run_lunch, build_systemimage,
    │                           stream_build_logs, exec_remote
    └── utils/
        ├── config.py        ← Loads connection.json
        ├── shell.py         ← Local command execution
        ├── ssh.py           ← gcloud compute ssh/scp (IAP)
        └── validation.py    ← Input sanitization

Setup

# 1. Install
cd aosp-platform-builder-mcp
pip install -e .

# 2. Authenticate
gcloud auth login

# 3. Edit connection.json with your details (pre-filled for current setup)

# 4. Register with Claude Code — add to ~/.claude/settings.json:
{
  "mcpServers": {
    "aosp-platform-builder": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/Users/jai.goyal/aosp-platform-builder-mcp"
    }
  }
}

Current Configuration

Setting Value
GCP Project glancecdn-sandbox-c32a
Zone asia-south1-c
VM aosp-build-vm-replica-1
SSH User jai.goyal
IAP Tunnel enabled
AOSP Root /home/jai.goyal/a16
Lunch Target aosp_arm64-bp2a-userdebug
Build Command make -j96
Output out/target/product/generic_arm64/system.img

Usage

User: "connect and upload my apk and add this apk as a priv-app"

Claude:
  1. Asks for APK path
  2. connect_gcp       → auth + start VM + test SSH
  3. upload_apk        → validate + scp + extract package name
  4. create_priv_app_module → Android.bp in vendor/glance/priv-app/
  5. patch_product_config   → PRODUCT_PACKAGES += Module
  6. run_lunch              → lunch aosp_arm64-bp2a-userdebug
  7. build_systemimage      → make -j96
  8. Returns system.img path

from github.com/goyaljai/aosp-platform-builder-mcp

Installing AOSP Platform Builder

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/goyaljai/aosp-platform-builder-mcp

FAQ

Is AOSP Platform Builder MCP free?

Yes, AOSP Platform Builder MCP is free — one-click install via Unyly at no cost.

Does AOSP Platform Builder need an API key?

No, AOSP Platform Builder runs without API keys or environment variables.

Is AOSP Platform Builder hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install AOSP Platform Builder in Claude Desktop, Claude Code or Cursor?

Open AOSP Platform Builder 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

Compare AOSP Platform Builder with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs