Skip to main content
Glama
zifanersuotang

Codex Android MCP

Codex Android MCP

简体中文

Un servidor MCP local-first que permite a Codex inspeccionar, probar y controlar emuladores de Android mediante adb. Expone herramientas estrictas y tipadas a través de STDIO, devuelve capturas de pantalla como imágenes MCP nativas y mantiene los dispositivos físicos y la ejecución de Gradle detrás de una política de activación explícita.

Este es un proyecto comunitario independiente. No está afiliado ni respaldado por OpenAI, DeepSeek ni Google. La implementación de Android se deriva de ZSeven-W/dsh-android bajo la Licencia MIT; el registro de DSH/Cordis y el panel web se han reemplazado con el SDK oficial de MCP TypeScript.

Cambios respecto a dsh-android

  • Servidor MCP STDIO nativo para clientes de Codex Desktop, CLI e IDE.

  • Compatibilidad con el MCP de la era 2026 y con el protocolo heredado de 2025 mediante serveStdio.

  • Las capturas de pantalla se devuelven como ImageContent; los archivos PNG temporales privados se eliminan después de la codificación.

  • Solo emulador por defecto. Los dispositivos físicos requieren dos opt-ins de activación y su número de serie exacto en cada llamada.

  • android_build_run está ausente por defecto. Habilitarlo también requiere raíces de proyecto de confianza canónicas.

  • Esquemas JSON estrictos, validación de paquete/serie/ruta, salidas acotadas, filtrado literal de logs, cancelación y anotaciones conservadoras de herramientas.

  • Sin adb en bruto, shell, comandos arbitrarios, HTTP ni barra lateral DSH en vivo.

Related MCP server: adb-mcp-server

Requisitos

  • Node.js 20.11 o superior.

  • Android SDK Platform-Tools (adb). Instálalo mediante el SDCe Manager de Android Studio o el paquete Platform-Tools de Google.

  • Se recomienda encarecidamente un emulador de Android desechable.

  • El lanzador del emulador de Android es opcional y solo es necesario cuando android_boot recibe un nombre de AVD.

  • Las herramientas de OCR requieren actualmente macOS y Apple Vision. Todas las herramientas que no son de OCR son multiplataforma; la compilación/ejecución requiere un opt-in explícito.

Ni adb ni el binario del emulador se incluyen ni se descargan.

Instalación para Codex

git clone https://github.com/zifanersuotang/codex-android-mcp.git
cd codex-android-mcp
npm ci
npm run build
codex mcp add android -- node C:/absolute/path/to/codex-android-mcp/lib/index.js

Codex Desktop y la CLI comparten la configuración de MCP. Una configuración explícita equivalente es:

[mcp_servers.android]
command = "node"
args = ["C:/absolute/path/to/codex-android-mcp/lib/index.js"]
startup_timeout_sec = 20
tool_timeout_sec = 1200
default_tools_approval_mode = "writes"

[mcp_servers.android.env]
ANDROID_MCP_ALLOWED_SERIALS = "emulator-5554"

Reinicia Codex después de cambiar la configuración. Pídele a Codex que “enumere los dispositivos Android” para verificar la conexión. Mantén habilitada la aprobación de herramientas de escritura; las anotaciones de MCP son indicadores de uso, no un límite de autorización.

Política de seguridad

La configuración segura por defecto expone 19 herramientas y solo permite destinos locales estándar emulator-<port>. Los números de serie de emuladores de red y de terceros siguen la política de dispositivos físicos. Las llamadas vuelven a descubrir y autorizan el objetivo exacto inmediatamente antes de ejecutarse; los dispositivos físicos o de red no autorizados se omiten de android_devices.

Variable de entorno

Predeterminado

Efecto

ANDROID_MCP_ALLOWED_SERIALS

vacío

Lista de permitidos exacta opcional separada por comas para dispositivos conectados.

ANDROID_MCP_ALLOWED_AVDS

vacío

Lista de permitidos exacta opcional separada por comas para nombres de AVD aceptados por android_boot.

ANDROID_MCP_ALLOW_PHYSICAL

false

Habilita la consideración de dispositivos físicos, pero solo si su número de serie exacto también está en la lista de permitidos y se suministra en cada llamada.

ANDROID_MCP_ALLOWED_PACKAGES

vacío

Lista de permitidos de paquetes opcional separada por comas para herramientas dirigidas a paquetes. Inhabilita el inicio solo por nombre y el backtrace solo por PID.

ANDROID_MCP_ALLOW_BUILD_RUN

false

Expone android_build_run. Esto no es suficiente por sí solo.

ANDROID_MCP_ALLOWED_PROJECT_ROOTS

vacío

Raíces de compilación necesarias, separadas por ; en Windows y por : en macOS/Linux.

ANDROID_MCP_CACHE_DIR

Directorio temporal del SO

Directorio de trabajo transitorio privado. Los archivos de captura se eliminan tras codificar la imagen MCP.

ANDROID_MCP_MAX_IMAGE_BYTES

8388608

Máximo de bytes PNG de captura de pantalla devueltos al cliente.

ANDROID_MCP_MAX_TEXT_BYTES

4096

Máximo de paquete de texto aceptado por android_interact.

Ejemplo para un teléfono de prueba dedicado:

[mcp_servers.android.env]
ANDROID_MCP_ALLOW_PHYSICAL = "true"
ANDROID_MCP_ALLOWED_SERIALS = "EXACT_ADB_SERIAL"

