mcpField
ア
アイリ Android MCP

アイリ Android MCP

Local
github.com/proj-airiDeveloper Tools17Updated 41w ago

About アイリ Android MCP

アイリ Android MCP is an MCP server that lets LLMs control Android devices and is a child project of airi. It provides screen input, device status queries, UI hierarchy access, and connection management.

Key features

  1. 01Tap, swipe, and enter text
  2. 02Send key and trackball input
  3. 03Read screen size and battery status
  4. 04Get UI hierarchy and current activity
  5. 05Connect devices and run shell commands

Use cases

  1. 01Operate Android app interfaces through an LLM
  2. 02Check device performance, battery, and display information
  3. 03Inspect UI structure and activity details

MCP support

As an MCP server, it exposes Android device control and information tools to clients over HTTP or stdio. An Android device or emulator connection is required.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"airi-android": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"USE_STDIO",
"-e",
"ADB_HOST",
"ghcr.io/proj-airi/airi-android:v0.3.4"
],
"env": {
"USE_STDIO": "<USE_STDIO>",
"ADB_HOST": "<ADB_HOST>"
}
}
}
}
Run commanddocker run -i --rm -e USE_STDIO -e ADB_HOST ghcr.io/proj-airi/airi-android:v0.3.4
Environment variables to set
USE_STDIO
ADB_HOST

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocighcr.io/proj-airi/airi-android:v0.3.4

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

アイリ Android

GitHub

A MCP server that allows airi all LLMs to control Android devices. This project is a child project of airi.

Features

Input Control
  • input_tap - Tap on the screen at given coordinates
  • input_swipe - Swipe from one coordinate to another
  • input_text - Input text on the device
  • input_keyevent - Send a key event to the device
  • input_press - Press the current key
  • input_roll - Roll the trackball
Device Information
  • wm_size - Get the physical screen size
  • wm_density - Get the display density
  • cpu_percent - Get CPU usage percentage
  • cpu_count - Get the number of CPU cores
  • battery_level - Get battery level
  • battery_stats - Get detailed battery statistics
UI & Activity
  • ui_get_hierarchy - Get UI hierarchy (XML)
  • utils_top_activity - Get the top activity
  • utils_top_activities - Get all top activities
  • utils_package_version - Get package version info
Device Management
  • device_connect - Connect to a device at specified host and port
  • device_reset - Reset device connection
  • shell_execute - Execute any shell command

Usage

Docker (Recommended)
docker run --rm -it -p 3000:3000 -e ADB_HOST=host.docker.internal ghcr.io/proj-airi/airi-android:v0.3.4
# or stdio mode
docker run --rm -i -e USE_STDIO=true -e ADB_HOST=host.docker.internal ghcr.io/proj-airi/airi-android:v0.3.4

For agents supporting MCP, you can use the following configuration:

// mcp.json
{
  "mcpServers": {
    // http mode
    "airi-android-http": {
      "url": "http://localhost:3000/mcp"
    },
    // stdio mode
    "airi-android-stdio": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "USE_STDIO=true",
        "-e",
        "ADB_HOST",
        "ghcr.io/proj-airi/airi-android:v0.3.4"
      ],
      "env": {
        "ADB_HOST": "host.docker.internal"
      }
    }
  }
}
Run Directly

Requires Bun to be installed.

# Install dependencies
bun install

# Start server (HTTP mode, port 3000)
bun run start

# Or use stdio mode
USE_STDIO=true bun run start

Development Setup

Prerequisites
  1. Install Bun
  2. Install Android Platform Tools
  3. Connect an Android device (via USB or adb connect for emulators)
Commands
# Install dependencies
bun install

# Run tests
bun test

# Start development server
bun run dev

# Build binary
bun run build

# Lint code
bun run lint

# Type check
bun run typecheck
Contributing

See AGENTS.md for code guidelines.

Environment Variables

VariableDescriptionDefault
USE_STDIOSet to true to use stdio transport modefalse
ADB_HOSTADB server host addresslocalhost

Tech Stack

  • Bun - JavaScript runtime
  • TypeScript - Type-safe JavaScript
  • MCP SDK - Model Context Protocol SDK
  • adbkit - ADB client library
  • Hono - Web framework
  • Zod - Schema validation

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.