Skip to main content
Glama
dajarony

android-mcp-harness

by dajarony

Android MCP Harness

Arquitectura SUME + STDG activa: mapa global, registro de cambios y guía de estructura.

El flujo ya no vive en un único script: entrada, contratos, sesión Appium, navegación, evidencia y salida están separados para que el futuro MCP escale sin mezclar responsabilidades.

Harness local para observar y controlar un emulador Android mediante Appium, UiAutomator2 y ADB. El objetivo inicial es demostrar la cadena completa:

Python → Appium → UiAutomator2 → ADB → Android Emulator

Estado actual

Fase 1: demo segura que abre Ajustes, localiza Apps, pulsa el elemento y guarda una captura en artifacts/.

No integra todavía agentes, Auralis, Trinidad ni Glas: serán clientes del MCP, no una ampliación de autoridad sobre Android.

Related MCP server: lazy-mobile-mcp

Preparación local

  1. Arrancar un emulador Android desde Android Studio.

  2. Crear el entorno Python e instalar el cliente:

    python -m venv .venv
    .\.venv\Scripts\python -m pip install -r requirements.txt
  3. En otra terminal, iniciar Appium:

    $env:JAVA_HOME = 'C:\Program Files\Eclipse Adoptium\jdk-17.0.17.10-hotspot'
    $env:ANDROID_HOME = 'C:\Users\gatak\AppData\Local\Android\Sdk'
    $env:Path = "$env:JAVA_HOME\bin;$env:ANDROID_HOME\platform-tools;$env:Path"
    .\node_modules\.bin\appium.cmd
  4. Ejecutar el demo:

    .\.venv\Scripts\python scripts\demo_settings.py

El script solo se conecta al emulador emulator-5554 salvo que se indique otro valor mediante ANDROID_UDID.

MCP local y campaña ECA

El arnés ya expone un servidor MCP local por stdio, sin abrir un puerto de red. Sus cuatro herramientas son emulator.get_status, ui.get_tree, screen.capture y settings.open_apps. Las tres primeras son observación; la última es la única navegación declarada: Ajustes → Apps.

Un cliente MCP, como Trinidad en una fase posterior, debe iniciar este comando:

.\.venv\Scripts\python -m entradas.mcp.server

Para comprobar el comportamiento con el AVD y Appium activos, ejecutar la campaña ECA real:

$env:ANDROID_MCP_RUN_EMULATOR = '1'
.\.venv\Scripts\python -m unittest tests.test_mcp_emulator_e2e -v

La campaña comprueba observación sin cambio de pantalla, navegación con evidencia local y el protocolo stdio en un proceso separado.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that enables AI assistants to build, test, and debug Android applications by interacting directly with the Android development environment. It provides tools for managing emulators, executing Gradle tasks, running ADB commands, and performing UI automation via accessibility trees.
    14
    55
    17
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Local MCP server for Android and iOS mobile automation and performance telemetry, enabling device control (screenshot, tap, swipe, input, app launch) and metric collection (CPU, memory, launch time) via ADB, simctl, and WebDriverAgent with SQLite session history.
    21
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for Appcircle mobile CI/CD platform.

  • MCP (Model Context Protocol) server for Appwrite

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dajarony/android-mcp-harness'

If you have feedback or need assistance with the MCP directory API, please join our Discord server