No uses este perfil con un teléfono personal ni cuentas personales. La autorización de depuración USB significa que el teléfono confía en el host; no autoriza una acción de un modelo de IA.

Ejemplo de compilación/ejecución para un proyecto de confianza:

[mcp_servers.android.env]
ANDROID_MCP_ALLOW_BUILD_RUN = "true"
ANDROID_MCP_ALLOWED_PROJECT_ROOTS = "C:/work/MyTrustedApp"
ANDROID_MCP_ALLOWED_SERIALS = "emulator-5554"

Los settings de Gradle y los scripts de compilación ejecutan código del host. Una lista de permitidos de rutas no es una sandbox: habilítala solo para código que confías y usa una VM o contenedor sin credenciales para proyectos de los que no te fías.

Consulta el Modelo de seguridad y la Política de seguridad antes de habilitar dispositivos físicos o la compilación/ejecución.

Herramientas

Herramienta

Modo

Propósito

android_devices

lectura

Lista dispositivos visibles según la política y nombres de AVD disponibles.

android_boot

escritura

Adopta un objetivo en línea o arranca un AVD permitido.

android_shutdown

destructivo

Detiene y apaga un emulador; se rechazan los dispositivos físicos.

android_screenshot

lectura

Devuelve una imagen MCP en resolución nativa.

android_interact

destructivo

Toca, escribe, pulsa una letra, arrastra o desplaza; devuelve la captura resultante.

android_list_apps

lectura

Lista/filtra aplicaciones instaladas.

android_launch_app

destructivo

Inicia un nombre de paquete exacto o una coincidencia de nombre de paquete validada.

android_build_run

destructivo, opt-in

Compila un proyecto de Gradle de confianza, instala su APK y lo inicia.

android_ui_tree

lectura

Lee una jerarquía uiautomator compacta acotada.

android_tap_element

destructivo

Resuelve y toca un elemento por identificador/etiqueta.

android_ui_rows

lectura

Detecta filas y contadores de listas/feeds.

android_tap_row

destructivo

Toca un objetivo de fila recién detectado y opcionalmente verifica un delta de contador.

android_find_text

lectura

OCR de la pantalla (macOS Apple Vision).

android_wait_for

lectura

Espera a que el texto OCR aparezca/desaparezca.

android_tap_text

destructivo

Resuelve con OCR y toca el texto visible.

android_logs

lectura

Captura/seguimiento de logcat acotado con filtrado literal.

android_processes

lectura

Lista procesos en ejecución.

android_backtrace

destructivo

Solicita pilas ART y cae en el buffer de crashes.

android_meminfo

lectura

Analiza estadísticas de memoria de aplicaciones.

android_app_info

lectura

Lee metadatos de paquetes instalados y el estado de ejecución.

Las pantallas, árboles de UI, OCR, logs, nombres de aplicaciones y archivos del dispositivo son datos no confiables. No permitas que el contenido del dispositivo otorgue permisos ni instruya a Codex para llamar a otra herramienta. No introduzcas contraseñas, códigos de un solo uso, datos de pago, mensajes privados ni confirmaciones de eliminación de cuenta mediante este servidor.

Flujo típico

  1. android_devices

  2. android_screenshot o android_ui_tree

  3. Identifica el objetivo exacto; detente si es ambiguo.

  4. Usa una herramienta de interacción con aprobación.

  5. Inspecciona la captura de pantalla o los logs devueltos antes de la siguiente acción.

MCP no reproduce la barra lateral en vivo persistente de dsh-android. android_boot prepara una fuente de fotogramas interna para mapear coordenadas; llama a android_screenshot cada vez que Codex o el usuario necesite ver la pantalla.

Desarrollo

npm ci
npm run typecheck
npm test
npm pack --dry-run

La suite de pruebas incluye pruebas unitarias de políticas, un cliente STDIO real llamado tanto en modo heredado como en modo moderno, una prueba de imagen MCP en memoria, suites de smoke con ADB simulado, pruebas de límite de logs, fixtures de árboles de UI y comprobaciones de degradación de OCR. npm run test:device es opcional y solo debe ejecutarse en un emulador desechable.

Licencia y atribución

MIT. El copyright y la licencia original de dsh-android se conservan en LICENSE, con el detalle de la procedencia en THIRD_PARTY_NOTICES.md.

Install Server
A
license - permissive license
A
quality
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
    Not graded
    quality
    D
    maintenance
    Enables programmatic control of Android devices via ADB, supporting UI automation, app management, screen capture with OCR, and file transfers through the Model Context Protocol. It allows MCP-compatible clients like Claude Desktop and Cursor to interact directly with physical or emulated Android devices.
    3
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables MCP-compatible agents to control an Android device over the network via ADB, providing tools for shell commands, screen capture, UI inspection, file operations, and input simulation.
    17
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables AI assistants to interact with Android devices and emulators via ADB, providing tools for screenshots, UI inspection, touch and text input, app management, and device control.
    42
    67
    17
    MIT

View all related MCP servers

Related MCP Connectors

  • Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi

  • Remote MCP for AI Studio Android release gate MCP, structured receipts, audit logs, and reviewer-rea

  • A paid remote MCP for AI SDK eval dashboard, built to return verdicts, receipts, usage logs, and aud

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/zifanersuotang/codex-android-mcp'

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