dajarony

Android MCP Harness

Community dajarony
Updated

Servidor MCP local que deja a un modelo usar un Android real por semantica: sin coordenadas, sin shell, con evidencia verificada de cada accion.

Android MCP Harness

Arquitectura SUME + STDG activa: mapa global,registro de cambios yguí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 sinmezclar 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 guardauna 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.

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 otrovalor mediante ANDROID_UDID.

MCP local y campaña ECA

El arnés ya expone un servidor MCP local por stdio, sin abrir un puerto dered. 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 lacampañ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 conevidencia local y el protocolo stdio en un proceso separado.

MCP Server · Populars

MCP Server · New

    26zl

    cybersec-toolkit

    One command installs 670+ security tools on Linux & Termux. Its authorization-gated MCP server works with Claude Code, OpenCode, Codex, Gemini CLI, Ollama-backed agents and other MCP clients. Includes 870+ agent skills for CTF, pentesting, bug bounty, DFIR and red/blue teams—companion by default, autonomous when asked.

    Community 26zl
    weed33834

    🛡️ AgentSeed

    AgentSeed - anti-hallucination guardrails for AI coding agents: hybrid Skill + MCP plugin (Agent Plugins 1.0.0) that forces spec-driven development and verifies code before it is marked done.

    Community weed33834
    geolens-io

    GeoLens

    Self-hosted geospatial data catalog with semantic search (pgvector), OGC/STAC APIs, and map builder. Built on FastAPI, PostGIS, React, and MapLibre.

    Community geolens-io
    leonardosepulvedat

    MCP n8n Server

    Complete n8n API integration for Claude Desktop and Cursor - 100 workflow templates with intelligent matching

    Community leonardosepulvedat
    maximhq

    Bifrost AI Gateway

    The Fastest LLM Gateway with built in OTel observability and MCP gateway

    Community maximhq